@crafts69guy/orchestra 0.0.0-stage → 0.3.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.
@@ -0,0 +1,9 @@
1
+ # Dispatch on Claude Code
2
+
3
+ - Agent names carry the plugin prefix: `orch:implementer`, `orch:scoper`,
4
+ `orch:reviewer`, `orch:shipper`. The bare name is not found.
5
+ - Parallel spawn: several Agent tool calls in one assistant message.
6
+ - Do not set `isolation: "worktree"`; the worktree comes from `orch wt new`.
7
+ - Resume an agent with SendMessage to its id or name; it keeps its context.
8
+ - Plugin hooks see `agent_type` as `orch:<role>` and enforce: implementers
9
+ cannot commit or push; only the shipper pushes or opens PRs.
@@ -0,0 +1,12 @@
1
+ # Dispatch on Codex
2
+
3
+ - Agent names are bare: `implementer`, `scoper`, `reviewer`, `shipper`. They
4
+ are loaded from the plugin's `codex/agents/*.toml` by the `orch codex`
5
+ launcher (`-c agents.<name>.config_file=…`). An unknown name silently falls
6
+ back to the default agent, so confirm the role in its first reply.
7
+ - Spawn each task with `spawn_agent` (`agent_type`, no forked turns), all
8
+ before waiting, then `wait_agent` on every id.
9
+ - The sandbox must allow writing `<repo>/.git` (`--add-dir <repo>/.git`) or
10
+ `orch wt new` and commits fail. `orch codex` adds it.
11
+ - Hooks only run when the user trusted them, so restate "do not commit or
12
+ push" in every brief.
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: plan
3
+ description: "orch workflow: write .scratch/<feature>/plan.md, a task list with file ownership and dependencies that the dispatch skill can run in parallel waves. Use when work has 2+ separable parts."
4
+ ---
5
+
6
+ # Plan
7
+
8
+ Write `.scratch/<feature>/plan.md` in the repo root. Keep `.scratch/` out of git
9
+ (`.git/info/exclude`) unless the repo already tracks it.
10
+
11
+ ## Before writing
12
+
13
+ 1. Read the scoper brief if there is one; do not rescope.
14
+ 2. Decide every cross-cutting choice now (interfaces, names, libraries, error
15
+ handling). Workers run in parallel and cannot ask each other.
16
+
17
+ ## Format
18
+
19
+ ````markdown
20
+ # <feature>
21
+
22
+ Base branch: <F> # the branch the tasks merge into
23
+
24
+ ## Decisions
25
+
26
+ - <decision that every task must follow>
27
+
28
+ ## Tasks
29
+
30
+ ```yaml
31
+ - id: T1
32
+ goal: <one sentence, observable outcome>
33
+ files: [<paths this task owns>]
34
+ depends_on: []
35
+ validate: <command that proves this task works>
36
+ decisions: [<task-specific choices>]
37
+ ```
38
+ ````
39
+
40
+ ## Rules
41
+
42
+ - `files` is ownership. Two tasks with no dependency path between them must not
43
+ share a file. If they must, add a `depends_on` edge or merge the tasks.
44
+ - Shared files that everyone touches (lockfiles, barrel exports, registries) go
45
+ to one task that the others depend on.
46
+ - Each task is 1 implementer-sized unit: one edit-and-test loop, not a project.
47
+ - `validate` runs inside the task's own worktree and must not need other
48
+ unmerged tasks.
49
+ - Don't split one feature into many tiny tasks. Separate features stay separate
50
+ tasks, even when each one is small.
51
+
52
+ ## After writing
53
+
54
+ Show the user the task table (id, goal, depends_on) in a few lines. If 2+ tasks
55
+ are independent, continue with the `dispatch` skill; otherwise run implementers
56
+ one at a time.