specweave 0.6.8 → 0.7.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/.claude-plugin/README.md +1 -1
- package/CLAUDE.md +903 -99
- package/README.md +143 -207
- package/bin/specweave.js +67 -0
- package/dist/cli/commands/abandon.d.ts +13 -0
- package/dist/cli/commands/abandon.d.ts.map +1 -0
- package/dist/cli/commands/abandon.js +15 -0
- package/dist/cli/commands/abandon.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +90 -18
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/pause.d.ts +13 -0
- package/dist/cli/commands/pause.d.ts.map +1 -0
- package/dist/cli/commands/pause.js +15 -0
- package/dist/cli/commands/pause.js.map +1 -0
- package/dist/cli/commands/qa.d.ts +54 -0
- package/dist/cli/commands/qa.d.ts.map +1 -0
- package/dist/cli/commands/qa.js +98 -0
- package/dist/cli/commands/qa.js.map +1 -0
- package/dist/cli/commands/resume.d.ts +12 -0
- package/dist/cli/commands/resume.d.ts.map +1 -0
- package/dist/cli/commands/resume.js +14 -0
- package/dist/cli/commands/resume.js.map +1 -0
- package/dist/cli/commands/status.d.ts +12 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +23 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/ado.d.ts +57 -0
- package/dist/cli/helpers/issue-tracker/ado.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/ado.js +223 -0
- package/dist/cli/helpers/issue-tracker/ado.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/github.d.ts +65 -0
- package/dist/cli/helpers/issue-tracker/github.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/github.js +284 -0
- package/dist/cli/helpers/issue-tracker/github.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/index.d.ts +22 -0
- package/dist/cli/helpers/issue-tracker/index.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/index.js +270 -0
- package/dist/cli/helpers/issue-tracker/index.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/jira.d.ts +61 -0
- package/dist/cli/helpers/issue-tracker/jira.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/jira.js +265 -0
- package/dist/cli/helpers/issue-tracker/jira.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/types.d.ts +86 -0
- package/dist/cli/helpers/issue-tracker/types.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/types.js +16 -0
- package/dist/cli/helpers/issue-tracker/types.js.map +1 -0
- package/dist/cli/helpers/issue-tracker/utils.d.ts +103 -0
- package/dist/cli/helpers/issue-tracker/utils.d.ts.map +1 -0
- package/dist/cli/helpers/issue-tracker/utils.js +240 -0
- package/dist/cli/helpers/issue-tracker/utils.js.map +1 -0
- package/dist/core/increment/limits.d.ts +68 -0
- package/dist/core/increment/limits.d.ts.map +1 -0
- package/dist/core/increment/limits.js +224 -0
- package/dist/core/increment/limits.js.map +1 -0
- package/dist/core/increment/metadata-manager.d.ts +114 -0
- package/dist/core/increment/metadata-manager.d.ts.map +1 -0
- package/dist/core/increment/metadata-manager.js +320 -0
- package/dist/core/increment/metadata-manager.js.map +1 -0
- package/dist/core/increment/status-commands.d.ts +43 -0
- package/dist/core/increment/status-commands.d.ts.map +1 -0
- package/dist/core/increment/status-commands.js +277 -0
- package/dist/core/increment/status-commands.js.map +1 -0
- package/dist/core/plugin-detector.d.ts +1 -0
- package/dist/core/plugin-detector.d.ts.map +1 -1
- package/dist/core/plugin-detector.js +25 -0
- package/dist/core/plugin-detector.js.map +1 -1
- package/dist/core/qa/qa-runner.d.ts +16 -0
- package/dist/core/qa/qa-runner.d.ts.map +1 -0
- package/dist/core/qa/qa-runner.js +404 -0
- package/dist/core/qa/qa-runner.js.map +1 -0
- package/dist/core/qa/quality-gate-decider.d.ts +53 -0
- package/dist/core/qa/quality-gate-decider.d.ts.map +1 -0
- package/dist/core/qa/quality-gate-decider.js +268 -0
- package/dist/core/qa/quality-gate-decider.js.map +1 -0
- package/dist/core/qa/risk-calculator.d.ts +126 -0
- package/dist/core/qa/risk-calculator.d.ts.map +1 -0
- package/dist/core/qa/risk-calculator.js +247 -0
- package/dist/core/qa/risk-calculator.js.map +1 -0
- package/dist/core/qa/types.d.ts +315 -0
- package/dist/core/qa/types.d.ts.map +1 -0
- package/dist/core/qa/types.js +8 -0
- package/dist/core/qa/types.js.map +1 -0
- package/dist/core/types/config.d.ts +35 -0
- package/dist/core/types/config.d.ts.map +1 -1
- package/dist/core/types/config.js +16 -0
- package/dist/core/types/config.js.map +1 -1
- package/dist/core/types/increment-metadata.d.ts +120 -0
- package/dist/core/types/increment-metadata.d.ts.map +1 -0
- package/dist/core/types/increment-metadata.js +138 -0
- package/dist/core/types/increment-metadata.js.map +1 -0
- package/dist/hooks/lib/invoke-translator-skill.d.ts +60 -0
- package/dist/hooks/lib/invoke-translator-skill.d.ts.map +1 -0
- package/dist/hooks/lib/invoke-translator-skill.js +201 -0
- package/dist/hooks/lib/invoke-translator-skill.js.map +1 -0
- package/dist/hooks/lib/translate-file.d.ts +59 -0
- package/dist/hooks/lib/translate-file.d.ts.map +1 -0
- package/dist/hooks/lib/translate-file.js +350 -0
- package/dist/hooks/lib/translate-file.js.map +1 -0
- package/dist/locales/en/cli.json +3 -1
- package/dist/metrics/calculators/change-failure-rate.d.ts +22 -0
- package/dist/metrics/calculators/change-failure-rate.d.ts.map +1 -0
- package/dist/metrics/calculators/change-failure-rate.js +70 -0
- package/dist/metrics/calculators/change-failure-rate.js.map +1 -0
- package/dist/metrics/calculators/deployment-frequency.d.ts +20 -0
- package/dist/metrics/calculators/deployment-frequency.d.ts.map +1 -0
- package/dist/metrics/calculators/deployment-frequency.js +61 -0
- package/dist/metrics/calculators/deployment-frequency.js.map +1 -0
- package/dist/metrics/calculators/lead-time.d.ts +22 -0
- package/dist/metrics/calculators/lead-time.d.ts.map +1 -0
- package/dist/metrics/calculators/lead-time.js +82 -0
- package/dist/metrics/calculators/lead-time.js.map +1 -0
- package/dist/metrics/calculators/mttr.d.ts +21 -0
- package/dist/metrics/calculators/mttr.d.ts.map +1 -0
- package/dist/metrics/calculators/mttr.js +60 -0
- package/dist/metrics/calculators/mttr.js.map +1 -0
- package/dist/metrics/dora-calculator.d.ts +24 -0
- package/dist/metrics/dora-calculator.d.ts.map +1 -0
- package/dist/metrics/dora-calculator.js +104 -0
- package/dist/metrics/dora-calculator.js.map +1 -0
- package/dist/metrics/github-client.d.ts +51 -0
- package/dist/metrics/github-client.d.ts.map +1 -0
- package/dist/metrics/github-client.js +133 -0
- package/dist/metrics/github-client.js.map +1 -0
- package/dist/metrics/types.d.ts +112 -0
- package/dist/metrics/types.d.ts.map +1 -0
- package/dist/metrics/types.js +10 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/metrics/utils/percentile.d.ts +25 -0
- package/dist/metrics/utils/percentile.d.ts.map +1 -0
- package/dist/metrics/utils/percentile.js +46 -0
- package/dist/metrics/utils/percentile.js.map +1 -0
- package/dist/metrics/utils/tier-classifier.d.ts +61 -0
- package/dist/metrics/utils/tier-classifier.d.ts.map +1 -0
- package/dist/metrics/utils/tier-classifier.js +100 -0
- package/dist/metrics/utils/tier-classifier.js.map +1 -0
- package/dist/utils/auth-helpers.d.ts +58 -0
- package/dist/utils/auth-helpers.d.ts.map +1 -0
- package/dist/utils/auth-helpers.js +108 -0
- package/dist/utils/auth-helpers.js.map +1 -0
- package/dist/utils/env-file.d.ts +88 -0
- package/dist/utils/env-file.d.ts.map +1 -0
- package/dist/utils/env-file.js +180 -0
- package/dist/utils/env-file.js.map +1 -0
- package/dist/utils/plugin-detection.d.ts +50 -0
- package/dist/utils/plugin-detection.d.ts.map +1 -0
- package/dist/utils/plugin-detection.js +229 -0
- package/dist/utils/plugin-detection.js.map +1 -0
- package/dist/utils/secrets-loader.d.ts +88 -0
- package/dist/utils/secrets-loader.d.ts.map +1 -0
- package/dist/utils/secrets-loader.js +271 -0
- package/dist/utils/secrets-loader.js.map +1 -0
- package/dist/utils/translation.d.ts +187 -0
- package/dist/utils/translation.d.ts.map +1 -0
- package/dist/utils/translation.js +414 -0
- package/dist/utils/translation.js.map +1 -0
- package/package.json +28 -44
- package/plugins/specweave/.claude-plugin/plugin.json +3 -3
- package/plugins/specweave/agents/pm/AGENT.md +330 -54
- package/plugins/specweave/agents/test-aware-planner/AGENT.md +1035 -0
- package/plugins/specweave/agents/test-aware-planner/templates/README.md +118 -0
- package/plugins/specweave/agents/test-aware-planner/templates/task-non-testable.md.template +24 -0
- package/plugins/specweave/agents/test-aware-planner/templates/task-testable.md.template +53 -0
- package/plugins/specweave/agents/test-aware-planner/templates/tasks-frontmatter.md.template +11 -0
- package/plugins/specweave/commands/README.md +88 -163
- package/plugins/specweave/commands/specweave-abandon.md +314 -0
- package/plugins/specweave/commands/specweave-check-tests.md +546 -0
- package/plugins/specweave/commands/{do.md → specweave-do.md} +5 -7
- package/plugins/specweave/commands/{increment.md → specweave-increment.md} +231 -4
- package/plugins/specweave/commands/specweave-pause.md +189 -0
- package/plugins/specweave/commands/specweave-qa.md +245 -0
- package/plugins/specweave/commands/specweave-resume.md +216 -0
- package/plugins/specweave/commands/specweave-status.md +397 -0
- package/plugins/specweave/commands/specweave-sync-tasks.md +256 -0
- package/plugins/specweave/commands/{translate.md → specweave-translate.md} +3 -3
- package/plugins/specweave/commands/specweave-update-scope.md +351 -0
- package/plugins/specweave/commands/specweave.md +21 -21
- package/plugins/specweave/hooks/post-increment-planning.sh +335 -0
- package/plugins/specweave/hooks/post-task-completion.sh +141 -0
- package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
- package/plugins/specweave/skills/brownfield-analyzer/SKILL.md +9 -9
- package/plugins/specweave/skills/increment-planner/SKILL.md +400 -212
- package/plugins/specweave/skills/increment-quality-judge-v2/SKILL.md +499 -0
- package/plugins/specweave/skills/plugin-detector/SKILL.md +114 -1
- package/plugins/specweave/skills/project-kickstarter/SKILL.md +74 -1
- package/plugins/specweave/skills/{rfc-generator → spec-generator}/SKILL.md +22 -29
- package/plugins/specweave/skills/specweave-detector/SKILL.md +3 -3
- package/plugins/specweave/skills/specweave-framework/SKILL.md +2 -2
- package/plugins/specweave-ado/.claude-plugin/plugin.json +18 -4
- package/plugins/specweave-ado/agents/ado-manager/AGENT.md +426 -0
- package/plugins/specweave-ado/commands/close-workitem.md +52 -0
- package/plugins/specweave-ado/commands/create-workitem.md +53 -0
- package/plugins/specweave-ado/commands/status.md +53 -0
- package/plugins/specweave-ado/commands/sync.md +55 -0
- package/plugins/specweave-ado/lib/ado-client.ts +361 -0
- package/plugins/specweave-ado/reference/ado-specweave-mapping.md +552 -0
- package/plugins/specweave-ado/skills/ado-sync/SKILL.md +344 -193
- package/plugins/specweave-docs/skills/docusaurus/SKILL.md +73 -0
- package/plugins/specweave-github/agents/github-manager/AGENT.md +49 -0
- package/plugins/specweave-github/commands/{github-close-issue.md → close-issue.md} +1 -1
- package/plugins/specweave-github/commands/{github-create-issue.md → create-issue.md} +1 -1
- package/plugins/specweave-github/commands/{github-status.md → status.md} +1 -1
- package/plugins/specweave-github/commands/{github-sync-tasks.md → sync-tasks.md} +1 -1
- package/plugins/specweave-github/commands/{github-sync.md → sync.md} +1 -1
- package/plugins/specweave-github/reference/github-specweave-mapping.md +377 -0
- package/plugins/specweave-github/skills/github-sync/SKILL.md +11 -3
- package/plugins/specweave-infrastructure/commands/{specweave.monitor-setup.md → monitor-setup.md} +5 -0
- package/plugins/specweave-infrastructure/commands/{specweave.slo-implement.md → slo-implement.md} +5 -0
- package/plugins/specweave-jira/agents/jira-manager/AGENT.md +380 -0
- package/plugins/specweave-jira/commands/{specweave.sync-jira.md → sync.md} +1 -1
- package/plugins/specweave-jira/reference/jira-specweave-mapping.md +508 -0
- package/plugins/specweave-ml/commands/ml-deploy.md +1 -1
- package/plugins/specweave-ml/commands/ml-evaluate.md +1 -1
- package/plugins/specweave-ml/commands/ml-explain.md +1 -1
- package/plugins/specweave-ml/commands/{specweave.ml-pipeline.md → ml-pipeline.md} +5 -0
- package/src/templates/AGENTS.md.template +331 -31
- package/src/templates/CLAUDE.md.template +36 -21
- package/src/templates/COMPLETION-REPORT.template.md +128 -0
- package/src/templates/README.md.template +17 -16
- package/src/templates/docs/README.md +11 -9
- package/src/templates/docs/spec-template.md +229 -0
- package/plugins/specweave/commands/inc.md +0 -85
- package/plugins/specweave/commands/list-increments.md +0 -180
- package/src/adapters/README.md +0 -275
- package/src/adapters/adapter-base.ts +0 -182
- package/src/adapters/adapter-interface.ts +0 -166
- package/src/adapters/adapter-loader.ts +0 -256
- package/src/adapters/agents-md-generator.ts +0 -228
- package/src/adapters/claude/README.md +0 -233
- package/src/adapters/claude/adapter.ts +0 -468
- package/src/adapters/claude-md-generator.ts +0 -377
- package/src/adapters/codex/README.md +0 -105
- package/src/adapters/codex/adapter.ts +0 -333
- package/src/adapters/cursor/.cursor/context/docs-context.md +0 -62
- package/src/adapters/cursor/.cursor/context/increments-context.md +0 -71
- package/src/adapters/cursor/.cursor/context/strategy-context.md +0 -73
- package/src/adapters/cursor/.cursor/context/tests-context.md +0 -89
- package/src/adapters/cursor/README.md +0 -283
- package/src/adapters/cursor/adapter.ts +0 -451
- package/src/adapters/doc-generator.ts +0 -331
- package/src/adapters/gemini/README.md +0 -97
- package/src/adapters/gemini/adapter.ts +0 -298
- package/src/adapters/generic/README.md +0 -277
- package/src/adapters/generic/adapter.ts +0 -378
- package/src/adapters/registry.yaml +0 -187
- /package/plugins/specweave/commands/{costs.md → specweave-costs.md} +0 -0
- /package/plugins/specweave/commands/{done.md → specweave-done.md} +0 -0
- /package/plugins/specweave/commands/{next.md → specweave-next.md} +0 -0
- /package/plugins/specweave/commands/{progress.md → specweave-progress.md} +0 -0
- /package/plugins/specweave/commands/{sync-docs.md → specweave-sync-docs.md} +0 -0
- /package/plugins/specweave/commands/{tdd-cycle.md → specweave-tdd-cycle.md} +0 -0
- /package/plugins/specweave/commands/{tdd-green.md → specweave-tdd-green.md} +0 -0
- /package/plugins/specweave/commands/{tdd-red.md → specweave-tdd-red.md} +0 -0
- /package/plugins/specweave/commands/{tdd-refactor.md → specweave-tdd-refactor.md} +0 -0
- /package/plugins/specweave/commands/{validate.md → specweave-validate.md} +0 -0
|
@@ -1,333 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Codex Adapter (OpenAI)
|
|
3
|
-
*
|
|
4
|
-
* Semi-automation adapter for OpenAI Codex (ChatGPT Code Interpreter/Codex CLI).
|
|
5
|
-
* Uses universal AGENTS.md file for instructions.
|
|
6
|
-
*
|
|
7
|
-
* Codex features:
|
|
8
|
-
* - Works in CLI, IDE, web, GitHub, iOS app
|
|
9
|
-
* - GPT-5-Codex optimized for engineering tasks
|
|
10
|
-
* - File read/write operations
|
|
11
|
-
* - Test execution and validation
|
|
12
|
-
* - Task-based isolated environments
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
import * as path from 'path';
|
|
16
|
-
import fs from 'fs-extra';
|
|
17
|
-
import { AdapterBase } from '../adapter-base.js';
|
|
18
|
-
import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
|
|
19
|
-
import { AgentsMdGenerator } from '../agents-md-generator.js';
|
|
20
|
-
import { getDirname } from '../../utils/esm-helpers.js';
|
|
21
|
-
|
|
22
|
-
const __dirname = getDirname(import.meta.url);
|
|
23
|
-
|
|
24
|
-
export class CodexAdapter extends AdapterBase {
|
|
25
|
-
name = 'codex';
|
|
26
|
-
description = 'OpenAI Codex adapter - Semi-automation with AGENTS.md and task-based execution';
|
|
27
|
-
automationLevel = 'semi' as const;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Detect if Codex is available
|
|
31
|
-
*
|
|
32
|
-
* Checks for:
|
|
33
|
-
* - codex command in PATH (Codex CLI)
|
|
34
|
-
* - .codex/ directory exists
|
|
35
|
-
* - AGENTS.md file exists (previously configured)
|
|
36
|
-
*/
|
|
37
|
-
async detect(): Promise<boolean> {
|
|
38
|
-
const hasCodexCLI = await this.commandExists('codex');
|
|
39
|
-
const hasCodexDir = await this.fileExists('.codex');
|
|
40
|
-
const hasAgentsMd = await this.fileExists('AGENTS.md');
|
|
41
|
-
|
|
42
|
-
return hasCodexCLI || hasCodexDir || hasAgentsMd;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Get files to install for Codex adapter
|
|
47
|
-
*/
|
|
48
|
-
getFiles(): AdapterFile[] {
|
|
49
|
-
return [
|
|
50
|
-
{
|
|
51
|
-
sourcePath: 'AGENTS.md',
|
|
52
|
-
targetPath: 'AGENTS.md',
|
|
53
|
-
description: 'Universal SpecWeave instructions (works with all AI tools)'
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
sourcePath: 'README.md',
|
|
57
|
-
targetPath: '.codex/README.md',
|
|
58
|
-
description: 'Codex adapter documentation'
|
|
59
|
-
}
|
|
60
|
-
];
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Install Codex adapter
|
|
65
|
-
*/
|
|
66
|
-
async install(options: AdapterOptions): Promise<void> {
|
|
67
|
-
console.log('\n📦 Installing OpenAI Codex Adapter (Semi-Automation)\n');
|
|
68
|
-
|
|
69
|
-
// Ensure .codex directory exists
|
|
70
|
-
const codexDir = path.join(options.projectPath, '.codex');
|
|
71
|
-
await fs.ensureDir(codexDir);
|
|
72
|
-
|
|
73
|
-
// Generate AGENTS.md
|
|
74
|
-
const agentsMdPath = path.join(options.projectPath, 'AGENTS.md');
|
|
75
|
-
await this.generateAgentsMd(agentsMdPath, options);
|
|
76
|
-
|
|
77
|
-
// Copy README
|
|
78
|
-
const readmePath = path.join(__dirname, 'README.md');
|
|
79
|
-
if (await fs.pathExists(readmePath)) {
|
|
80
|
-
await fs.copy(readmePath, path.join(codexDir, 'README.md'));
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
console.log('\n✨ Codex adapter installed!');
|
|
84
|
-
console.log('\n📋 Files created:');
|
|
85
|
-
console.log(' - AGENTS.md (universal instructions)');
|
|
86
|
-
console.log(' - .codex/README.md (adapter documentation)');
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Generate AGENTS.md file
|
|
91
|
-
*/
|
|
92
|
-
private async generateAgentsMd(targetPath: string, options: AdapterOptions): Promise<void> {
|
|
93
|
-
const generator = new AgentsMdGenerator(
|
|
94
|
-
path.join(__dirname, '../../skills'),
|
|
95
|
-
path.join(__dirname, '../../agents'),
|
|
96
|
-
path.join(__dirname, '../../commands')
|
|
97
|
-
);
|
|
98
|
-
|
|
99
|
-
const content = await generator.generate({
|
|
100
|
-
projectName: options.projectName,
|
|
101
|
-
projectPath: options.projectPath
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
await fs.writeFile(targetPath, content);
|
|
105
|
-
console.log(' ✅ AGENTS.md - Universal SpecWeave instructions');
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Post-installation instructions
|
|
110
|
-
*/
|
|
111
|
-
async postInstall(options: AdapterOptions): Promise<void> {
|
|
112
|
-
console.log(this.getInstructions());
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Get usage instructions for Codex adapter
|
|
117
|
-
*/
|
|
118
|
-
getInstructions(): string {
|
|
119
|
-
return `
|
|
120
|
-
================================================================
|
|
121
|
-
OpenAI Codex Adapter - Semi-Automation
|
|
122
|
-
================================================================
|
|
123
|
-
|
|
124
|
-
Your project is now configured for OpenAI Codex with SEMI-automation!
|
|
125
|
-
|
|
126
|
-
WHAT THIS PROVIDES:
|
|
127
|
-
|
|
128
|
-
- AGENTS.md (Universal Instructions)
|
|
129
|
-
- Works with Codex CLI, ChatGPT web, and IDEs
|
|
130
|
-
- Auto-generated from actual skills/agents
|
|
131
|
-
- SpecWeave structure and workflows
|
|
132
|
-
- GPT-5-Codex optimized guidance
|
|
133
|
-
|
|
134
|
-
- Task-Based Execution
|
|
135
|
-
- Isolated environments per task
|
|
136
|
-
- File read/write operations
|
|
137
|
-
- Test execution and validation
|
|
138
|
-
|
|
139
|
-
QUICK START:
|
|
140
|
-
|
|
141
|
-
**Option 1: Codex CLI** (Fastest)
|
|
142
|
-
|
|
143
|
-
1. Install Codex CLI:
|
|
144
|
-
|
|
145
|
-
# Included with ChatGPT Plus, Pro, Business, Enterprise
|
|
146
|
-
npm install -g openai-codex-cli
|
|
147
|
-
|
|
148
|
-
2. Create your first feature:
|
|
149
|
-
|
|
150
|
-
codex "Read AGENTS.md and create increment for user authentication"
|
|
151
|
-
|
|
152
|
-
Codex will:
|
|
153
|
-
- Read AGENTS.md for SpecWeave context
|
|
154
|
-
- Adopt PM role: Create spec.md (WHAT/WHY)
|
|
155
|
-
- Adopt Architect role: Create plan.md (HOW)
|
|
156
|
-
- Create tasks.md
|
|
157
|
-
- Execute in isolated environment
|
|
158
|
-
|
|
159
|
-
**Option 2: ChatGPT Web** (Most Accessible)
|
|
160
|
-
|
|
161
|
-
1. Open ChatGPT (Plus/Pro/Business/Enterprise)
|
|
162
|
-
|
|
163
|
-
2. Upload AGENTS.md file
|
|
164
|
-
|
|
165
|
-
3. Say:
|
|
166
|
-
"I'm using SpecWeave framework. Create increment for user authentication."
|
|
167
|
-
|
|
168
|
-
4. Copy generated content to files:
|
|
169
|
-
- spec.md
|
|
170
|
-
- plan.md
|
|
171
|
-
- tasks.md
|
|
172
|
-
|
|
173
|
-
**Option 3: IDE Integration** (If available in your IDE)
|
|
174
|
-
|
|
175
|
-
Use Codex integration in your IDE (VS Code, JetBrains, etc.)
|
|
176
|
-
Reference AGENTS.md for SpecWeave structure.
|
|
177
|
-
|
|
178
|
-
HOW TO USE:
|
|
179
|
-
|
|
180
|
-
**With Codex CLI**:
|
|
181
|
-
\`\`\`bash
|
|
182
|
-
# Explicit reference (recommended):
|
|
183
|
-
codex "Read AGENTS.md and [your request]"
|
|
184
|
-
|
|
185
|
-
# Natural language:
|
|
186
|
-
codex "Create a new feature following SpecWeave structure"
|
|
187
|
-
|
|
188
|
-
# With context:
|
|
189
|
-
codex "Following the PM role in AGENTS.md, create requirements for payments"
|
|
190
|
-
\`\`\`
|
|
191
|
-
|
|
192
|
-
**With ChatGPT Web**:
|
|
193
|
-
1. Upload AGENTS.md at start of conversation
|
|
194
|
-
2. Reference it: "Following AGENTS.md, create increment for..."
|
|
195
|
-
3. Download or copy-paste generated files
|
|
196
|
-
|
|
197
|
-
CONTEXT LOADING (70%+ Token Savings):
|
|
198
|
-
|
|
199
|
-
CRITICAL: Tell Codex to read context-manifest.yaml first!
|
|
200
|
-
|
|
201
|
-
\`\`\`bash
|
|
202
|
-
# CLI:
|
|
203
|
-
codex "Read context-manifest.yaml from increment 0001, load only those files, then implement task T001"
|
|
204
|
-
|
|
205
|
-
# Web:
|
|
206
|
-
# 1. Upload context-manifest.yaml
|
|
207
|
-
# 2. Upload only files listed in manifest
|
|
208
|
-
# 3. Request task implementation
|
|
209
|
-
\`\`\`
|
|
210
|
-
|
|
211
|
-
FEATURES:
|
|
212
|
-
|
|
213
|
-
✅ GPT-5-Codex Model
|
|
214
|
-
- Optimized for engineering tasks
|
|
215
|
-
- Trained on complex, real-world projects
|
|
216
|
-
- Code generation, debugging, refactoring
|
|
217
|
-
|
|
218
|
-
✅ Task-Based Execution
|
|
219
|
-
- Each task in isolated environment
|
|
220
|
-
- Real-time progress monitoring
|
|
221
|
-
- Verifiable evidence (citations, logs)
|
|
222
|
-
|
|
223
|
-
✅ File Operations
|
|
224
|
-
- Read and edit files
|
|
225
|
-
- Run commands (tests, linters, type checkers)
|
|
226
|
-
- Create new files and directories
|
|
227
|
-
|
|
228
|
-
✅ Multiple Access Points
|
|
229
|
-
- CLI (fastest)
|
|
230
|
-
- Web (most accessible)
|
|
231
|
-
- IDE (most integrated)
|
|
232
|
-
- GitHub (for PRs)
|
|
233
|
-
- iOS app (mobile)
|
|
234
|
-
|
|
235
|
-
✅ Test Execution
|
|
236
|
-
- Run test harnesses
|
|
237
|
-
- Validate implementations
|
|
238
|
-
- Ensure quality
|
|
239
|
-
|
|
240
|
-
EXAMPLE WORKFLOWS:
|
|
241
|
-
|
|
242
|
-
1. **Create Feature (CLI)**:
|
|
243
|
-
\`\`\`bash
|
|
244
|
-
codex "Read AGENTS.md. Create increment 0002 for payment processing with Stripe. Follow SpecWeave structure."
|
|
245
|
-
\`\`\`
|
|
246
|
-
|
|
247
|
-
2. **Create Feature (Web)**:
|
|
248
|
-
- Upload AGENTS.md
|
|
249
|
-
- Say: "Create increment for payment processing"
|
|
250
|
-
- Download generated files
|
|
251
|
-
|
|
252
|
-
3. **Implement Task**:
|
|
253
|
-
\`\`\`bash
|
|
254
|
-
codex "Read increment 0002, implement task T001 (Setup Stripe SDK)"
|
|
255
|
-
\`\`\`
|
|
256
|
-
|
|
257
|
-
4. **Fix Bug**:
|
|
258
|
-
\`\`\`bash
|
|
259
|
-
codex "Read AGENTS.md and increment 0001. Fix authentication bug. Run tests."
|
|
260
|
-
\`\`\`
|
|
261
|
-
|
|
262
|
-
5. **Code Review**:
|
|
263
|
-
\`\`\`bash
|
|
264
|
-
codex "Adopt Tech Lead role from AGENTS.md. Review src/auth/ code."
|
|
265
|
-
\`\`\`
|
|
266
|
-
|
|
267
|
-
TIPS & TRICKS:
|
|
268
|
-
|
|
269
|
-
1. **Always Reference AGENTS.md**
|
|
270
|
-
- CLI: Explicit in command
|
|
271
|
-
- Web: Upload at conversation start
|
|
272
|
-
|
|
273
|
-
2. **Use Task-Based Approach**
|
|
274
|
-
- Break work into tasks (T001, T002, etc.)
|
|
275
|
-
- Each task runs in isolated environment
|
|
276
|
-
- Easier to track and validate
|
|
277
|
-
|
|
278
|
-
3. **Monitor Progress**
|
|
279
|
-
- CLI shows real-time progress (1-30 minutes per task)
|
|
280
|
-
- Web shows thinking process
|
|
281
|
-
- Review citations and logs
|
|
282
|
-
|
|
283
|
-
4. **Leverage Multiple Access Points**
|
|
284
|
-
- CLI for speed
|
|
285
|
-
- Web for accessibility
|
|
286
|
-
- IDE for integration
|
|
287
|
-
|
|
288
|
-
5. **Validate with Tests**
|
|
289
|
-
- Codex can run tests automatically
|
|
290
|
-
- Verify implementations work
|
|
291
|
-
|
|
292
|
-
COMPARISON:
|
|
293
|
-
|
|
294
|
-
| Feature | Claude Code | Codex |
|
|
295
|
-
|---------|-------------|-------|
|
|
296
|
-
| **Automation** | Full | Semi |
|
|
297
|
-
| **Skills** | Native | Via AGENTS.md |
|
|
298
|
-
| **Agents** | Native | Via AGENTS.md |
|
|
299
|
-
| **Access** | CLI only | CLI + Web + IDE + GitHub + iOS |
|
|
300
|
-
| **Model** | Sonnet 4.5 | GPT-5-Codex |
|
|
301
|
-
| **Task Isolation** | No | Yes (isolated environments) |
|
|
302
|
-
|
|
303
|
-
LIMITATIONS:
|
|
304
|
-
|
|
305
|
-
- No native skills/agents (manual role adoption via AGENTS.md)
|
|
306
|
-
- No hooks (can't auto-update docs on events)
|
|
307
|
-
- Tasks run 1-30 minutes (not instant)
|
|
308
|
-
- Requires ChatGPT Plus/Pro/Business/Enterprise
|
|
309
|
-
|
|
310
|
-
But very powerful with GPT-5-Codex and multiple access points!
|
|
311
|
-
|
|
312
|
-
PLANS & PRICING:
|
|
313
|
-
|
|
314
|
-
- **ChatGPT Plus**: $20/month (includes Codex CLI + Web)
|
|
315
|
-
- **ChatGPT Pro**: $200/month (unlimited, faster)
|
|
316
|
-
- **Business/Enterprise**: Custom pricing
|
|
317
|
-
|
|
318
|
-
Free trial may be available - check OpenAI website.
|
|
319
|
-
|
|
320
|
-
DOCUMENTATION:
|
|
321
|
-
|
|
322
|
-
- AGENTS.md: Universal SpecWeave instructions (READ THIS!)
|
|
323
|
-
- SPECWEAVE.md: Complete framework documentation
|
|
324
|
-
- .codex/README.md: Codex adapter guide
|
|
325
|
-
- https://openai.com/codex/
|
|
326
|
-
|
|
327
|
-
You're ready to build with SpecWeave on OpenAI Codex!
|
|
328
|
-
|
|
329
|
-
Pro tip: Use CLI for speed, Web for accessibility, and always
|
|
330
|
-
reference AGENTS.md for SpecWeave structure!
|
|
331
|
-
`;
|
|
332
|
-
}
|
|
333
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# @docs - Architecture Documentation Context
|
|
2
|
-
|
|
3
|
-
This file is loaded when you type `@docs` in Cursor.
|
|
4
|
-
|
|
5
|
-
## What This Provides
|
|
6
|
-
|
|
7
|
-
Quick access to architecture documentation:
|
|
8
|
-
- System design (HLD)
|
|
9
|
-
- ADRs (Architecture Decision Records)
|
|
10
|
-
- Component diagrams (C4 Model)
|
|
11
|
-
- Data models (ER diagrams)
|
|
12
|
-
|
|
13
|
-
## Usage
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
@docs show me the system architecture
|
|
17
|
-
@docs what ADRs exist for authentication?
|
|
18
|
-
@docs explain the data model
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Files Loaded
|
|
22
|
-
|
|
23
|
-
When `@docs` is used, Cursor should load:
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
.specweave/docs/internal/architecture/
|
|
27
|
-
├── system-design.md # HLD
|
|
28
|
-
├── adr/ # Architecture Decision Records
|
|
29
|
-
│ ├── 0001-tech-stack.md
|
|
30
|
-
│ ├── 0002-database-choice.md
|
|
31
|
-
│ └── ...
|
|
32
|
-
├── diagrams/ # C4 diagrams
|
|
33
|
-
│ ├── system-context.mmd # C4 Level 1
|
|
34
|
-
│ ├── system-container.mmd # C4 Level 2
|
|
35
|
-
│ └── {module}/ # C4 Level 3 (component)
|
|
36
|
-
└── data-models/ # ER diagrams
|
|
37
|
-
└── schema.sql
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Context Precision
|
|
41
|
-
|
|
42
|
-
**Don't load everything!**
|
|
43
|
-
|
|
44
|
-
If working on specific module (e.g., authentication):
|
|
45
|
-
1. Check context-manifest.yaml
|
|
46
|
-
2. Load ONLY auth-related docs:
|
|
47
|
-
```
|
|
48
|
-
.specweave/docs/internal/architecture/auth/
|
|
49
|
-
├── design.md
|
|
50
|
-
├── adr/0005-auth-method.md
|
|
51
|
-
└── diagrams/auth-flow.mmd
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Example Workflow
|
|
55
|
-
|
|
56
|
-
User: `@docs show authentication architecture`
|
|
57
|
-
|
|
58
|
-
You:
|
|
59
|
-
1. Load .specweave/docs/internal/architecture/auth/
|
|
60
|
-
2. Load ADRs related to auth (ADR-0005, ADR-0012)
|
|
61
|
-
3. Load auth diagrams
|
|
62
|
-
4. Summarize: "Authentication uses OAuth2 (ADR-0005), JWT tokens stored in httpOnly cookies (ADR-0012). See auth-flow.mmd for sequence diagram."
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# @increments - Current Increment Context
|
|
2
|
-
|
|
3
|
-
This file is loaded when you type `@increments` in Cursor.
|
|
4
|
-
|
|
5
|
-
## What This Provides
|
|
6
|
-
|
|
7
|
-
Quick access to the current increment's:
|
|
8
|
-
- spec.md (WHAT and WHY)
|
|
9
|
-
- plan.md (HOW)
|
|
10
|
-
- tasks.md (implementation steps)
|
|
11
|
-
- context-manifest.yaml (what context to load)
|
|
12
|
-
|
|
13
|
-
## Usage
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
@increments show me what we're working on
|
|
17
|
-
@increments what's the current task?
|
|
18
|
-
@increments load the spec for this feature
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Files Loaded
|
|
22
|
-
|
|
23
|
-
When `@increments` is used, Cursor should load:
|
|
24
|
-
|
|
25
|
-
1. **Current increment folder** (most recent in-progress):
|
|
26
|
-
```
|
|
27
|
-
.specweave/increments/####-feature-name/
|
|
28
|
-
├── spec.md
|
|
29
|
-
├── plan.md
|
|
30
|
-
├── tasks.md
|
|
31
|
-
└── context-manifest.yaml
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
2. **How to find current increment**:
|
|
35
|
-
```bash
|
|
36
|
-
# List all increments
|
|
37
|
-
ls -la .specweave/increments/
|
|
38
|
-
|
|
39
|
-
# Find in-progress increments
|
|
40
|
-
grep -r "status: in-progress" .specweave/increments/*/spec.md
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
3. **Load order**:
|
|
44
|
-
- context-manifest.yaml (to know what else to load)
|
|
45
|
-
- spec.md (business requirements)
|
|
46
|
-
- plan.md (technical design)
|
|
47
|
-
- tasks.md (current task status)
|
|
48
|
-
|
|
49
|
-
## Context Manifest Critical
|
|
50
|
-
|
|
51
|
-
**ALWAYS read context-manifest.yaml first!**
|
|
52
|
-
|
|
53
|
-
It tells you which additional files to load:
|
|
54
|
-
```yaml
|
|
55
|
-
spec_sections:
|
|
56
|
-
- .specweave/docs/internal/strategy/auth/spec.md
|
|
57
|
-
documentation:
|
|
58
|
-
- .specweave/docs/internal/architecture/auth-design.md
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
Then load ONLY those files (70%+ token savings).
|
|
62
|
-
|
|
63
|
-
## Example Workflow
|
|
64
|
-
|
|
65
|
-
User: `@increments what's the current feature?`
|
|
66
|
-
|
|
67
|
-
You:
|
|
68
|
-
1. Find most recent in-progress increment
|
|
69
|
-
2. Read spec.md → See it's user authentication
|
|
70
|
-
3. Read tasks.md → See we're on T003 (OAuth2 implementation)
|
|
71
|
-
4. Respond: "Working on user authentication (increment 0002). Currently on task T003: Implement OAuth2 flow."
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
# @strategy - Business Strategy Context
|
|
2
|
-
|
|
3
|
-
This file is loaded when you type `@strategy` in Cursor.
|
|
4
|
-
|
|
5
|
-
## What This Provides
|
|
6
|
-
|
|
7
|
-
Quick access to business strategy documentation:
|
|
8
|
-
- Product vision and goals
|
|
9
|
-
- Business requirements (technology-agnostic)
|
|
10
|
-
- User stories and acceptance criteria
|
|
11
|
-
- PRDs (Product Requirements Documents)
|
|
12
|
-
|
|
13
|
-
## Usage
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
@strategy what's the product vision?
|
|
17
|
-
@strategy show me authentication requirements
|
|
18
|
-
@strategy what are the success criteria?
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Files Loaded
|
|
22
|
-
|
|
23
|
-
When `@strategy` is used, Cursor should load:
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
.specweave/docs/internal/strategy/
|
|
27
|
-
├── {module}/ # Module-specific strategy
|
|
28
|
-
│ ├── overview.md # Product vision
|
|
29
|
-
│ ├── requirements.md # FR/NFR (tech-agnostic)
|
|
30
|
-
│ ├── user-stories.md # All user stories
|
|
31
|
-
│ └── success-criteria.md # KPIs, metrics
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Context Precision
|
|
35
|
-
|
|
36
|
-
**Don't load everything!**
|
|
37
|
-
|
|
38
|
-
If working on authentication module:
|
|
39
|
-
1. Load ONLY auth strategy:
|
|
40
|
-
```
|
|
41
|
-
.specweave/docs/internal/strategy/auth/
|
|
42
|
-
├── overview.md
|
|
43
|
-
├── requirements.md
|
|
44
|
-
├── user-stories.md
|
|
45
|
-
└── success-criteria.md
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## Technology-Agnostic Requirements
|
|
49
|
-
|
|
50
|
-
**Critical**: Strategy docs are technology-agnostic (WHAT/WHY, not HOW).
|
|
51
|
-
|
|
52
|
-
**Good (technology-agnostic)**:
|
|
53
|
-
```markdown
|
|
54
|
-
## FR-001: User Authentication
|
|
55
|
-
Users must be able to securely authenticate with their email and password.
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
**Bad (too technical)**:
|
|
59
|
-
```markdown
|
|
60
|
-
## FR-001: User Authentication
|
|
61
|
-
Users authenticate via JWT tokens stored in httpOnly cookies with bcrypt password hashing.
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
The technical details go in architecture docs (@docs), not strategy.
|
|
65
|
-
|
|
66
|
-
## Example Workflow
|
|
67
|
-
|
|
68
|
-
User: `@strategy what are the authentication requirements?`
|
|
69
|
-
|
|
70
|
-
You:
|
|
71
|
-
1. Load .specweave/docs/internal/strategy/auth/requirements.md
|
|
72
|
-
2. Read functional and non-functional requirements
|
|
73
|
-
3. Summarize: "FR-001: Email/password auth. FR-002: Social login (Google, GitHub). NFR-001: < 2s login response time. NFR-002: 99.9% uptime."
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
# @tests - Test Strategy Context
|
|
2
|
-
|
|
3
|
-
This file is loaded when you type `@tests` in Cursor.
|
|
4
|
-
|
|
5
|
-
## What This Provides
|
|
6
|
-
|
|
7
|
-
Quick access to test documentation:
|
|
8
|
-
- Test strategy (E2E, unit, integration)
|
|
9
|
-
- Test coverage matrix (TC-0001 → test files)
|
|
10
|
-
- Test cases (YAML format for skills)
|
|
11
|
-
- Acceptance criteria validation
|
|
12
|
-
|
|
13
|
-
## Usage
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
@tests show me test strategy
|
|
17
|
-
@tests what tests exist for authentication?
|
|
18
|
-
@tests map TC-0001 to test file
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Files Loaded
|
|
22
|
-
|
|
23
|
-
When `@tests` is used, Cursor should load:
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
.specweave/increments/####-feature/tests.md # Test strategy
|
|
27
|
-
tests/ # Actual test code
|
|
28
|
-
├── e2e/ # Playwright E2E tests
|
|
29
|
-
│ └── auth.spec.ts
|
|
30
|
-
├── unit/ # Unit tests
|
|
31
|
-
│ └── auth-utils.test.ts
|
|
32
|
-
└── integration/ # Integration tests
|
|
33
|
-
└── auth-api.test.ts
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Test Coverage Matrix
|
|
37
|
-
|
|
38
|
-
**tests.md contains mapping: TC-0001 → test file**
|
|
39
|
-
|
|
40
|
-
Example:
|
|
41
|
-
```markdown
|
|
42
|
-
| TC ID | Acceptance Criteria | Test Type | Location | Priority |
|
|
43
|
-
|---------|-------------------------|-----------|------------------------|----------|
|
|
44
|
-
| TC-0001 | Valid login redirects | E2E | tests/e2e/auth.spec.ts | P1 |
|
|
45
|
-
| TC-0002 | Invalid password errors | E2E | tests/e2e/auth.spec.ts | P1 |
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## Four Levels of Test Cases
|
|
49
|
-
|
|
50
|
-
### Level 1: Specification (TC-0001 in spec.md)
|
|
51
|
-
```markdown
|
|
52
|
-
- [ ] **TC-0001**: Valid credentials → redirect to dashboard
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### Level 2: Feature Test Strategy (tests.md)
|
|
56
|
-
Mapping TC-0001 to test implementation
|
|
57
|
-
|
|
58
|
-
### Level 3: Skill Test Cases (for SpecWeave skills)
|
|
59
|
-
YAML format in src/skills/{name}/test-cases/
|
|
60
|
-
|
|
61
|
-
### Level 4: Code Tests (Playwright, Jest, etc.)
|
|
62
|
-
```typescript
|
|
63
|
-
test('TC-0001: Valid Login Flow', async ({ page }) => {
|
|
64
|
-
// Implementation
|
|
65
|
-
});
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## Context Precision
|
|
69
|
-
|
|
70
|
-
**Load test strategy for current increment only**
|
|
71
|
-
|
|
72
|
-
If working on auth increment:
|
|
73
|
-
```
|
|
74
|
-
.specweave/increments/0002-user-auth/tests.md
|
|
75
|
-
tests/e2e/auth.spec.ts
|
|
76
|
-
tests/unit/auth-utils.test.ts
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Don't load ALL tests from ALL increments.
|
|
80
|
-
|
|
81
|
-
## Example Workflow
|
|
82
|
-
|
|
83
|
-
User: `@tests what's the test coverage for authentication?`
|
|
84
|
-
|
|
85
|
-
You:
|
|
86
|
-
1. Load .specweave/increments/0002-user-auth/tests.md
|
|
87
|
-
2. Read test coverage matrix
|
|
88
|
-
3. Load referenced test files (auth.spec.ts)
|
|
89
|
-
4. Summarize: "TC-0001 to TC-0008 covered. 8/8 E2E tests in auth.spec.ts. All P1 tests passing."
|