dev-playbooks 2.5.0 → 3.0.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.
- package/CHANGELOG.md +19 -0
- package/README.md +9 -0
- package/bin/devbooks.js +84 -3
- package/package.json +1 -1
- package/scripts/dependency-audit.sh +97 -0
- package/skills/devbooks-docs-consistency/scripts/completeness-checker.sh +2 -2
- package/skills/devbooks-router/SKILL.md +2 -0
- package/skills/devbooks-router/references/routing-rules-and-templates.md +12 -1
- package/templates/claude-commands/devbooks/apply.md +27 -0
- package/templates/claude-commands/devbooks/archive.md +16 -0
- package/templates/claude-commands/devbooks/backport.md +16 -0
- package/templates/claude-commands/devbooks/bootstrap.md +16 -0
- package/templates/claude-commands/devbooks/c4.md +16 -0
- package/templates/claude-commands/devbooks/challenger.md +16 -0
- package/templates/claude-commands/devbooks/code.md +21 -0
- package/templates/claude-commands/devbooks/debate.md +27 -0
- package/templates/claude-commands/devbooks/delivery.md +22 -0
- package/templates/claude-commands/devbooks/design.md +23 -0
- package/templates/claude-commands/devbooks/entropy.md +16 -0
- package/templates/claude-commands/devbooks/federation.md +16 -0
- package/templates/claude-commands/devbooks/gardener.md +16 -0
- package/templates/claude-commands/devbooks/impact.md +16 -0
- package/templates/claude-commands/devbooks/index.md +22 -0
- package/templates/claude-commands/devbooks/judge.md +16 -0
- package/templates/claude-commands/devbooks/plan.md +16 -0
- package/templates/claude-commands/devbooks/proposal.md +23 -0
- package/templates/claude-commands/devbooks/quick.md +20 -0
- package/templates/claude-commands/devbooks/review.md +16 -0
- package/templates/claude-commands/devbooks/router.md +24 -0
- package/templates/claude-commands/devbooks/spec.md +16 -0
- package/templates/claude-commands/devbooks/start.md +22 -0
- package/templates/claude-commands/devbooks/test-review.md +16 -0
- package/templates/claude-commands/devbooks/test.md +23 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.0.0] - 2026-01-26
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **AI-native workflow and protocol updates**:
|
|
13
|
+
- Start/Router entrypoints and phase routing guidance
|
|
14
|
+
- Change package templates and protocol contracts (RUNBOOK, verification/compliance/rollback, Knife Plan, contract schemas)
|
|
15
|
+
- Quality gates and evidence structure (G0–G6, risk and audit requirements)
|
|
16
|
+
- Dependency audit script and release verification entrypoints
|
|
17
|
+
- Updated architecture/file-system views and workflow diagram template
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- **CLI entrypoints**:
|
|
22
|
+
- Add `start` and `router` commands for entry guidance (does not run AI)
|
|
23
|
+
- Help output links to templates and workflow docs
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
8
27
|
## [2.3.0] - 2026-01-25
|
|
9
28
|
|
|
10
29
|
### Added
|
package/README.md
CHANGED
|
@@ -21,6 +21,14 @@ This skill orchestrates the full development loop: Proposal -> Design -> Spec ->
|
|
|
21
21
|
|
|
22
22
|
**Best for**: new feature work, major refactors, teams new to DevBooks
|
|
23
23
|
|
|
24
|
+
If you're not sure which entrypoint to use, start with:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
/devbooks:start
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Start is the default entrypoint. It routes you to the shortest closed-loop next step.
|
|
31
|
+
|
|
24
32
|
---
|
|
25
33
|
|
|
26
34
|
## Positioning and Writing Conventions
|
|
@@ -108,6 +116,7 @@ dev-playbooks update
|
|
|
108
116
|
## Docs
|
|
109
117
|
|
|
110
118
|
- [DevBooks setup guide](docs/devbooks-setup-guide.md) - setup instructions
|
|
119
|
+
- [AI-native workflow](docs/ai-native-workflow.md) - workflow, roles, evidence
|
|
111
120
|
- [Recommended MCP](docs/Recommended-MCP.md) - MCP server recommendations
|
|
112
121
|
|
|
113
122
|
---
|
package/bin/devbooks.js
CHANGED
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
* dev-playbooks init [path] [options]
|
|
10
10
|
* dev-playbooks update [path] # Update CLI and configured tools
|
|
11
11
|
* dev-playbooks migrate --from <framework> [options]
|
|
12
|
+
* dev-playbooks start [options] # Entry guidance (does not run AI)
|
|
13
|
+
* dev-playbooks router [options] # Routing guidance (does not run AI)
|
|
12
14
|
*
|
|
13
15
|
* Options:
|
|
14
16
|
* --tools <tools> Non-interactive tool selection: all, none, or comma-separated list
|
|
@@ -33,6 +35,11 @@ const __dirname = path.dirname(__filename);
|
|
|
33
35
|
|
|
34
36
|
const CLI_COMMAND = 'dev-playbooks';
|
|
35
37
|
const XDG_CONFIG_HOME = process.env.XDG_CONFIG_HOME || path.join(os.homedir(), '.config');
|
|
38
|
+
const ENTRY_DOC = 'docs/ai-native-workflow.md';
|
|
39
|
+
const ENTRY_TEMPLATES = {
|
|
40
|
+
start: 'templates/claude-commands/devbooks/start.md',
|
|
41
|
+
router: 'templates/claude-commands/devbooks/router.md'
|
|
42
|
+
};
|
|
36
43
|
|
|
37
44
|
// Version check cache configuration
|
|
38
45
|
const VERSION_CACHE_FILE = path.join(os.tmpdir(), `${CLI_COMMAND}-version-cache.json`);
|
|
@@ -1800,6 +1807,48 @@ async function migrateCommand(projectDir, options) {
|
|
|
1800
1807
|
// Help Information
|
|
1801
1808
|
// ============================================================================
|
|
1802
1809
|
|
|
1810
|
+
function showStartHelp() {
|
|
1811
|
+
console.log();
|
|
1812
|
+
console.log(chalk.bold('DevBooks Start') + ' - default entry guidance');
|
|
1813
|
+
console.log();
|
|
1814
|
+
console.log(chalk.cyan('Usage:'));
|
|
1815
|
+
console.log(` ${CLI_COMMAND} start [options]`);
|
|
1816
|
+
console.log();
|
|
1817
|
+
console.log(chalk.cyan('Notes:'));
|
|
1818
|
+
console.log(' This command provides entry guidance only (it does not run AI or call Skills).');
|
|
1819
|
+
console.log(' If you are unsure what to do next, use Start to get routing guidance.');
|
|
1820
|
+
console.log();
|
|
1821
|
+
console.log(chalk.cyan('Entry template:'));
|
|
1822
|
+
console.log(` ${ENTRY_TEMPLATES.start}`);
|
|
1823
|
+
console.log();
|
|
1824
|
+
console.log(chalk.cyan('Workflow doc:'));
|
|
1825
|
+
console.log(` ${ENTRY_DOC}`);
|
|
1826
|
+
console.log();
|
|
1827
|
+
console.log(chalk.cyan('Related:'));
|
|
1828
|
+
console.log(` ${CLI_COMMAND} router --help`);
|
|
1829
|
+
}
|
|
1830
|
+
|
|
1831
|
+
function showRouterHelp() {
|
|
1832
|
+
console.log();
|
|
1833
|
+
console.log(chalk.bold('DevBooks Router') + ' - routing guidance');
|
|
1834
|
+
console.log();
|
|
1835
|
+
console.log(chalk.cyan('Usage:'));
|
|
1836
|
+
console.log(` ${CLI_COMMAND} router [options]`);
|
|
1837
|
+
console.log();
|
|
1838
|
+
console.log(chalk.cyan('Notes:'));
|
|
1839
|
+
console.log(' This command provides routing guidance only (it does not run AI or call Skills).');
|
|
1840
|
+
console.log(' Use Router when you need phase detection and shortest-path routing.');
|
|
1841
|
+
console.log();
|
|
1842
|
+
console.log(chalk.cyan('Entry template:'));
|
|
1843
|
+
console.log(` ${ENTRY_TEMPLATES.router}`);
|
|
1844
|
+
console.log();
|
|
1845
|
+
console.log(chalk.cyan('Workflow doc:'));
|
|
1846
|
+
console.log(` ${ENTRY_DOC}`);
|
|
1847
|
+
console.log();
|
|
1848
|
+
console.log(chalk.cyan('Related:'));
|
|
1849
|
+
console.log(` ${CLI_COMMAND} start --help`);
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1803
1852
|
function showHelp() {
|
|
1804
1853
|
console.log();
|
|
1805
1854
|
console.log(chalk.bold('DevBooks') + ' - AI-agnostic spec-driven development workflow');
|
|
@@ -1808,6 +1857,8 @@ function showHelp() {
|
|
|
1808
1857
|
console.log(` ${CLI_COMMAND} init [path] [options] Initialize DevBooks`);
|
|
1809
1858
|
console.log(` ${CLI_COMMAND} update [path] Update CLI and configured tools`);
|
|
1810
1859
|
console.log(` ${CLI_COMMAND} migrate --from <framework> [opts] Migrate from other frameworks`);
|
|
1860
|
+
console.log(` ${CLI_COMMAND} start [options] Entry guidance (does not run AI)`);
|
|
1861
|
+
console.log(` ${CLI_COMMAND} router [options] Routing guidance (does not run AI)`);
|
|
1811
1862
|
console.log();
|
|
1812
1863
|
console.log(chalk.cyan('Options:'));
|
|
1813
1864
|
console.log(' --tools <tools> Non-interactive AI tool selection');
|
|
@@ -1821,6 +1872,11 @@ function showHelp() {
|
|
|
1821
1872
|
console.log(' -h, --help Show this help message');
|
|
1822
1873
|
console.log(' -v, --version Show version');
|
|
1823
1874
|
console.log();
|
|
1875
|
+
console.log(chalk.cyan('Entry templates and docs:'));
|
|
1876
|
+
console.log(` Start template: ${ENTRY_TEMPLATES.start}`);
|
|
1877
|
+
console.log(` Router template: ${ENTRY_TEMPLATES.router}`);
|
|
1878
|
+
console.log(` Workflow doc: ${ENTRY_DOC}`);
|
|
1879
|
+
console.log();
|
|
1824
1880
|
console.log(chalk.cyan('Supported AI Tools:'));
|
|
1825
1881
|
|
|
1826
1882
|
// Group tools by Skills support level
|
|
@@ -1864,26 +1920,35 @@ function showHelp() {
|
|
|
1864
1920
|
console.log(` ${CLI_COMMAND} migrate --from openspec # Migrate from OpenSpec`);
|
|
1865
1921
|
console.log(` ${CLI_COMMAND} migrate --from speckit # Migrate from spec-kit`);
|
|
1866
1922
|
console.log(` ${CLI_COMMAND} migrate --from openspec --dry-run # Dry run migration`);
|
|
1923
|
+
console.log(` ${CLI_COMMAND} start # Show default entry guidance`);
|
|
1924
|
+
console.log(` ${CLI_COMMAND} router # Show routing guidance`);
|
|
1867
1925
|
}
|
|
1868
1926
|
|
|
1869
1927
|
// ============================================================================
|
|
1870
1928
|
// Main Entry
|
|
1871
1929
|
// ============================================================================
|
|
1872
1930
|
|
|
1931
|
+
async function startCommand() {
|
|
1932
|
+
showStartHelp();
|
|
1933
|
+
}
|
|
1934
|
+
|
|
1935
|
+
async function routerCommand() {
|
|
1936
|
+
showRouterHelp();
|
|
1937
|
+
}
|
|
1938
|
+
|
|
1873
1939
|
async function main() {
|
|
1874
1940
|
const args = process.argv.slice(2);
|
|
1875
1941
|
|
|
1876
1942
|
// Parse arguments
|
|
1877
1943
|
let command = null;
|
|
1878
1944
|
let projectPath = null;
|
|
1879
|
-
const options = {};
|
|
1945
|
+
const options = { help: false };
|
|
1880
1946
|
|
|
1881
1947
|
for (let i = 0; i < args.length; i++) {
|
|
1882
1948
|
const arg = args[i];
|
|
1883
1949
|
|
|
1884
1950
|
if (arg === '-h' || arg === '--help') {
|
|
1885
|
-
|
|
1886
|
-
process.exit(0);
|
|
1951
|
+
options.help = true;
|
|
1887
1952
|
} else if (arg === '-v' || arg === '--version') {
|
|
1888
1953
|
showVersion();
|
|
1889
1954
|
process.exit(0);
|
|
@@ -1913,12 +1978,28 @@ async function main() {
|
|
|
1913
1978
|
|
|
1914
1979
|
// 执行命令
|
|
1915
1980
|
try {
|
|
1981
|
+
if (options.help) {
|
|
1982
|
+
if (command === 'start') {
|
|
1983
|
+
showStartHelp();
|
|
1984
|
+
return;
|
|
1985
|
+
}
|
|
1986
|
+
if (command === 'router') {
|
|
1987
|
+
showRouterHelp();
|
|
1988
|
+
return;
|
|
1989
|
+
}
|
|
1990
|
+
showHelp();
|
|
1991
|
+
return;
|
|
1992
|
+
}
|
|
1916
1993
|
if (command === 'init' || !command) {
|
|
1917
1994
|
await initCommand(projectDir, options);
|
|
1918
1995
|
} else if (command === 'update') {
|
|
1919
1996
|
await updateCommand(projectDir);
|
|
1920
1997
|
} else if (command === 'migrate') {
|
|
1921
1998
|
await migrateCommand(projectDir, options);
|
|
1999
|
+
} else if (command === 'start') {
|
|
2000
|
+
await startCommand();
|
|
2001
|
+
} else if (command === 'router') {
|
|
2002
|
+
await routerCommand();
|
|
1922
2003
|
} else {
|
|
1923
2004
|
console.log(chalk.red(`未知命令: ${command}`));
|
|
1924
2005
|
showHelp();
|
package/package.json
CHANGED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
usage() {
|
|
5
|
+
cat <<'USAGE'
|
|
6
|
+
Usage: dependency-audit.sh [options]
|
|
7
|
+
|
|
8
|
+
Description:
|
|
9
|
+
Run a dependency audit and write a log for evidence review.
|
|
10
|
+
|
|
11
|
+
Options:
|
|
12
|
+
--project-root DIR Project root directory (default: current dir)
|
|
13
|
+
--output FILE Output log file path (default: dependency-audit.log)
|
|
14
|
+
-h, --help Show this help message
|
|
15
|
+
|
|
16
|
+
Examples:
|
|
17
|
+
dependency-audit.sh --output evidence/audit/dependency-audit.log
|
|
18
|
+
USAGE
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
project_root="$(pwd)"
|
|
22
|
+
output_file="dependency-audit.log"
|
|
23
|
+
|
|
24
|
+
while [[ $# -gt 0 ]]; do
|
|
25
|
+
case "$1" in
|
|
26
|
+
-h|--help)
|
|
27
|
+
usage
|
|
28
|
+
exit 0
|
|
29
|
+
;;
|
|
30
|
+
--project-root)
|
|
31
|
+
project_root="${2:-}"
|
|
32
|
+
shift 2
|
|
33
|
+
;;
|
|
34
|
+
--output)
|
|
35
|
+
output_file="${2:-}"
|
|
36
|
+
shift 2
|
|
37
|
+
;;
|
|
38
|
+
*)
|
|
39
|
+
echo "ERROR: unknown option: $1" >&2
|
|
40
|
+
usage >&2
|
|
41
|
+
exit 2
|
|
42
|
+
;;
|
|
43
|
+
esac
|
|
44
|
+
done
|
|
45
|
+
|
|
46
|
+
if [[ -z "$project_root" || -z "$output_file" ]]; then
|
|
47
|
+
echo "ERROR: project root and output file are required" >&2
|
|
48
|
+
exit 2
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
pkg_file="${project_root}/package.json"
|
|
52
|
+
lock_file="${project_root}/package-lock.json"
|
|
53
|
+
|
|
54
|
+
if [[ ! -f "$pkg_file" ]]; then
|
|
55
|
+
echo "ERROR: package.json not found at ${pkg_file}" >&2
|
|
56
|
+
exit 1
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
mkdir -p "$(dirname "$output_file")"
|
|
60
|
+
|
|
61
|
+
{
|
|
62
|
+
echo "Dependency Audit"
|
|
63
|
+
echo "run_at: $(date +%Y-%m-%dT%H:%M:%S%z)"
|
|
64
|
+
echo "project_root: ${project_root}"
|
|
65
|
+
echo "package.json: ${pkg_file}"
|
|
66
|
+
if [[ -f "$lock_file" ]]; then
|
|
67
|
+
echo "package-lock.json: ${lock_file}"
|
|
68
|
+
else
|
|
69
|
+
echo "package-lock.json: missing"
|
|
70
|
+
fi
|
|
71
|
+
echo ""
|
|
72
|
+
} >"$output_file"
|
|
73
|
+
|
|
74
|
+
status=0
|
|
75
|
+
|
|
76
|
+
if command -v npm >/dev/null 2>&1; then
|
|
77
|
+
temp_output="$(mktemp)"
|
|
78
|
+
if npm --prefix "$project_root" audit --json >"$temp_output" 2>/dev/null; then
|
|
79
|
+
echo "npm_audit: ok" >>"$output_file"
|
|
80
|
+
echo "summary: no audit errors" >>"$output_file"
|
|
81
|
+
else
|
|
82
|
+
status=1
|
|
83
|
+
echo "npm_audit: failed" >>"$output_file"
|
|
84
|
+
echo "summary: audit reported issues or failed" >>"$output_file"
|
|
85
|
+
fi
|
|
86
|
+
echo "" >>"$output_file"
|
|
87
|
+
echo "raw_audit_json:" >>"$output_file"
|
|
88
|
+
cat "$temp_output" >>"$output_file"
|
|
89
|
+
rm -f "$temp_output"
|
|
90
|
+
else
|
|
91
|
+
status=1
|
|
92
|
+
echo "npm_audit: skipped (npm not found)" >>"$output_file"
|
|
93
|
+
echo "summary: audit not executed" >>"$output_file"
|
|
94
|
+
fi
|
|
95
|
+
|
|
96
|
+
exit "$status"
|
|
97
|
+
|
|
@@ -58,9 +58,9 @@ report_line() {
|
|
|
58
58
|
local ok="$2"
|
|
59
59
|
local msg="$3"
|
|
60
60
|
if [[ "$ok" == "1" ]]; then
|
|
61
|
-
printf "- %s: ✓ %s\n" "$name" "$msg"
|
|
61
|
+
printf -- "- %s: ✓ %s\n" "$name" "$msg"
|
|
62
62
|
else
|
|
63
|
-
printf "- %s: ✗ %s\n" "$name" "$msg"
|
|
63
|
+
printf -- "- %s: ✗ %s\n" "$name" "$msg"
|
|
64
64
|
fi
|
|
65
65
|
}
|
|
66
66
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: devbooks-router
|
|
3
3
|
description: devbooks-router: DevBooks workflow entry guidance. Helps users determine which skill to start with, detects project current status, and provides shortest closed-loop path. Use when the user says "what's next/where to start/run DevBooks closed-loop/project status" etc. Note: Routing after skill completion is handled by each skill itself, no need to call router.
|
|
4
|
+
recommended_experts: ["System Architect", "Product Manager"]
|
|
4
5
|
allowed-tools:
|
|
5
6
|
- Glob
|
|
6
7
|
- Grep
|
|
@@ -30,6 +31,7 @@ Use when you need: prototype track, pre-archive checks, context-detection detail
|
|
|
30
31
|
- Run config discovery (prefer `.devbooks/config.yaml`) and read `agents_doc` before routing.
|
|
31
32
|
- Output 2 minimum key questions + 3-6 routing results (paths + rationale).
|
|
32
33
|
- If the user asks to "start producing files", switch to the target Skill's output mode.
|
|
34
|
+
- Start is the default entrypoint; use Router to output phase recommendations and shortest-path routing.
|
|
33
35
|
|
|
34
36
|
## References
|
|
35
37
|
|
|
@@ -35,6 +35,18 @@ Before routing, check whether structured code analysis is available (dependency/
|
|
|
35
35
|
|
|
36
36
|
3) If the user asks to “start producing file content”, switch to the target Skill’s output mode.
|
|
37
37
|
|
|
38
|
+
## Start entry rules (default entrypoint)
|
|
39
|
+
|
|
40
|
+
Start is the default entrypoint. When Start is triggered, follow these rules:
|
|
41
|
+
|
|
42
|
+
1) If `<change-id>` is unclear, ask for `<change-id>` and confirm `<truth-root>/<change-root>`.
|
|
43
|
+
2) If the change package state can be inferred (e.g. `pending/in_progress/review/completed`), recommend the next entrypoint:
|
|
44
|
+
- `pending` → `proposal`
|
|
45
|
+
- `in_progress` → `design/spec/plan` (recommend based on missing artifacts)
|
|
46
|
+
- `review` → `review`
|
|
47
|
+
- `completed` → `archive`
|
|
48
|
+
3) Keep the routing output to 3–6 items, each including Skill + path + rationale.
|
|
49
|
+
|
|
38
50
|
## Default routing rules
|
|
39
51
|
|
|
40
52
|
### A) Proposal phase
|
|
@@ -117,4 +129,3 @@ impact_profile:
|
|
|
117
129
|
Infer phase from existing artifacts:
|
|
118
130
|
- `proposal.md`, `design.md`, `tasks.md`, `verification.md`
|
|
119
131
|
- `evidence/green-final/`
|
|
120
|
-
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: multi-skill-combo
|
|
3
|
+
skills:
|
|
4
|
+
- devbooks-test-owner
|
|
5
|
+
- devbooks-coder
|
|
6
|
+
- devbooks-reviewer
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# DevBooks: Apply (backward compatible)
|
|
10
|
+
|
|
11
|
+
Runs the apply stage as a multi-skill combo: Test Owner → Coder → Reviewer.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
/devbooks:apply [args]
|
|
16
|
+
|
|
17
|
+
## Args
|
|
18
|
+
|
|
19
|
+
$ARGUMENTS
|
|
20
|
+
|
|
21
|
+
## Notes
|
|
22
|
+
|
|
23
|
+
This is a backward compatible command. Prefer direct commands when possible:
|
|
24
|
+
- `/devbooks:test` - acceptance tests
|
|
25
|
+
- `/devbooks:code` - implementation
|
|
26
|
+
- `/devbooks:review` - review
|
|
27
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: devbooks-brownfield-bootstrap
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevBooks: Bootstrap (Brownfield)
|
|
6
|
+
|
|
7
|
+
Use devbooks-brownfield-bootstrap to generate baseline specs and project profile for an existing codebase.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/devbooks:bootstrap [args]
|
|
12
|
+
|
|
13
|
+
## Args
|
|
14
|
+
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: devbooks-design-doc
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevBooks: C4 / Architecture Map
|
|
6
|
+
|
|
7
|
+
Use devbooks-design-doc to produce or update architecture impact (including C4 notes) for the change.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/devbooks:c4 [args]
|
|
12
|
+
|
|
13
|
+
## Args
|
|
14
|
+
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: devbooks-proposal-challenger
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevBooks: Challenger
|
|
6
|
+
|
|
7
|
+
Use devbooks-proposal-challenger to critique the proposal and surface risks, gaps, and missing acceptance criteria.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/devbooks:challenger [args]
|
|
12
|
+
|
|
13
|
+
## Args
|
|
14
|
+
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: devbooks-coder
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevBooks: Code
|
|
6
|
+
|
|
7
|
+
Use devbooks-coder to implement according to `tasks.md` and make the gates green.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/devbooks:code [args]
|
|
12
|
+
|
|
13
|
+
## Args
|
|
14
|
+
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
|
|
17
|
+
## Notes
|
|
18
|
+
|
|
19
|
+
- Follow `tasks.md` only.
|
|
20
|
+
- Must not modify `tests/**`.
|
|
21
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: multi-skill-combo
|
|
3
|
+
skills:
|
|
4
|
+
- devbooks-proposal-author
|
|
5
|
+
- devbooks-proposal-challenger
|
|
6
|
+
- devbooks-proposal-judge
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# DevBooks: Proposal Debate (backward compatible)
|
|
10
|
+
|
|
11
|
+
Runs the full proposal debate loop: Author → Challenger → Judge.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
/devbooks:debate [args]
|
|
16
|
+
|
|
17
|
+
## Args
|
|
18
|
+
|
|
19
|
+
$ARGUMENTS
|
|
20
|
+
|
|
21
|
+
## Notes
|
|
22
|
+
|
|
23
|
+
This is a backward compatible command that triggers a multi-skill combo. You can also use the direct commands:
|
|
24
|
+
- `/devbooks:proposal`
|
|
25
|
+
- `/devbooks:challenger`
|
|
26
|
+
- `/devbooks:judge`
|
|
27
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: devbooks-delivery-workflow
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevBooks: Delivery Workflow
|
|
6
|
+
|
|
7
|
+
Use devbooks-delivery-workflow to orchestrate the full loop end-to-end.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/devbooks:delivery [args]
|
|
12
|
+
|
|
13
|
+
## Args
|
|
14
|
+
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
|
|
17
|
+
## Notes
|
|
18
|
+
|
|
19
|
+
Orchestrates Proposal -> Design -> Spec -> Plan -> Test -> Implement -> Review -> Archive:
|
|
20
|
+
- Coordinates multi-role collaboration (when supported by the tool)
|
|
21
|
+
- Keeps the loop complete and verifiable
|
|
22
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: devbooks-design-doc
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevBooks: Design
|
|
6
|
+
|
|
7
|
+
Use devbooks-design-doc to produce the change package design doc (`design.md`).
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/devbooks:design [args]
|
|
12
|
+
|
|
13
|
+
## Args
|
|
14
|
+
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
|
|
17
|
+
## Notes
|
|
18
|
+
|
|
19
|
+
Write What/Constraints + AC-xxx only (no implementation steps):
|
|
20
|
+
- Define acceptance criteria
|
|
21
|
+
- State constraints
|
|
22
|
+
- Provide architecture impact (if applicable)
|
|
23
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: devbooks-router
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevBooks: Index
|
|
6
|
+
|
|
7
|
+
A quick index of common DevBooks commands.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/devbooks:index [args]
|
|
12
|
+
|
|
13
|
+
## Args
|
|
14
|
+
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
|
|
17
|
+
## Notes
|
|
18
|
+
|
|
19
|
+
- Default entrypoint: `/devbooks:start`
|
|
20
|
+
- Routing and phase detection: `/devbooks:router`
|
|
21
|
+
- Full loop orchestrator: `/devbooks:delivery`
|
|
22
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: devbooks-proposal-judge
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevBooks: Judge
|
|
6
|
+
|
|
7
|
+
Use devbooks-proposal-judge to decide Approved/Revise/Rejected and write the decision log into `proposal.md`.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/devbooks:judge [args]
|
|
12
|
+
|
|
13
|
+
## Args
|
|
14
|
+
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: devbooks-proposal-author
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevBooks: Proposal
|
|
6
|
+
|
|
7
|
+
Use devbooks-proposal-author to write a change proposal (`proposal.md`).
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/devbooks:proposal [args]
|
|
12
|
+
|
|
13
|
+
## Args
|
|
14
|
+
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
|
|
17
|
+
## Notes
|
|
18
|
+
|
|
19
|
+
This is the proposal entrypoint and produces `proposal.md` (Why/What/Impact + Debate Packet):
|
|
20
|
+
- Generates a compliant change-id
|
|
21
|
+
- Clarifies motivation and goals
|
|
22
|
+
- Presents options for design decisions when needed
|
|
23
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: devbooks-router
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevBooks: Quick (backward compatible)
|
|
6
|
+
|
|
7
|
+
Quick entry for small changes. Uses Router to pick the shortest path.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/devbooks:quick [args]
|
|
12
|
+
|
|
13
|
+
## Args
|
|
14
|
+
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
|
|
17
|
+
## Notes
|
|
18
|
+
|
|
19
|
+
If the change becomes non-trivial (multi-file or cross-module), use `/devbooks:router` to get a full plan.
|
|
20
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: devbooks-router
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevBooks: Router
|
|
6
|
+
|
|
7
|
+
Use Router to detect the current status and output the shortest closed-loop routing plan.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/devbooks:router [args]
|
|
12
|
+
|
|
13
|
+
## Args
|
|
14
|
+
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
|
|
17
|
+
## Notes
|
|
18
|
+
|
|
19
|
+
Router is the main entry guide for non-trivial changes (multi-file or cross-module):
|
|
20
|
+
- Detects the current phase based on existing artifacts
|
|
21
|
+
- Recommends the next Skill and the exact artifact paths
|
|
22
|
+
|
|
23
|
+
If you already know the specific Skill to run, use the direct command. If unsure, prefer `/devbooks:start`.
|
|
24
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: devbooks-router
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevBooks: Start
|
|
6
|
+
|
|
7
|
+
Start is the default entrypoint. It detects the current phase and routes to the shortest closed-loop next step.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/devbooks:start [args]
|
|
12
|
+
|
|
13
|
+
## Args
|
|
14
|
+
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
|
|
17
|
+
## Notes
|
|
18
|
+
|
|
19
|
+
- If you're unsure what to do next, start here.
|
|
20
|
+
- Router reads config mappings and existing artifacts to recommend the next Skill.
|
|
21
|
+
- If you already know the change-id, provide it to reduce questions.
|
|
22
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill: devbooks-test-owner
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevBooks: Test (Acceptance)
|
|
6
|
+
|
|
7
|
+
Use devbooks-test-owner to turn design/spec into executable acceptance tests and `verification.md`.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
/devbooks:test [args]
|
|
12
|
+
|
|
13
|
+
## Args
|
|
14
|
+
|
|
15
|
+
$ARGUMENTS
|
|
16
|
+
|
|
17
|
+
## Notes
|
|
18
|
+
|
|
19
|
+
As Test Owner:
|
|
20
|
+
- Work in a separate conversation from Coder
|
|
21
|
+
- Produce a Red baseline first
|
|
22
|
+
- Maintain the traceability matrix
|
|
23
|
+
|