# 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. ## Working conventions - **Ask when anything is unclear.** Do not assume the operator always knows exactly what they want; surfacing ambiguity beats guessing. - **Plan first.** Before implementing a build-order step or any nontrivial change, present a short implementation plan (scope, layout, API sketch, deferrals) and get operator sign-off. Code lands as a Gitea PR afterwards. - **Script repeated tasks.** If a job takes the same multiple commands more than once, save it as a shell script (e.g. in `~/bin`) instead of retyping it. - **Strongly prefer automated tests over manual testing.** Every new feature or bug fix includes at least one new test verifying its behavior.