claude-company 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/.claude/agents/architect.md +69 -0
  2. package/.claude/agents/auditor.md +44 -0
  3. package/.claude/agents/developer.md +86 -0
  4. package/.claude/agents/devops-engineer.md +38 -0
  5. package/.claude/agents/docs-librarian.md +36 -0
  6. package/.claude/agents/ideation-strategist.md +54 -0
  7. package/.claude/agents/product-manager.md +54 -0
  8. package/.claude/agents/qa-engineer.md +58 -0
  9. package/.claude/agents/security-reviewer.md +44 -0
  10. package/.claude/agents/tech-lead.md +80 -0
  11. package/.claude/hooks/_common.py +209 -0
  12. package/.claude/hooks/gate_stamp.py +77 -0
  13. package/.claude/hooks/gates_detect.py +387 -0
  14. package/.claude/hooks/guard_commit.py +123 -0
  15. package/.claude/hooks/guard_frozen.py +135 -0
  16. package/.claude/hooks/guard_spec.py +95 -0
  17. package/.claude/hooks/guard_tests.py +124 -0
  18. package/.claude/hooks/no_slop.py +134 -0
  19. package/.claude/hooks/session_start.py +63 -0
  20. package/.claude/hooks/stop_gate.py +59 -0
  21. package/.claude/settings.json +70 -0
  22. package/.claude/skills/autopilot/SKILL.md +65 -0
  23. package/.claude/skills/brainstorm/SKILL.md +61 -0
  24. package/.claude/skills/company-init/SKILL.md +51 -0
  25. package/.claude/skills/cr/SKILL.md +44 -0
  26. package/.claude/skills/feature/SKILL.md +42 -0
  27. package/.claude/skills/gates/SKILL.md +33 -0
  28. package/.claude/skills/onboard/SKILL.md +52 -0
  29. package/.claude/skills/orchestrator/SKILL.md +84 -0
  30. package/.claude/skills/standup/SKILL.md +38 -0
  31. package/.mcp.json +1 -0
  32. package/LICENSE +21 -0
  33. package/ORCHESTRATOR.md +191 -0
  34. package/README.md +236 -0
  35. package/bin/claude-company.js +112 -0
  36. package/company/EXTENDING.md +58 -0
  37. package/company/GATES.md +59 -0
  38. package/company/GIT.md +119 -0
  39. package/company/IDEATION.md +102 -0
  40. package/company/LOOPS.md +108 -0
  41. package/company/METHOD.md +151 -0
  42. package/company/frozen-surfaces.json +17 -0
  43. package/company/gates.config +5 -0
  44. package/company/run-gates.sh +158 -0
  45. package/company/state/DECISIONS.md +9 -0
  46. package/company/state/RESUME.md +28 -0
  47. package/company/state/STATUS.md +30 -0
  48. package/company/state/WORRIES.md +12 -0
  49. package/company/state/adherence.log +1 -0
  50. package/company/templates/BRIEF-TEMPLATE.md +69 -0
  51. package/company/templates/CR-TEMPLATE.md +28 -0
  52. package/company/templates/MODULE-TEMPLATE.md +23 -0
  53. package/company/templates/OPTIONS-TEMPLATE.md +42 -0
  54. package/company/templates/REPORT-TEMPLATE.md +35 -0
  55. package/company/templates/SPEC-TEMPLATE.md +69 -0
  56. package/docs/customizing.md +88 -0
  57. package/docs/getting-started.md +99 -0
  58. package/docs/how-it-works.md +153 -0
  59. package/install +4 -0
  60. package/install.sh +331 -0
  61. package/lib/install-tui.js +1600 -0
  62. package/package.json +47 -0
@@ -0,0 +1,28 @@
1
+ # RESUME / HANDOFF - read this first
2
+
3
+ _The restart point. Sessions die; work must not. The CEO updates this after
4
+ every spawn, merge, CR decision, and agent report. If a session died mid-flight,
5
+ check each worktree's git log before respawning - work may be complete on disk
6
+ without a report._
7
+
8
+ ## 1. Program state at handoff
9
+ (nothing yet)
10
+
11
+ ## 2. Next actions, in order
12
+ 1. (nothing queued)
13
+
14
+ ## 3. In flight
15
+ | Agent | Task | Worktree | Last known state |
16
+ |---|---|---|---|
17
+ | - | - | - | - |
18
+
19
+ ## 4. Facts every spawn prompt needs
20
+ _The shared-environment cheat sheet: dev commands, ports, seed/reset behavior,
21
+ auth quirks, hook rules. Fill during /company-init or /onboard._
22
+
23
+ - Gate suite: `bash company/run-gates.sh`
24
+ - Writing must stay hook-clean: straight quotes, ' - ', three dots.
25
+ - (project facts here)
26
+
27
+ ## 5. Done log (chronological, compressed)
28
+ - (empty)
@@ -0,0 +1,30 @@
1
+ # STATUS - the current-truth board
2
+
3
+ _Maintained by the CEO. Updated after every dispatch, merge, and CR decision._
4
+ _Red stays red until proven green. Never average a status._
5
+
6
+ _Last updated: (never) - session 0._
7
+
8
+ ## Active tasks
9
+
10
+ | Task | Class | Lead/Agent | State | Gates | Notes |
11
+ |---|---|---|---|---|---|
12
+ | - | - | - | - | - | - |
13
+
14
+ ## Wave position (programs only)
15
+
16
+ | Wave | Workstreams | State | Exit criteria status |
17
+ |---|---|---|---|
18
+ | - | - | - | - |
19
+
20
+ ## Open CRs
21
+
22
+ _Next free CR number: CR-1._
23
+
24
+ | CR | Surface | Status | Disposition |
25
+ |---|---|---|---|
26
+ | - | - | - | - |
27
+
28
+ ## Risks / decisions needed (owner-facing)
29
+
30
+ 1. (none)
@@ -0,0 +1,12 @@
1
+ # WORRIES - the ledger of the un-acted-on
2
+
3
+ _Things observed but not yet run down: integration traps, flake sources, spec
4
+ ambiguities, anything that produced a surprise or a false-green. One row per
5
+ worry, brutally terse. Add a row the moment you notice it. Read this at the
6
+ start of every integration or audit step. A row graduates OUT when it becomes a
7
+ filed CR, a STATUS risk, or a verified fix - delete it then. P0 blocks a
8
+ wave/merge; P3 is polish._
9
+
10
+ | P | Worry | What (one line) | CEO logic (one line) |
11
+ |---|---|---|---|
12
+ | - | - | - | - |
@@ -0,0 +1 @@
1
+ 2026-07-06T15:13:06Z | no_slop | BLOCK | tests/hooks/test_hooks.py | slop tells: 2
@@ -0,0 +1,69 @@
1
+ # BRIEF: <task-slug>
2
+
3
+ _Type: quick | feature | program-workstream. Spec: <link or "none (quick)">.
4
+ Lead: <tech-lead | direct-developer>. Date: YYYY-MM-DD._
5
+
6
+ > Schema, contracts, kernel, shared UI, and anything in
7
+ > `company/frozen-surfaces.json` are FROZEN - consume them exactly as shipped;
8
+ > any change goes through `company/change-requests/`, never a local edit.
9
+
10
+ A vague brief is the main cause of a bad agent run. The agent reads this plus
11
+ the project's `CLAUDE.md`, nothing of the CEO's context. Make it sealed and
12
+ self-contained.
13
+
14
+ ## Mission
15
+ One paragraph, in the user's terms, naming the observable outcome that means
16
+ success. Include the one hard constraint that must survive contact with reality.
17
+
18
+ ## Read first (in order)
19
+ 1. `CLAUDE.md` (project canon)
20
+ 2. `company/METHOD.md` (how the team works)
21
+ 3. <the specific module docs / source files to study - exact paths>
22
+
23
+ ## You own
24
+ - `<dir>/` ...
25
+ - `<dir>/` ...
26
+
27
+ Nothing else. Anything not listed is read-only to you. If the fix you need
28
+ lives outside these paths, report it; do not make it.
29
+
30
+ ## Invariants in play (must not break)
31
+ - <the specific project invariants this task brushes against>
32
+
33
+ ## Frozen surfaces nearby (CR, never edit)
34
+ - <which frozen surfaces this task sits close to, and what to do instead>
35
+
36
+ ## Scope (ordered)
37
+ 1. <concrete step, citing FR-XX-NN>
38
+ 2. ...
39
+
40
+ ## Integration seams
41
+ - <adjacent module/workstream>: you guarantee <X>; you may assume <Y>.
42
+ - For full-stack work: land the API side first; the UI consumes the merged shape.
43
+
44
+ ## Definition of Done
45
+ Universal DoD (every task) plus this task's specifics:
46
+ - [ ] Every FR in scope implemented, tested, or explicitly deferred with reason
47
+ - [ ] `bash company/run-gates.sh` green - run it yourself before reporting
48
+ - [ ] No edits outside owned directories; zero frozen surfaces patched locally
49
+ - [ ] UI work: screen driven live, four states captured (loaded/empty/error/after-action)
50
+ - [ ] Tests added for new behavior (tests are the oracle - never edited to pass)
51
+ - [ ] Commits follow `company/GIT.md`: conventional, `Task: <slug>` trailer,
52
+ explicit paths staged
53
+ - [ ] `MODULE.md` created/updated in each owned directory
54
+ - [ ] Report follows `company/templates/REPORT-TEMPLATE.md`
55
+ - [ ] <task-specific DoD lines>
56
+
57
+ ## Fallback assumptions
58
+ For every ambiguity, implement THIS stated assumption and tag the site - do not
59
+ guess, do not ask the user:
60
+ - OQ-XX-01: <question> -> FALLBACK: <decision>. Tag `// OQ-XX-01 assumption`.
61
+
62
+ ## Out of scope
63
+ Explicitly, so nobody "helpfully" expands:
64
+ - <thing> (owned by <other workstream / later phase>)
65
+
66
+ ## Report back
67
+ Your report must contain, as facts: what changed (paths), gate results (paste
68
+ the ladder), FR checklist, ownership diff summary, screenshots (UI), CRs filed,
69
+ deviations from this brief and why, worries for the CEO.
@@ -0,0 +1,28 @@
1
+ # CR-<n>: <slug>
2
+
3
+ _Requesting agent/task: <who>. Date: YYYY-MM-DD._
4
+ _Status: PROPOSED | APPROVED | REJECTED | APPLIED_
5
+
6
+ ## Frozen surface affected
7
+ <exact path / registry entry>
8
+
9
+ ## Why (cite the requirement)
10
+ <FR-XX-NN / BR-XX-NN / invariant>. A CR without a concrete citation is rejected
11
+ by default.
12
+
13
+ ## Exact proposed change
14
+ The precise diff or addition. No "something like".
15
+
16
+ ## Blast radius
17
+ Every module/workstream that reads or writes this surface; which agents must
18
+ rebase; which gates re-run.
19
+
20
+ ## Owner sign-off needed?
21
+ yes/no - yes when the surface is on the owner-escalation list (money,
22
+ invariants, determinism/versioning, prod schema).
23
+
24
+ ## Workaround if rejected
25
+ How the requesting task proceeds without this change.
26
+
27
+ ---
28
+ _CEO decision and remarks:_
@@ -0,0 +1,23 @@
1
+ # MODULE: <name>
2
+
3
+ _One page max. Copy into every directory you own, fill in BEFORE coding, keep
4
+ current. An agent landing here must be one file away from full context._
5
+
6
+ | What | Where |
7
+ |---|---|
8
+ | Spec | `company/specs/<spec>.md` |
9
+ | Brief | `company/briefs/brief-<slug>.md` |
10
+ | Contracts | <path to the contracts this module consumes/registers> |
11
+ | Owned routes/surfaces | <routes, jobs, exports> |
12
+ | Registrations | <manifest entries, guard keys, widgets this module registers> |
13
+
14
+ ## What lives here
15
+ - <2-5 bullets>
16
+
17
+ ## Seams
18
+ - Upstream: <what this module assumes from others>
19
+ - Downstream: <what others may assume from this module>
20
+
21
+ ## Changelog notes
22
+ - YYYY-MM-DD <one line per out-of-band fix someone else made here, so the
23
+ owning agent is not surprised next session>
@@ -0,0 +1,42 @@
1
+ # OPTIONS MEMO: <topic>
2
+
3
+ _Engagement: <slug>. Author: <role(s)>. Date: YYYY-MM-DD._
4
+ _Patterns used: <categories from company/IDEATION.md>._
5
+
6
+ Client-facing. One screen if possible. The client reads this to see the
7
+ option space and the reasoning - never to do process work.
8
+
9
+ ## The question
10
+ One sentence: what we are deciding.
11
+
12
+ ## Options
13
+
14
+ | # | Option | Reasoning (why it could win) | Production risks | Trade-offs |
15
+ |---|---|---|---|---|
16
+ | 1 | ... | ... | ... | ... |
17
+ | 2 | ... | ... | ... | ... |
18
+ | 3 | ... | ... | ... | ... |
19
+
20
+ (Full divergence - the 8-15 raw directions - lives in the appendix or the
21
+ linked working doc, not here. The memo carries the survivors.)
22
+
23
+ ## Scoring
24
+
25
+ Criteria (weighted where it matters): client value, production risk, cost to
26
+ build, cost to operate, reversibility.
27
+
28
+ | # | Value | Prod risk | Build cost | Op cost | Reversible | Verdict |
29
+ |---|---|---|---|---|---|---|
30
+
31
+ ## Recommendation
32
+
33
+ **Option <n>: <name>.** <2-4 sentences: why it wins, what it costs, the one
34
+ risk we will watch.>
35
+
36
+ **Strongest rejected option:** #<m> - <one sentence on why it lost>. If this
37
+ option keeps winning arguments during the build, we reopen this memo.
38
+
39
+ **Decisions that are yours:** <owner-escalation items surfaced by the
40
+ divergence, if any - money, business policy. Otherwise "none".>
41
+
42
+ > Proceeding on Option <n> unless you object. No action needed to approve.
@@ -0,0 +1,35 @@
1
+ # REPORT: <task-slug>
2
+
3
+ _Agent: <role>. Brief: `company/briefs/brief-<slug>.md`. Date: YYYY-MM-DD._
4
+
5
+ Reports contain facts, not adjectives. "Robust" and "comprehensive" are not
6
+ facts. Never describe unverified work as working.
7
+
8
+ ## What changed
9
+ - <path>: <one line>
10
+
11
+ ## Gate results (paste the ladder, do not summarize)
12
+ ```
13
+ <output of bash company/run-gates.sh>
14
+ ```
15
+
16
+ ## FR checklist
17
+ - FR-XX-01: implemented + tested (<test path>) | deferred because <reason>
18
+
19
+ ## Ownership
20
+ `git diff --stat <base>..HEAD` summary. Confirm: no paths outside the brief's
21
+ "You own" list. If any, say so plainly.
22
+
23
+ ## Evidence (UI tasks)
24
+ Screenshots: loaded / empty / error / after-action. Paths or embeds. You
25
+ capture; the lead and CEO judge.
26
+
27
+ ## CRs filed
28
+ - CR-<n>: <slug> - status
29
+
30
+ ## Deviations from the brief
31
+ What and why. An empty section means "none", written explicitly.
32
+
33
+ ## Worries for the CEO
34
+ Suspicions, near-misses, false-green risks - anything that belongs in
35
+ `company/state/WORRIES.md`.
@@ -0,0 +1,69 @@
1
+ # SPEC: <feature name>
2
+
3
+ _Type: feature | program-module. Author: product-manager. Date: YYYY-MM-DD._
4
+ _Status: DRAFT | SPEC-READY | SHIPPED (move to company/specs/shipped/ when shipped)._
5
+
6
+ The spec is rich and human-facing; it can be long. The builder agent NEVER
7
+ reads it - it reads the brief derived from it. Reference, do not embed.
8
+
9
+ ## Part 1 - Product requirements
10
+
11
+ ### Problem
12
+ What hurts, for whom, and what it costs today. No solutions here.
13
+
14
+ ### Goal and success metrics
15
+ The observable outcome that means this worked. Binary where possible.
16
+
17
+ ### Users and personas
18
+ Who touches this, with their permissions posture.
19
+
20
+ ### User stories and acceptance criteria
21
+ US-XX-1: As a <persona>, I can <action>, so that <value>.
22
+ - AC: given/when/then, concrete enough to test.
23
+
24
+ ### Functional requirements
25
+ Stable IDs. Every FR is later implemented, tested, or explicitly deferred - the
26
+ traceability gate checks these IDs against the PR.
27
+
28
+ - FR-XX-01: ...
29
+ - FR-XX-02: ...
30
+
31
+ ### Business rules and validations
32
+ - BR-XX-01: ... (server-side; client mirrors are UX only)
33
+
34
+ ### Scope
35
+ **In:** ...
36
+ **Out:** ... (be explicit - out-of-scope lines prevent helpful expansion)
37
+
38
+ ### UX notes
39
+ Flows, states (loading/empty/error/ready), microcopy intent.
40
+
41
+ ## Part 2 - Build readiness (the bridge from PRD to buildable)
42
+
43
+ If a line below cannot be filled, the spec is not ready. That is the point of
44
+ Phase 0: caught before any build tokens are spent.
45
+
46
+ - **Owned directories:** which dirs the build will create/modify, per workstream.
47
+ - **Invariants in play:** which project invariants this touches.
48
+ - **Frozen surfaces touched:** which, and the CR(s) needed before build.
49
+ - **Data model impact:** tables/columns/migrations, forward-only.
50
+ - **Contracts impact:** new enums/DTOs/transitions (additive? breaking?).
51
+ - **Open questions and chosen fallbacks:**
52
+ - OQ-XX-01: <question>. FALLBACK: <the single decided default every agent
53
+ implements, tagged `// OQ-XX-01 assumption` in code>. Owner answers later.
54
+ - **Verification plan:** how each FR will be proven (test, e2e slice, screenshot).
55
+
56
+ ## Spec-ready checklist (the Phase 0 gate)
57
+
58
+ - [ ] Every FR has a stable ID and at least one acceptance criterion
59
+ - [ ] Out-of-scope is explicit
60
+ - [ ] Every open question has a single decided fallback
61
+ - [ ] Owned directories are named and disjoint from other in-flight work
62
+ - [ ] Frozen-surface needs are identified and CRs filed
63
+ - [ ] Data/contract impact stated (or "none")
64
+ - [ ] Verification plan covers every FR
65
+
66
+ ## Part 3 - Brief handoff
67
+
68
+ Derive the brief(s) with `company/templates/BRIEF-TEMPLATE.md`. The brief links
69
+ this spec; it does not embed it.
@@ -0,0 +1,88 @@
1
+ # Customizing
2
+
3
+ Everything the company runs on is a plain file in your repo. This guide covers the changes people make most: gates, protected files, process depth, and the team itself. Edit, commit, done; no rebuild step exists.
4
+
5
+ | I want to... | Edit | Section |
6
+ |---|---|---|
7
+ | Add or change a test gate | `company/gates.config` | [Gates](#add-or-change-gates) |
8
+ | Protect a file from agent edits | `company/frozen-surfaces.json` | [Protect a file](#protect-freeze-a-file) |
9
+ | Give a request more or less process | say it, or `company/METHOD.md` | [Tune process](#tune-how-much-process-a-request-gets) |
10
+ | Change a role's instructions or model | `.claude/agents/<role>.md` | [Change the team](#change-the-team) |
11
+ | Undo a founding default | `company/frozen-surfaces.json`, `CLAUDE.md` | [Founding defaults](#adjust-the-founding-defaults) |
12
+ | Change the enforcement itself | `.claude/hooks/` | [Enforcement](#change-the-enforcement-itself) |
13
+
14
+ ## Add or change gates
15
+
16
+ Gates live in `company/gates.config`:
17
+
18
+ ```json
19
+ {
20
+ "gates": [
21
+ { "name": "lint", "command": "npm run lint", "blocking": true },
22
+ { "name": "tests", "command": "npm test", "blocking": true }
23
+ ]
24
+ }
25
+ ```
26
+
27
+ Rules that keep the ladder useful:
28
+
29
+ - Order cheap to expensive (lint before tests before build) so failures surface fast
30
+ - Every command must exit non-zero on failure, or the gate cannot block anything
31
+ - Add gates you intend to keep. There is no non-blocking mode, because a warnable gate becomes a skippable gate
32
+
33
+ To rebuild the config from your project automatically, run:
34
+
35
+ ```bash
36
+ python3 .claude/hooks/gates_detect.py --write
37
+ ```
38
+
39
+ It detects package scripts, pytest, Go, Cargo, and Makefiles, and only replaces placeholder entries; gates you wrote by hand are kept.
40
+
41
+ ## Protect (freeze) a file
42
+
43
+ Add an entry to `company/frozen-surfaces.json`:
44
+
45
+ ```json
46
+ {
47
+ "surfaces": [
48
+ { "pattern": "src/db/schema.*", "why": "single source of truth for data shapes", "change_via": "CR" }
49
+ ]
50
+ }
51
+ ```
52
+
53
+ Patterns match against the file path and its basename. From then on, every agent edit to a matching file is blocked, and the block message points the agent to the change-request process. Good candidates: schemas, shipped migrations, payment code, generated files, and anything with exactly one legitimate writer.
54
+
55
+ `.env` files, lockfiles, and the gate stamp are protected out of the box.
56
+
57
+ ## Tune how much process a request gets
58
+
59
+ The CEO sizes each request automatically: `ideation`, `quick`, `feature`, `program`, or `hotfix`. The sizing rules live in `company/METHOD.md` under "Ceremony scales with the task". Two useful overrides:
60
+
61
+ - Say the class in your request ("treat this as a quick fix") and the CEO will honor it
62
+ - For a production fire, say hotfix. Hooks log instead of block, and the process catches up afterward
63
+
64
+ If features in your project keep getting more ceremony than they deserve, edit the class table in `METHOD.md`; it is canon, and the agents follow it.
65
+
66
+ ## Change the team
67
+
68
+ Each role is one markdown file in `.claude/agents/`. The file's frontmatter sets the model and tool access; the body is the role's standing instructions.
69
+
70
+ - **Adjust a role**: edit its file. Keep instructions short and explain why a rule exists; agents follow reasons better than bare orders.
71
+ - **Add a role**: copy the closest existing file, rename it, and describe when it should be used in the `description` field. The CEO dispatches based on that description.
72
+ - **Change models**: every agent ships with `model: opus`. Your main session (the CEO) uses whatever model you run Claude Code with.
73
+
74
+ Two roles are load-bearing; change them carefully. `tech-lead` is the only agent allowed to spawn other agents, and `developer` carries the working rules every builder inherits.
75
+
76
+ ## Adjust the founding defaults
77
+
78
+ During self-onboarding the company freezes migration and schema files, wires detected gates, and records its choices for your veto. If it froze something you need fluid, remove the entry from `frozen-surfaces.json`. If it missed a convention your team cares about, add it to your project's `CLAUDE.md`; every agent reads that file first.
79
+
80
+ ## Change the enforcement itself
81
+
82
+ The hooks are readable Python in `.claude/hooks/`, wired in `.claude/settings.json`, with tests in `tests/hooks/`. If you change a hook, run the suite:
83
+
84
+ ```bash
85
+ bash tests/hooks/run_tests.sh
86
+ ```
87
+
88
+ One caution: the hooks are the part of the system that keeps the rest honest. Weakening them quietly turns every other promise in this repo back into hope.
@@ -0,0 +1,99 @@
1
+ # Getting started
2
+
3
+ This guide takes you from install to your first delivered feature. It works for a brand-new project or a codebase you already have. Allow ten minutes, most of it watching the company work.
4
+
5
+ ## Before you start
6
+
7
+ | You need | Used for |
8
+ |---|---|
9
+ | Claude Code v2.1.172+ | Nested agents (tech leads run their own teams) |
10
+ | Python 3.8+ and git | The enforcement hooks |
11
+ | Node.js with `npx` | Browser testing with screenshots (optional but recommended) |
12
+
13
+ ## Step 1: install
14
+
15
+ Install the CLI once, then install the company into your project:
16
+
17
+ ```bash
18
+ npm install -g claude-company
19
+ claude-company install /path/to/your/project
20
+ ```
21
+
22
+ `npx claude-company install .` does the same without a global install. If you prefer no npm at all, clone the repo and run `./claude-company/install /path/to/your/project` directly - same installer either way. Add `--yes` for a non-interactive run (CI, scripts).
23
+
24
+ The installer copies the team, the rules, and the process files into your project. It merges with what you already have: your existing Claude settings, MCP servers, and `CLAUDE.md` are extended, never replaced. Run it again after an update and it refreshes claude-company's own files while leaving your state alone.
25
+
26
+ After it finishes, your project has three new things:
27
+
28
+ | Path | What it is |
29
+ |---|---|
30
+ | `.claude/` | The agent team, the commands, and the enforcement hooks |
31
+ | `company/` | The process documents, templates, and state files |
32
+ | `ORCHESTRATOR.md` | The CEO's private runbook |
33
+
34
+ ## Step 2: start the company
35
+
36
+ Open your project in Claude Code and give the orchestrator your first request:
37
+
38
+ ```text
39
+ /orchestrator build me a REST API for tracking workouts, with user accounts
40
+ ```
41
+
42
+ You do not need to initialize anything first. The company notices it is new here and onboards itself:
43
+
44
+ ```mermaid
45
+ flowchart LR
46
+ A([first /orchestrator run]) --> B{company files<br>present?}
47
+ B -->|yes| E[resume from state files]
48
+ B -->|no| C[study the codebase<br>or found a new one<br>from your request]
49
+ C --> D[auto-detect test and lint<br>commands as gates<br>+ protect key files]
50
+ D --> E
51
+ E --> F([run your request])
52
+ ```
53
+
54
+ You can watch this happen; it reports what it found and what it wired.
55
+
56
+ ## Step 3: watch the pipeline
57
+
58
+ For a feature-sized request, expect this sequence:
59
+
60
+ 1. The CEO sizes the request and dispatches the product manager.
61
+ 2. The product manager explores 8 to 15 directions, then writes a spec with numbered, testable requirements. The spec records which options it considered and why the winner won.
62
+ 3. The CEO turns the spec into sealed work orders and spawns a tech lead.
63
+ 4. The tech lead runs its own team: developers building in parallel, then a QA engineer that clicks through the running app and captures screenshots of the loaded, empty, error, and after-action states.
64
+ 5. The CEO reruns the gates itself, checks the diffs stayed inside their assignments, reads the screenshots, merges, and reports to you.
65
+
66
+ Small requests skip most of this. A typo fix gets one developer and the gates, nothing more.
67
+
68
+ ## Step 4: read the delivery report
69
+
70
+ The company interrupts you for two things only:
71
+
72
+ | Interruption | What you get |
73
+ |---|---|
74
+ | Delivery | What shipped, the evidence (green gates, screenshots), what is next |
75
+ | Your decisions | Anything involving money, deploys, or business policy, batched in `company/state/DECISIONS.md` |
76
+
77
+ To check on things at any time:
78
+
79
+ ```text
80
+ /standup
81
+ ```
82
+
83
+ You get one screen: done, in flight, blocked, decisions you owe, and current gate status.
84
+
85
+ ## When something gets blocked
86
+
87
+ Sooner or later you will see a message like this:
88
+
89
+ ```text
90
+ BLOCKED: git commit requires green, fresh gates.
91
+ Fix: run `bash company/run-gates.sh` and repair any failure.
92
+ ```
93
+
94
+ This is the system working. The block message contains the fix, agents get the same messages, and most blocks resolve without you. For a production emergency, tell the orchestrator it is a hotfix: hooks then log instead of block, and the process catches up afterward.
95
+
96
+ ## Where to go next
97
+
98
+ - [How it works](how-it-works.md) explains the method: why briefs are sealed, why producers never grade their own work, and what the gates actually check
99
+ - [Customizing](customizing.md) covers adding gates, protecting files, and tuning process depth