Merge the three repositories into one monorepo
nisse-core's history becomes the repo root; the spec moves to docs/ at top level; nisse-dev and nisse-ops fold in as package directories, their seed histories (pointer files only) discarded. Pointer READMEs and CLAUDE.mds are rewritten for in-tree paths. Rationale: for a solo operator the three-repo split tripled admin surface (tokens, CI, webhooks, permissions, backups) and imposed a version-pinning contract on nisse-core, while the repo boundary was never a trust boundary — the VM is. The spec's Part H is updated in the next commit to record the decision. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
defa0a9214
commit
94aa51135f
7 files changed
+69
-10
No files matched your search
@@ -0,0 +1,9 @@
|
|||||||
|
# Nisse
|
||||||
|
|
||||||
|
Monorepo for two self-hosted AI agents (`nisse-dev`, `nisse-ops`) over a shared
|
||||||
|
library (`nisse-core`), one package per directory.
|
||||||
|
|
||||||
|
**Read the architecture before making design decisions.** The system-level
|
||||||
|
specification is `docs/Architecture-Build-Spec.md`. Requirements that look like
|
||||||
|
free choices — gating structure, state durability, LLM access paths, permission
|
||||||
|
policy — are usually settled there.
|
||||||
@@ -1,16 +1,22 @@
|
|||||||
# nisse-core
|
# Nisse
|
||||||
|
|
||||||
The shared library both Nisse agents sit on (Part A of the specification), and the
|
Two self-hosted AI agents sharing a common library, named for the Nordic farm
|
||||||
home of the system-level design documentation.
|
spirit that keeps the place running overnight and expects to be treated well in
|
||||||
|
return.
|
||||||
|
|
||||||
The library itself does not exist yet: it is extracted from `nisse-dev` once that
|
| Package | Role |
|
||||||
agent works, at step 10 of the build order. Until then this repository carries the
|
|---|---|
|
||||||
specification.
|
| [`nisse-core/`](nisse-core/) | Shared library both agents sit on (Part A) |
|
||||||
|
| [`nisse-dev/`](nisse-dev/) | Dev Agent — plans and implements software projects (Part B) |
|
||||||
|
| [`nisse-ops/`](nisse-ops/) | Sysadmin Agent — operates infrastructure (Part C) |
|
||||||
|
|
||||||
|
One repository, three packages. The library does not exist as code yet: it is
|
||||||
|
extracted from `nisse-dev` once that agent works (build-order step 10), as a
|
||||||
|
package split within this tree.
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
docs/Architecture-Build-Spec.md
|
The system-level specification lives at
|
||||||
|
[`docs/Architecture-Build-Spec.md`](docs/Architecture-Build-Spec.md). It covers the
|
||||||
Covers the shared library (Part A), the Dev Agent `nisse-dev` (Part B), the Sysadmin
|
shared library, both agents, the supporting services, the build order, and the
|
||||||
Agent `nisse-ops` (Part C), the supporting services, the build order, and the
|
|
||||||
remaining open decisions.
|
remaining open decisions.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# nisse-core
|
||||||
|
|
||||||
|
The shared library both Nisse agents sit on (Part A of the specification).
|
||||||
|
|
||||||
|
It does not exist as code yet: it is extracted from `nisse-dev` once that agent
|
||||||
|
works, at step 10 of the build order — a package split within this repository.
|
||||||
|
Until then this directory is a placeholder holding the seam the extraction will
|
||||||
|
land on.
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# nisse-dev
|
||||||
|
|
||||||
|
The Dev Agent (Part B of the Nisse system). A thin application over the shared
|
||||||
|
`nisse-core` package.
|
||||||
|
|
||||||
|
**Read the architecture before making design decisions here:**
|
||||||
|
`docs/Architecture-Build-Spec.md` at the repo root. Part B specifies this agent;
|
||||||
|
Part A specifies the library contracts it depends on. Requirements that look like
|
||||||
|
free choices in this package — gating structure, state durability, LLM access
|
||||||
|
paths — are usually settled there.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# nisse-dev
|
||||||
|
|
||||||
|
The Dev Agent: plans and implements software projects, produces Gitea PRs for human
|
||||||
|
review, and reacts to review comments and commits. A thin application over the
|
||||||
|
shared `nisse-core` library.
|
||||||
|
|
||||||
|
**Part B** of the specification at [`../docs/Architecture-Build-Spec.md`](../docs/Architecture-Build-Spec.md)
|
||||||
|
covers this agent; **Part A** covers the library it sits on.
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# nisse-ops
|
||||||
|
|
||||||
|
The Sysadmin Agent (Part C of the Nisse system). A thin application over the shared
|
||||||
|
`nisse-core` package.
|
||||||
|
|
||||||
|
**Read the architecture before making design decisions here:**
|
||||||
|
`docs/Architecture-Build-Spec.md` at the repo root. Part C specifies this agent;
|
||||||
|
Part A specifies the library contracts it depends on. Requirements that look like
|
||||||
|
free choices in this package — the permission policy engine, confirm-first gating,
|
||||||
|
secrets and SSO handling — are usually settled there.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# nisse-ops
|
||||||
|
|
||||||
|
The Sysadmin Agent: operates and maintains infrastructure, driven by Vikunja
|
||||||
|
tickets, gated on high-consequence actions. A thin application over the shared
|
||||||
|
`nisse-core` library. Built after the Dev Agent works.
|
||||||
|
|
||||||
|
**Part C** of the specification at [`../docs/Architecture-Build-Spec.md`](../docs/Architecture-Build-Spec.md)
|
||||||
|
covers this agent; **Part A** covers the library it sits on.
|
||||||
Reference in new issue
Block a user