@devshop/crew 0.9.0 → 0.9.1
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.
- package/CHANGELOG.md +7 -0
- package/package.json +1 -1
- package/skills/prep/SKILL.md +11 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [0.9.1](https://github.com/devshop-software/crew/compare/v0.9.0...v0.9.1) (2026-05-07)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **prep:** workspace-aware project-root resolution ([51b13c2](https://github.com/devshop-software/crew/commit/51b13c2d053e6435862f474e9cda339e5ff0da54))
|
|
7
|
+
|
|
1
8
|
# [0.9.0](https://github.com/devshop-software/crew/compare/v0.8.1...v0.9.0) (2026-05-07)
|
|
2
9
|
|
|
3
10
|
|
package/package.json
CHANGED
package/skills/prep/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prep
|
|
3
|
-
description: Interactive brief-writer. Produces a two-part `<FEATURE>-BRIEF.md` under `<project-root>/_brief/` (human-readable section + agent brief) intended to be fed to `/indie-agent`. Project root is auto-detected (bare-clone
|
|
3
|
+
description: Interactive brief-writer. Produces a two-part `<FEATURE>-BRIEF.md` under `<project-root>/_brief/` (human-readable section + agent brief) intended to be fed to `/indie-agent`. Project root is auto-detected: nearest ancestor whose `CLAUDE.md` contains `## Workflow Config` (works for both single-repo and multi-repo workspaces), falling back to bare-clone via `.bare/` or git toplevel if no workflow config is set yet. Reads project conventions from `CLAUDE.md` at runtime — contains no project-specific knowledge. Use when the user invokes /prep.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Prep
|
|
@@ -74,15 +74,20 @@ If an answer is vague, follow up once. Two rounds max — don't interrogate.
|
|
|
74
74
|
|
|
75
75
|
Briefs live in `<project-root>/_brief/<SLUG>-BRIEF.md`. Resolve the project root generically, in this order:
|
|
76
76
|
|
|
77
|
-
1. **
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
1. **Workflow Config anchor (preferred)** — walk up from CWD. The first ancestor whose `CLAUDE.md` contains a `## Workflow Config` heading is the project root. This works for both shapes:
|
|
78
|
+
- **Single-repo project** — the project-root `CLAUDE.md` has `## Workflow Config` (written by `/adjust`). Found at the project root.
|
|
79
|
+
- **Multi-repo workspace** — the workspace-root `CLAUDE.md` has `## Workflow Config`; sub-repo `CLAUDE.md` files (if any exist inside `<stack>/main/`) do not, since `/adjust` only writes workflow config at workspace root. Walking up from `backend/main/<wt>/` finds the workspace root, not the stack root.
|
|
80
|
+
2. **Bare-clone layout (fallback)** — if no `## Workflow Config` is found above, walk up looking for a `.bare/` subdirectory. The ancestor containing it is the project root. (Used when `/adjust` hasn't run yet but the bare-clone is set up.)
|
|
81
|
+
3. **Regular git repo (fallback)** — otherwise, run `git rev-parse --show-toplevel`. The result is the project root.
|
|
82
|
+
4. **Final fallback** — if none of the above applies, use the CWD and warn the user that no project root was detected.
|
|
83
|
+
|
|
84
|
+
In workspace mode, the resolved project root is the **workspace root** — the brief lives there, not inside any sub-repo. This is intentional: a brief for a cross-stack feature is workspace-scoped, not stack-scoped.
|
|
80
85
|
|
|
81
86
|
Create `<project-root>/_brief/` if it does not exist. Write the file there.
|
|
82
87
|
|
|
83
88
|
### Lifecycle — the brief is ephemeral
|
|
84
89
|
|
|
85
|
-
The brief lives at the **top layer** of the project
|
|
90
|
+
The brief lives at the **top layer** of the project — the bare-clone root in single-repo projects, or the workspace root in multi-repo workspaces — outside any tracked working copy. It is not committed and will be deleted once consumed. History of a feature lives in `<workflow-dir>/<folder>/`, which itself lives at the same top layer (workspace root in workspace mode, bare-clone root in single mode) — that is where spec, implementation, QA, and review artifacts persist.
|
|
86
91
|
|
|
87
92
|
Consequence for downstream skills: **ingest the brief's content, do not cite its path**. A `_workflow/.../01-spec.md` that references `../_brief/FOO-BRIEF.md` will break the first time someone cleans up `_brief/`. Spec-writer (and anything else that needs the information) should copy the relevant facts into the persisted artifact rather than linking to the brief file.
|
|
88
93
|
|
|
@@ -178,7 +183,7 @@ Briefs are ephemeral handoff artifacts and should not be committed.
|
|
|
178
183
|
1. Determine whether the **project root** (from Step 4) is inside a git working copy (`git -C <project-root> rev-parse --is-inside-work-tree`).
|
|
179
184
|
2. If yes, read the project root's `.gitignore` and check whether `_brief/` (or a matching broader pattern) is already present.
|
|
180
185
|
3. If not, append `_brief/` with a short comment explaining what it is.
|
|
181
|
-
4. If the project root is **not** inside a working copy (typical for a bare-clone root, which
|
|
186
|
+
4. If the project root is **not** inside a working copy (typical for a bare-clone root or a multi-repo workspace root, neither of which is itself a git repo), skip this step. The folder is outside any tracked tree, so gitignore is irrelevant. Note this to the user so they understand why no `.gitignore` was touched.
|
|
182
187
|
|
|
183
188
|
Never create a `.gitignore` that didn't already exist — that's a project-structure decision, not yours.
|
|
184
189
|
|