specweave 0.6.7 → 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 +920 -107
- package/README.md +143 -207
- package/bin/specweave.js +67 -0
- package/dist/adapters/adapter-interface.d.ts +11 -11
- package/dist/adapters/adapter-interface.d.ts.map +1 -1
- package/dist/adapters/adapter-interface.js +1 -1
- package/dist/adapters/adapter-loader.d.ts +1 -2
- package/dist/adapters/adapter-loader.d.ts.map +1 -1
- package/dist/adapters/adapter-loader.js +3 -6
- package/dist/adapters/adapter-loader.js.map +1 -1
- package/dist/adapters/agents-md-generator.d.ts +3 -3
- package/dist/adapters/agents-md-generator.js +3 -3
- package/dist/adapters/generic/adapter.d.ts +2 -2
- package/dist/adapters/generic/adapter.d.ts.map +1 -1
- package/dist/adapters/generic/adapter.js +28 -9
- package/dist/adapters/generic/adapter.js.map +1 -1
- 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 +141 -40
- 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 +37 -2
- 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 -5
- package/plugins/specweave/commands/{done.md → specweave-done.md} +2 -0
- 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/{validate.md → specweave-validate.md} +2 -0
- package/plugins/specweave/commands/specweave.md +21 -21
- package/plugins/specweave/hooks/docs-changed.sh +23 -3
- package/plugins/specweave/hooks/human-input-required.sh +23 -3
- package/plugins/specweave/hooks/post-increment-planning.sh +335 -0
- package/plugins/specweave/hooks/post-task-completion.sh +161 -1
- package/plugins/specweave/hooks/pre-implementation.sh +23 -3
- 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 +652 -1
- 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/dist/adapters/copilot/adapter.d.ts +0 -86
- package/dist/adapters/copilot/adapter.d.ts.map +0 -1
- package/dist/adapters/copilot/adapter.js +0 -396
- package/dist/adapters/copilot/adapter.js.map +0 -1
- package/plugins/.specweave/logs/hooks-debug.log +0 -24
- package/plugins/.specweave/logs/last-hook-fire +0 -1
- package/plugins/.specweave/logs/last-todowrite-time +0 -1
- package/plugins/.specweave/logs/tasks.log +0 -6
- package/plugins/specweave/commands/inc.md +0 -85
- package/plugins/specweave/commands/list-increments.md +0 -180
- package/src/adapters/README.md +0 -311
- package/src/adapters/adapter-base.ts +0 -182
- package/src/adapters/adapter-interface.ts +0 -166
- package/src/adapters/adapter-loader.ts +0 -259
- 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/copilot/README.md +0 -240
- package/src/adapters/copilot/adapter.ts +0 -444
- 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 -359
- package/src/adapters/registry.yaml +0 -187
- /package/plugins/specweave/commands/{costs.md → specweave-costs.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
|
@@ -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,240 +0,0 @@
|
|
|
1
|
-
# GitHub Copilot Adapter
|
|
2
|
-
|
|
3
|
-
**Automation Level**: Basic (Code suggestions with workspace context)
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
The GitHub Copilot adapter provides **basic automation** for SpecWeave by configuring workspace instructions that Copilot reads to provide better code suggestions.
|
|
8
|
-
|
|
9
|
-
## Key Limitation: No Custom Commands
|
|
10
|
-
|
|
11
|
-
Unlike Claude Code (native skills/agents/commands) and Cursor (simulated via .cursorrules), GitHub Copilot does NOT support:
|
|
12
|
-
- Custom slash commands
|
|
13
|
-
- Workflow automation
|
|
14
|
-
- Role-based assistance
|
|
15
|
-
- Auto-activation
|
|
16
|
-
|
|
17
|
-
**What it DOES support**:
|
|
18
|
-
- Workspace instructions (.github/copilot/instructions.md)
|
|
19
|
-
- Better code suggestions based on project context
|
|
20
|
-
- Copilot Chat for Q&A
|
|
21
|
-
- **Progressive disclosure via SKILLS-INDEX.md** (NEW in v0.3.8) - Access all 35+ skills!
|
|
22
|
-
|
|
23
|
-
## What This Adapter Provides
|
|
24
|
-
|
|
25
|
-
### 🔍 Progressive Disclosure (NEW)
|
|
26
|
-
|
|
27
|
-
SpecWeave now includes **SKILLS-INDEX.md** - enabling GitHub Copilot to discover and use all 35+ skills!
|
|
28
|
-
|
|
29
|
-
**How it works**:
|
|
30
|
-
1. Read `.claude/skills/SKILLS-INDEX.md` (referenced in AGENTS.md)
|
|
31
|
-
2. Match task to activation keywords
|
|
32
|
-
3. Load specific SKILL.md when relevant
|
|
33
|
-
4. Follow proven workflows
|
|
34
|
-
|
|
35
|
-
**Benefits**:
|
|
36
|
-
- ✅ **90% token savings** (5k vs 50k tokens)
|
|
37
|
-
- ✅ **Full skill access** - All 35+ skills now available to Copilot!
|
|
38
|
-
- ✅ **Consistent output** - Follow SpecWeave best practices
|
|
39
|
-
|
|
40
|
-
**Example**:
|
|
41
|
-
```markdown
|
|
42
|
-
# From AGENTS.md, you learn about:
|
|
43
|
-
.claude/skills/SKILLS-INDEX.md # Single-file skill reference
|
|
44
|
-
|
|
45
|
-
# When user asks: "Plan a new feature"
|
|
46
|
-
# 1. Read SKILLS-INDEX.md → Find "increment-planner" skill
|
|
47
|
-
# 2. Load .claude/skills/increment-planner/SKILL.md
|
|
48
|
-
# 3. Follow the increment planning workflow
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### .github/copilot/instructions.md
|
|
52
|
-
- **What**: Workspace guidance that Copilot reads automatically
|
|
53
|
-
- **Contains**: Project structure, workflows, best practices
|
|
54
|
-
- **Benefit**: Copilot suggests code following SpecWeave patterns
|
|
55
|
-
|
|
56
|
-
**Example**:
|
|
57
|
-
```markdown
|
|
58
|
-
# In instructions.md:
|
|
59
|
-
## Workflow: Creating Features
|
|
60
|
-
|
|
61
|
-
1. Create increment folder: .specweave/increments/####-feature-name/
|
|
62
|
-
2. Create spec.md (WHAT & WHY - technology-agnostic)
|
|
63
|
-
3. Create plan.md (HOW - technology-specific)
|
|
64
|
-
4. Create tasks.md (implementation checklist)
|
|
65
|
-
5. Create context-manifest.yaml (context loading - 70%+ token savings)
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
When you start typing in spec.md, Copilot suggests content following this structure!
|
|
69
|
-
|
|
70
|
-
## Installation
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
# Install SpecWeave with Copilot adapter
|
|
74
|
-
npx specweave init my-project --adapter copilot
|
|
75
|
-
|
|
76
|
-
# Files created:
|
|
77
|
-
# .github/copilot/instructions.md (workspace instructions)
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Directory Structure
|
|
81
|
-
|
|
82
|
-
```
|
|
83
|
-
.github/copilot/
|
|
84
|
-
├── instructions.md # Workspace instructions (Copilot reads this)
|
|
85
|
-
└── README.md # This file
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## Usage Examples
|
|
89
|
-
|
|
90
|
-
### Example 1: Creating spec.md
|
|
91
|
-
|
|
92
|
-
**You**:
|
|
93
|
-
1. Create file: `.specweave/increments/0001-auth/spec.md`
|
|
94
|
-
2. Start typing YAML frontmatter: `---`
|
|
95
|
-
|
|
96
|
-
**Copilot** (based on instructions.md):
|
|
97
|
-
```markdown
|
|
98
|
-
---
|
|
99
|
-
increment: 0001-auth
|
|
100
|
-
title: "User Authentication"
|
|
101
|
-
priority: P1
|
|
102
|
-
status: planned
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
# Increment 0001: User Authentication
|
|
106
|
-
|
|
107
|
-
## Overview
|
|
108
|
-
...
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
Copilot suggests the complete structure!
|
|
112
|
-
|
|
113
|
-
### Example 2: Copilot Chat Q&A
|
|
114
|
-
|
|
115
|
-
**You**: "How do I create a plan.md following SpecWeave?"
|
|
116
|
-
|
|
117
|
-
**Copilot** (reads instructions.md):
|
|
118
|
-
```
|
|
119
|
-
Based on SpecWeave guidelines, plan.md should contain:
|
|
120
|
-
|
|
121
|
-
1. Architecture section (components, data model, APIs)
|
|
122
|
-
2. Technology-specific details (unlike spec.md which is tech-agnostic)
|
|
123
|
-
3. References to ADRs (Architecture Decision Records)
|
|
124
|
-
4. Implementation strategy
|
|
125
|
-
|
|
126
|
-
Example structure:
|
|
127
|
-
...
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### Example 3: Context Manifest
|
|
131
|
-
|
|
132
|
-
**You**: Start typing in `context-manifest.yaml`
|
|
133
|
-
|
|
134
|
-
**Copilot** (based on patterns in instructions.md):
|
|
135
|
-
```yaml
|
|
136
|
-
---
|
|
137
|
-
spec_sections:
|
|
138
|
-
- .specweave/docs/internal/strategy/auth/spec.md
|
|
139
|
-
documentation:
|
|
140
|
-
- .specweave/docs/internal/architecture/auth/design.md
|
|
141
|
-
max_context_tokens: 10000
|
|
142
|
-
---
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
## Comparison with Other Adapters
|
|
146
|
-
|
|
147
|
-
| Feature | Claude Code | Cursor | Copilot | Generic |
|
|
148
|
-
|---------|-------------|--------|---------|---------|
|
|
149
|
-
| **Automation** | Full | Semi | Basic | Manual |
|
|
150
|
-
| **Skills** | Native | Simulated | N/A | N/A |
|
|
151
|
-
| **Agents** | Native | Manual roles | N/A | N/A |
|
|
152
|
-
| **Commands** | Slash commands | Workflow instructions | N/A | Step-by-step guide |
|
|
153
|
-
| **Context Shortcuts** | Native | @ shortcuts | N/A | Manual copy-paste |
|
|
154
|
-
| **Code Suggestions** | ✅ | ✅ | ✅ | ❌ |
|
|
155
|
-
| **Workflow Automation** | ✅ | ⚙️ | ❌ | ❌ |
|
|
156
|
-
|
|
157
|
-
**Copilot = Basic but useful** (better than nothing!)
|
|
158
|
-
|
|
159
|
-
## Limitations
|
|
160
|
-
|
|
161
|
-
❌ **No workflow automation** - Must create folders/files manually
|
|
162
|
-
❌ **No skills/agents** - Can't simulate roles like Cursor
|
|
163
|
-
❌ **No commands** - No slash commands or @ shortcuts
|
|
164
|
-
❌ **No hooks** - Can't auto-update docs (see workaround below)
|
|
165
|
-
⚠️ **Completely manual workflow** - Just better code suggestions
|
|
166
|
-
|
|
167
|
-
✅ **But still helpful for**:
|
|
168
|
-
- Code completion following SpecWeave patterns
|
|
169
|
-
- Suggesting file structures
|
|
170
|
-
- Copilot Chat Q&A about project
|
|
171
|
-
|
|
172
|
-
### Documentation Update Workaround
|
|
173
|
-
|
|
174
|
-
Since GitHub Copilot doesn't have hooks, you MUST manually update documentation after every task.
|
|
175
|
-
|
|
176
|
-
**See the comprehensive guide in AGENTS.md** (section: "Documentation Updates - CRITICAL FOR NON-CLAUDE TOOLS")
|
|
177
|
-
|
|
178
|
-
**Quick checklist after completing any task**:
|
|
179
|
-
1. Update `.specweave/increments/{id}/tasks.md` (mark tasks complete)
|
|
180
|
-
2. Update `.specweave/docs/internal/architecture/` (HLD/LLD/ADRs)
|
|
181
|
-
3. Update `.specweave/docs/internal/strategy/` (PRDs if requirements changed)
|
|
182
|
-
4. Update `README.md` (user-facing changes)
|
|
183
|
-
5. Update `CHANGELOG.md` (version history)
|
|
184
|
-
|
|
185
|
-
## When to Use This Adapter
|
|
186
|
-
|
|
187
|
-
✅ **Use Copilot adapter if**:
|
|
188
|
-
- You already use VS Code + GitHub Copilot
|
|
189
|
-
- You want better code suggestions
|
|
190
|
-
- You don't mind manual workflows
|
|
191
|
-
- Simple projects
|
|
192
|
-
|
|
193
|
-
⚠️ **Consider alternatives if**:
|
|
194
|
-
- You want automation → Use Claude Code (full) or Cursor (semi)
|
|
195
|
-
- You need skills/agents → Use Claude Code
|
|
196
|
-
- You want role-based assistance → Use Claude Code or Cursor
|
|
197
|
-
|
|
198
|
-
## How Copilot Uses Workspace Instructions
|
|
199
|
-
|
|
200
|
-
**Automatic (no action needed)**:
|
|
201
|
-
1. You open project in VS Code with Copilot
|
|
202
|
-
2. Copilot reads `.github/copilot/instructions.md` automatically
|
|
203
|
-
3. Copilot understands:
|
|
204
|
-
- SpecWeave structure (.specweave/ folders)
|
|
205
|
-
- File naming (spec.md, plan.md, tasks.md)
|
|
206
|
-
- Patterns (context manifests, test IDs)
|
|
207
|
-
- Best practices (tech-agnostic specs, etc.)
|
|
208
|
-
|
|
209
|
-
**Result**: Better code suggestions that fit SpecWeave!
|
|
210
|
-
|
|
211
|
-
**Example**:
|
|
212
|
-
- Type `# Increment` → Copilot suggests increment structure
|
|
213
|
-
- Type `TC-0001` → Copilot suggests test case format
|
|
214
|
-
- Type `context-manifest.yaml` → Copilot suggests manifest structure
|
|
215
|
-
|
|
216
|
-
## Tips & Tricks
|
|
217
|
-
|
|
218
|
-
### 1. Reference instructions.md
|
|
219
|
-
If Copilot suggests wrong patterns: "Follow .github/copilot/instructions.md"
|
|
220
|
-
|
|
221
|
-
### 2. Use Copilot Chat
|
|
222
|
-
Ask: "How does SpecWeave work?" → Copilot explains from instructions
|
|
223
|
-
|
|
224
|
-
### 3. Start Typing, Let Copilot Complete
|
|
225
|
-
Begin with YAML frontmatter or headers → Copilot fills in rest
|
|
226
|
-
|
|
227
|
-
### 4. Check Context Manifests
|
|
228
|
-
Open context-manifest.yaml → Copilot sees relevant files
|
|
229
|
-
|
|
230
|
-
## Related Documentation
|
|
231
|
-
|
|
232
|
-
- [SPECWEAVE.md](../../SPECWEAVE.md) - Complete development guide
|
|
233
|
-
- [.github/copilot/instructions.md](.github/copilot/instructions.md) - Workspace instructions
|
|
234
|
-
- [Adapter Architecture](../README.md) - Multi-tool design philosophy
|
|
235
|
-
|
|
236
|
-
---
|
|
237
|
-
|
|
238
|
-
**Status**: Active (v0.2.0-beta.1+)
|
|
239
|
-
**Market Share**: ~40% (GitHub Copilot users)
|
|
240
|
-
**Priority**: P1 (large market, even with basic automation)
|