# SwarmForge Resources

## Knowledge

### Primary (source of truth)

- [GitHub: unclebob/swarm-forge](https://github.com/unclebob/swarm-forge)
  Official repo. Use for: all architecture claims; prefer reading files over blogs.
- Local clone: `/tmp/swarm-forge` (`main` — scripts + protocol + default constitution)
  Use for: launcher, daemon, handoff helpers, tests.
- Local pack archives: `/tmp/swarm-forge-packs/{two-pack,four-pack,six-pack}`
  Use for: `swarmforge.conf`, role prompts, pack-specific constitution, `./swarm` bootstrap.
- [README.md (main)](https://github.com/unclebob/swarm-forge/blob/main/README.md)
  Intent, branch model, config format, terminal adapters, high-level flow.
- [swarmforge/handoff-protocol.md](https://github.com/unclebob/swarm-forge/blob/main/swarmforge/handoff-protocol.md)
  Normative handoff design: directories, message types, daemon, task/batch queue rules.
- Shared constitution articles on `main`:
  - `swarmforge/constitution/articles/engineering.prompt`
  - `swarmforge/constitution/articles/handoffs.prompt`
  - `swarmforge/constitution/articles/workflow.prompt`
  Use for: the *behavioral* contract agents obey (discipline layer).
- Implementation entry points (local):
  - `swarmforge/scripts/swarmforge.bb` — startup, worktrees, tmux, agent launch
  - `swarmforge/scripts/handoffd.bb` — outbox → inbox + tmux wake-up
  - `swarmforge/scripts/swarm_handoff.bb` — outbound validation gate
  - `swarmforge/scripts/handoff_lib.bb` — shared handoff helpers
  - `swarmforge/scripts/ready_for_next*.bb` / `done_with_current*.bb` — inbox state machine
  - `swarmforge/scripts/terminal-adapters/*.sh` — terminal backend ports
  Use for: how the README claims are actually implemented.

### Related tooling SwarmForge points at (context only)

- [unclebob/Acceptance-Pipeline-Specification](https://github.com/unclebob/Acceptance-Pipeline-Specification)
  Gherkin acceptance pipeline used by four/six-pack discipline. Use for: what specifier/QA roles assume.
- Uncle Bob mutation/CRAP/DRY tools referenced in `engineering.prompt` (e.g. mutate4go, crap4go, dry4go and language variants)
  Use for: quality gates the roles invoke — not core orchestrator mechanics.

### Supporting platform docs

- [tmux man page / wiki](https://github.com/tmux/tmux/wiki)
  Sessions, sockets, `send-keys`. Use when rewriting the process layer.
- [Git worktree](https://git-scm.com/docs/git-worktree)
  How roles isolate branches under `.worktrees/`.
- [Babashka](https://book.babashka.org/)
  Current implementation language for daemon and helpers — useful when reading `.bb` files; not required for your rewrite.

## Wisdom (Communities)

- [GitHub Discussions / Issues on unclebob/swarm-forge](https://github.com/unclebob/swarm-forge/issues)
  Use for: protocol evolution, real-user failure modes (if active).
- Clean Code / craftsmanship communities around Uncle Bob’s work
  Use sparingly for philosophy; **protocol facts always win from the repo**.

## Gaps

- No third-party deep dive that replaces reading the repo (by design — stay primary-source).
- Runnable pack READMEs sometimes lag `main` (e.g. two-pack narrative). Prefer `main` README + pack files together.
- Migration target (Rust vs TS TUI) has no official guide — that design is *yours* after this track.
