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:
dongarandClaude Fable 5 committed 2026-09-04 22:13:06 +00:00
1 parent defa0a9214
commit 94aa51135f
7 files changed
+69 -10

No files matched your search

+9
View File
@@ -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.
+16 -10
View File
@@ -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.
+8
View File
@@ -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.
+10
View File
@@ -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.
+8
View File
@@ -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.
+10
View File
@@ -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.
+8
View File
@@ -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.