specweave 0.1.9 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +600 -0
- package/README.md +263 -81
- package/bin/install-all.sh +1 -1
- package/bin/install-commands.sh +3 -3
- package/bin/specweave.js +39 -9
- package/dist/adapters/adapter-base.d.ts +1 -1
- package/dist/adapters/adapter-base.d.ts.map +1 -1
- package/dist/adapters/adapter-base.js +6 -41
- package/dist/adapters/adapter-base.js.map +1 -1
- package/dist/adapters/adapter-interface.js +1 -2
- package/dist/adapters/adapter-interface.js.map +1 -1
- package/dist/adapters/adapter-loader.d.ts +86 -0
- package/dist/adapters/adapter-loader.d.ts.map +1 -0
- package/dist/adapters/adapter-loader.js +216 -0
- package/dist/adapters/adapter-loader.js.map +1 -0
- package/dist/adapters/agents-md-generator.d.ts +48 -0
- package/dist/adapters/agents-md-generator.d.ts.map +1 -0
- package/dist/adapters/agents-md-generator.js +132 -0
- package/dist/adapters/agents-md-generator.js.map +1 -0
- package/dist/adapters/claude/adapter.d.ts +2 -2
- package/dist/adapters/claude/adapter.d.ts.map +1 -1
- package/dist/adapters/claude/adapter.js +5 -42
- package/dist/adapters/claude/adapter.js.map +1 -1
- package/dist/adapters/claude-md-generator.d.ts +78 -0
- package/dist/adapters/claude-md-generator.d.ts.map +1 -0
- package/dist/adapters/claude-md-generator.js +246 -0
- package/dist/adapters/claude-md-generator.js.map +1 -0
- package/dist/adapters/codex/adapter.d.ts +50 -0
- package/dist/adapters/codex/adapter.d.ts.map +1 -0
- package/dist/adapters/codex/adapter.js +316 -0
- package/dist/adapters/codex/adapter.js.map +1 -0
- package/dist/adapters/copilot/adapter.d.ts +10 -9
- package/dist/adapters/copilot/adapter.d.ts.map +1 -1
- package/dist/adapters/copilot/adapter.js +35 -100
- package/dist/adapters/copilot/adapter.js.map +1 -1
- package/dist/adapters/cursor/adapter.d.ts +8 -6
- package/dist/adapters/cursor/adapter.d.ts.map +1 -1
- package/dist/adapters/cursor/adapter.js +47 -130
- package/dist/adapters/cursor/adapter.js.map +1 -1
- package/dist/adapters/doc-generator.d.ts +69 -0
- package/dist/adapters/doc-generator.d.ts.map +1 -0
- package/dist/adapters/doc-generator.js +247 -0
- package/dist/adapters/doc-generator.js.map +1 -0
- package/dist/adapters/gemini/adapter.d.ts +50 -0
- package/dist/adapters/gemini/adapter.d.ts.map +1 -0
- package/dist/adapters/gemini/adapter.js +281 -0
- package/dist/adapters/gemini/adapter.js.map +1 -0
- package/dist/adapters/generic/adapter.d.ts +7 -4
- package/dist/adapters/generic/adapter.d.ts.map +1 -1
- package/dist/adapters/generic/adapter.js +60 -59
- package/dist/adapters/generic/adapter.js.map +1 -1
- package/dist/cli/commands/init.d.ts +3 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +327 -177
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +22 -58
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +27 -64
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/core/credentials-manager.d.ts +90 -0
- package/dist/core/credentials-manager.d.ts.map +1 -0
- package/dist/core/credentials-manager.js +271 -0
- package/dist/core/credentials-manager.js.map +1 -0
- package/dist/core/project-structure-detector.d.ts +92 -0
- package/dist/core/project-structure-detector.d.ts.map +1 -0
- package/dist/core/project-structure-detector.js +289 -0
- package/dist/core/project-structure-detector.js.map +1 -0
- package/dist/core/rfc-generator-v2.d.ts +149 -0
- package/dist/core/rfc-generator-v2.d.ts.map +1 -0
- package/dist/core/rfc-generator-v2.js +399 -0
- package/dist/core/rfc-generator-v2.js.map +1 -0
- package/dist/core/rfc-generator.d.ts +147 -0
- package/dist/core/rfc-generator.d.ts.map +1 -0
- package/dist/core/rfc-generator.js +434 -0
- package/dist/core/rfc-generator.js.map +1 -0
- package/dist/integrations/ado/ado-client.d.ts +123 -0
- package/dist/integrations/ado/ado-client.d.ts.map +1 -0
- package/dist/integrations/ado/ado-client.js +398 -0
- package/dist/integrations/ado/ado-client.js.map +1 -0
- package/dist/integrations/jira/jira-client.d.ts +139 -0
- package/dist/integrations/jira/jira-client.d.ts.map +1 -0
- package/dist/integrations/jira/jira-client.js +386 -0
- package/dist/integrations/jira/jira-client.js.map +1 -0
- package/dist/integrations/jira/jira-incremental-mapper.d.ts +75 -0
- package/dist/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
- package/dist/integrations/jira/jira-incremental-mapper.js +474 -0
- package/dist/integrations/jira/jira-incremental-mapper.js.map +1 -0
- package/dist/integrations/jira/jira-mapper.d.ts +105 -0
- package/dist/integrations/jira/jira-mapper.d.ts.map +1 -0
- package/dist/integrations/jira/jira-mapper.js +494 -0
- package/dist/integrations/jira/jira-mapper.js.map +1 -0
- package/dist/testing/test-generator.d.ts +117 -0
- package/dist/testing/test-generator.d.ts.map +1 -0
- package/dist/testing/test-generator.js +370 -0
- package/dist/testing/test-generator.js.map +1 -0
- package/dist/utils/auto-install.d.ts +3 -0
- package/dist/utils/auto-install.d.ts.map +1 -1
- package/dist/utils/auto-install.js +16 -82
- package/dist/utils/auto-install.js.map +1 -1
- package/dist/utils/esm-helpers.d.ts +50 -0
- package/dist/utils/esm-helpers.d.ts.map +1 -0
- package/dist/utils/esm-helpers.js +57 -0
- package/dist/utils/esm-helpers.js.map +1 -0
- package/package.json +16 -7
- package/src/adapters/README.md +1 -2
- package/src/adapters/adapter-base.ts +6 -3
- package/src/adapters/adapter-loader.ts +261 -0
- package/src/adapters/agents-md-generator.ts +162 -0
- package/src/adapters/claude/README.md +6 -14
- package/src/adapters/claude/adapter.ts +4 -4
- package/src/adapters/claude-md-generator.ts +311 -0
- package/src/adapters/codex/README.md +105 -0
- package/src/adapters/codex/adapter.ts +333 -0
- package/src/adapters/copilot/adapter.ts +36 -65
- package/src/adapters/cursor/README.md +0 -2
- package/src/adapters/cursor/adapter.ts +46 -92
- package/src/adapters/doc-generator.ts +331 -0
- package/src/adapters/gemini/README.md +97 -0
- package/src/adapters/gemini/adapter.ts +298 -0
- package/src/adapters/generic/adapter.ts +61 -57
- package/src/adapters/registry.yaml +86 -25
- package/src/agents/devops/AGENT.md +16 -18
- package/src/agents/docs-writer/AGENT.md +2 -2
- package/src/agents/pm/AGENT.md +1 -50
- package/src/commands/README.md +134 -111
- package/src/commands/{build.md → specweave.do.md} +141 -69
- package/src/commands/{done.md → specweave.done.md} +3 -3
- package/src/commands/{inc.md → specweave.inc.md} +4 -4
- package/src/commands/{increment.md → specweave.increment.md} +143 -76
- package/src/commands/specweave.md +430 -0
- package/src/commands/specweave.next.md +495 -0
- package/src/commands/{progress.md → specweave.progress.md} +12 -12
- package/src/commands/specweave.sync-docs.md +665 -0
- package/src/commands/specweave.sync-github.md +269 -0
- package/src/commands/specweave.sync-jira.md +197 -0
- package/src/commands/{validate.md → specweave.validate.md} +4 -4
- package/src/hooks/README.md +19 -29
- package/src/hooks/post-task-completion.sh +25 -30
- package/src/skills/ado-sync/README.md +1 -36
- package/src/skills/bmad-method-expert/SKILL.md +1 -3
- package/src/skills/brownfield-analyzer/SKILL.md +429 -23
- package/src/skills/brownfield-onboarder/SKILL.md +221 -8
- package/src/skills/context-loader/SKILL.md +239 -617
- package/src/skills/context-optimizer/SKILL.md +0 -30
- package/src/skills/github-sync/SKILL.md +1 -19
- package/src/skills/increment-planner/SKILL.md +64 -18
- package/src/skills/increment-quality-judge/SKILL.md +1 -36
- package/src/skills/jira-sync/README.md +1 -38
- package/src/skills/role-orchestrator/README.md +1 -22
- package/src/skills/role-orchestrator/SKILL.md +1 -59
- package/src/skills/skill-router/SKILL.md +0 -18
- package/src/skills/spec-kit-expert/SKILL.md +1 -3
- package/src/skills/specweave-detector/SKILL.md +225 -275
- package/src/skills/task-builder/README.md +1 -7
- package/src/templates/AGENTS.md.template +334 -0
- package/src/templates/CLAUDE.md.template +131 -298
- package/src/templates/README.md.template +115 -23
- package/src/templates/environments/minimal/README.md +0 -1
- package/INSTALL.md +0 -848
- package/SPECWEAVE.md +0 -743
- package/src/adapters/copilot/.github/copilot/instructions.md +0 -376
- package/src/adapters/cursor/.cursorrules +0 -325
- package/src/adapters/generic/SPECWEAVE-MANUAL.md +0 -676
- package/src/commands/create-project.md +0 -528
- package/src/commands/generate-docs.md +0 -623
- package/src/commands/review-docs.md +0 -331
- package/src/commands/sync-github.md +0 -115
- package/src/skills/ado-sync/test-cases/test-1.yaml +0 -9
- package/src/skills/ado-sync/test-cases/test-2.yaml +0 -8
- package/src/skills/ado-sync/test-cases/test-3.yaml +0 -9
- package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +0 -48
- package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +0 -39
- package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +0 -44
- package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +0 -45
- package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +0 -97
- package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +0 -109
- package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +0 -98
- package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +0 -75
- package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +0 -52
- package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +0 -63
- package/src/skills/cost-optimizer/test-results/README.md +0 -46
- package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +0 -23
- package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +0 -24
- package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +0 -23
- package/src/skills/diagrams-architect/test-cases/test-1-c4-context.yaml +0 -13
- package/src/skills/diagrams-architect/test-cases/test-2-sequence-diagram.yaml +0 -13
- package/src/skills/diagrams-architect/test-cases/test-3-er-diagram.yaml +0 -13
- package/src/skills/diagrams-generator/test-cases/test-1.yaml +0 -9
- package/src/skills/diagrams-generator/test-cases/test-2.yaml +0 -9
- package/src/skills/diagrams-generator/test-cases/test-3.yaml +0 -8
- package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/dotnet-backend/test-cases/test-1-rest-api.yaml +0 -14
- package/src/skills/dotnet-backend/test-cases/test-2-authentication.yaml +0 -13
- package/src/skills/dotnet-backend/test-cases/test-3-minimal-api.yaml +0 -13
- package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +0 -54
- package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +0 -64
- package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +0 -74
- package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +0 -98
- package/src/skills/figma-designer/test-cases/test-1-design-system.yaml +0 -13
- package/src/skills/figma-designer/test-cases/test-2-component-library.yaml +0 -13
- package/src/skills/figma-designer/test-cases/test-3-responsive-layout.yaml +0 -13
- package/src/skills/figma-implementer/test-cases/test-1-design-to-react.yaml +0 -13
- package/src/skills/figma-implementer/test-cases/test-2-storybook.yaml +0 -13
- package/src/skills/figma-implementer/test-cases/test-3-design-tokens.yaml +0 -13
- package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +0 -22
- package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +0 -21
- package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +0 -18
- package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +0 -29
- package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +0 -27
- package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +0 -28
- package/src/skills/frontend/test-cases/test-1-react-component.yaml +0 -13
- package/src/skills/frontend/test-cases/test-2-form-validation.yaml +0 -13
- package/src/skills/frontend/test-cases/test-3-state-management.yaml +0 -13
- package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +0 -71
- package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +0 -85
- package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +0 -126
- package/src/skills/hetzner-provisioner/test-results/README.md +0 -259
- package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +0 -27
- package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +0 -30
- package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +0 -24
- package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +0 -95
- package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +0 -108
- package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +0 -87
- package/src/skills/jira-sync/test-cases/test-1.yaml +0 -9
- package/src/skills/jira-sync/test-cases/test-2.yaml +0 -9
- package/src/skills/jira-sync/test-cases/test-3.yaml +0 -10
- package/src/skills/nextjs/test-cases/test-1-app-router.yaml +0 -13
- package/src/skills/nextjs/test-cases/test-2-server-actions.yaml +0 -13
- package/src/skills/nextjs/test-cases/test-3-api-routes.yaml +0 -13
- package/src/skills/nodejs-backend/test-cases/test-1-express-api.yaml +0 -13
- package/src/skills/nodejs-backend/test-cases/test-2-prisma-orm.yaml +0 -13
- package/src/skills/nodejs-backend/test-cases/test-3-authentication.yaml +0 -13
- package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/python-backend/test-cases/test-1-fastapi-crud.yaml +0 -13
- package/src/skills/python-backend/test-cases/test-2-sqlalchemy.yaml +0 -13
- package/src/skills/python-backend/test-cases/test-3-authentication.yaml +0 -13
- package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +0 -98
- package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +0 -73
- package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +0 -121
- package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +0 -145
- package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +0 -149
- package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +0 -33
- package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +0 -42
- package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +0 -50
- package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +0 -148
- package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +0 -190
- package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +0 -233
- package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +0 -212
- package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +0 -461
- package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +0 -366
- package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/specweave-ado-mapper/test-cases/test-1-export-to-ado.yaml +0 -13
- package/src/skills/specweave-ado-mapper/test-cases/test-2-import-from-ado.yaml +0 -13
- package/src/skills/specweave-ado-mapper/test-cases/test-3-bidirectional-sync.yaml +0 -13
- package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +0 -37
- package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +0 -37
- package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +0 -34
- package/src/skills/specweave-jira-mapper/test-cases/test-1-export-to-jira.yaml +0 -13
- package/src/skills/specweave-jira-mapper/test-cases/test-2-import-from-jira.yaml +0 -13
- package/src/skills/specweave-jira-mapper/test-cases/test-3-sync-status.yaml +0 -13
- package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +0 -12
- package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +0 -12
- package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +0 -12
- package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +0 -12
- package/src/templates/config.yaml +0 -351
- /package/src/commands/{list-increments.md → specweave.list-increments.md} +0 -0
|
@@ -0,0 +1,316 @@
|
|
|
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
|
+
import * as path from 'path';
|
|
15
|
+
import fs from 'fs-extra';
|
|
16
|
+
import { AdapterBase } from '../adapter-base.js';
|
|
17
|
+
import { AgentsMdGenerator } from '../agents-md-generator.js';
|
|
18
|
+
import { getDirname } from '../../utils/esm-helpers.js';
|
|
19
|
+
const __dirname = getDirname(import.meta.url);
|
|
20
|
+
export class CodexAdapter extends AdapterBase {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
this.name = 'codex';
|
|
24
|
+
this.description = 'OpenAI Codex adapter - Semi-automation with AGENTS.md and task-based execution';
|
|
25
|
+
this.automationLevel = 'semi';
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Detect if Codex is available
|
|
29
|
+
*
|
|
30
|
+
* Checks for:
|
|
31
|
+
* - codex command in PATH (Codex CLI)
|
|
32
|
+
* - .codex/ directory exists
|
|
33
|
+
* - AGENTS.md file exists (previously configured)
|
|
34
|
+
*/
|
|
35
|
+
async detect() {
|
|
36
|
+
const hasCodexCLI = await this.commandExists('codex');
|
|
37
|
+
const hasCodexDir = await this.fileExists('.codex');
|
|
38
|
+
const hasAgentsMd = await this.fileExists('AGENTS.md');
|
|
39
|
+
return hasCodexCLI || hasCodexDir || hasAgentsMd;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get files to install for Codex adapter
|
|
43
|
+
*/
|
|
44
|
+
getFiles() {
|
|
45
|
+
return [
|
|
46
|
+
{
|
|
47
|
+
sourcePath: 'AGENTS.md',
|
|
48
|
+
targetPath: 'AGENTS.md',
|
|
49
|
+
description: 'Universal SpecWeave instructions (works with all AI tools)'
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
sourcePath: 'README.md',
|
|
53
|
+
targetPath: '.codex/README.md',
|
|
54
|
+
description: 'Codex adapter documentation'
|
|
55
|
+
}
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Install Codex adapter
|
|
60
|
+
*/
|
|
61
|
+
async install(options) {
|
|
62
|
+
console.log('\n📦 Installing OpenAI Codex Adapter (Semi-Automation)\n');
|
|
63
|
+
// Ensure .codex directory exists
|
|
64
|
+
const codexDir = path.join(options.projectPath, '.codex');
|
|
65
|
+
await fs.ensureDir(codexDir);
|
|
66
|
+
// Generate AGENTS.md
|
|
67
|
+
const agentsMdPath = path.join(options.projectPath, 'AGENTS.md');
|
|
68
|
+
await this.generateAgentsMd(agentsMdPath, options);
|
|
69
|
+
// Copy README
|
|
70
|
+
const readmePath = path.join(__dirname, 'README.md');
|
|
71
|
+
if (await fs.pathExists(readmePath)) {
|
|
72
|
+
await fs.copy(readmePath, path.join(codexDir, 'README.md'));
|
|
73
|
+
}
|
|
74
|
+
console.log('\n✨ Codex adapter installed!');
|
|
75
|
+
console.log('\n📋 Files created:');
|
|
76
|
+
console.log(' - AGENTS.md (universal instructions)');
|
|
77
|
+
console.log(' - .codex/README.md (adapter documentation)');
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Generate AGENTS.md file
|
|
81
|
+
*/
|
|
82
|
+
async generateAgentsMd(targetPath, options) {
|
|
83
|
+
const generator = new AgentsMdGenerator(path.join(__dirname, '../../skills'), path.join(__dirname, '../../agents'), path.join(__dirname, '../../commands'));
|
|
84
|
+
const content = await generator.generate({
|
|
85
|
+
projectName: options.projectName,
|
|
86
|
+
projectPath: options.projectPath
|
|
87
|
+
});
|
|
88
|
+
await fs.writeFile(targetPath, content);
|
|
89
|
+
console.log(' ✅ AGENTS.md - Universal SpecWeave instructions');
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Post-installation instructions
|
|
93
|
+
*/
|
|
94
|
+
async postInstall(options) {
|
|
95
|
+
console.log(this.getInstructions());
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get usage instructions for Codex adapter
|
|
99
|
+
*/
|
|
100
|
+
getInstructions() {
|
|
101
|
+
return `
|
|
102
|
+
================================================================
|
|
103
|
+
OpenAI Codex Adapter - Semi-Automation
|
|
104
|
+
================================================================
|
|
105
|
+
|
|
106
|
+
Your project is now configured for OpenAI Codex with SEMI-automation!
|
|
107
|
+
|
|
108
|
+
WHAT THIS PROVIDES:
|
|
109
|
+
|
|
110
|
+
- AGENTS.md (Universal Instructions)
|
|
111
|
+
- Works with Codex CLI, ChatGPT web, and IDEs
|
|
112
|
+
- Auto-generated from actual skills/agents
|
|
113
|
+
- SpecWeave structure and workflows
|
|
114
|
+
- GPT-5-Codex optimized guidance
|
|
115
|
+
|
|
116
|
+
- Task-Based Execution
|
|
117
|
+
- Isolated environments per task
|
|
118
|
+
- File read/write operations
|
|
119
|
+
- Test execution and validation
|
|
120
|
+
|
|
121
|
+
QUICK START:
|
|
122
|
+
|
|
123
|
+
**Option 1: Codex CLI** (Fastest)
|
|
124
|
+
|
|
125
|
+
1. Install Codex CLI:
|
|
126
|
+
|
|
127
|
+
# Included with ChatGPT Plus, Pro, Business, Enterprise
|
|
128
|
+
npm install -g openai-codex-cli
|
|
129
|
+
|
|
130
|
+
2. Create your first feature:
|
|
131
|
+
|
|
132
|
+
codex "Read AGENTS.md and create increment for user authentication"
|
|
133
|
+
|
|
134
|
+
Codex will:
|
|
135
|
+
- Read AGENTS.md for SpecWeave context
|
|
136
|
+
- Adopt PM role: Create spec.md (WHAT/WHY)
|
|
137
|
+
- Adopt Architect role: Create plan.md (HOW)
|
|
138
|
+
- Create tasks.md
|
|
139
|
+
- Execute in isolated environment
|
|
140
|
+
|
|
141
|
+
**Option 2: ChatGPT Web** (Most Accessible)
|
|
142
|
+
|
|
143
|
+
1. Open ChatGPT (Plus/Pro/Business/Enterprise)
|
|
144
|
+
|
|
145
|
+
2. Upload AGENTS.md file
|
|
146
|
+
|
|
147
|
+
3. Say:
|
|
148
|
+
"I'm using SpecWeave framework. Create increment for user authentication."
|
|
149
|
+
|
|
150
|
+
4. Copy generated content to files:
|
|
151
|
+
- spec.md
|
|
152
|
+
- plan.md
|
|
153
|
+
- tasks.md
|
|
154
|
+
|
|
155
|
+
**Option 3: IDE Integration** (If available in your IDE)
|
|
156
|
+
|
|
157
|
+
Use Codex integration in your IDE (VS Code, JetBrains, etc.)
|
|
158
|
+
Reference AGENTS.md for SpecWeave structure.
|
|
159
|
+
|
|
160
|
+
HOW TO USE:
|
|
161
|
+
|
|
162
|
+
**With Codex CLI**:
|
|
163
|
+
\`\`\`bash
|
|
164
|
+
# Explicit reference (recommended):
|
|
165
|
+
codex "Read AGENTS.md and [your request]"
|
|
166
|
+
|
|
167
|
+
# Natural language:
|
|
168
|
+
codex "Create a new feature following SpecWeave structure"
|
|
169
|
+
|
|
170
|
+
# With context:
|
|
171
|
+
codex "Following the PM role in AGENTS.md, create requirements for payments"
|
|
172
|
+
\`\`\`
|
|
173
|
+
|
|
174
|
+
**With ChatGPT Web**:
|
|
175
|
+
1. Upload AGENTS.md at start of conversation
|
|
176
|
+
2. Reference it: "Following AGENTS.md, create increment for..."
|
|
177
|
+
3. Download or copy-paste generated files
|
|
178
|
+
|
|
179
|
+
CONTEXT LOADING (70%+ Token Savings):
|
|
180
|
+
|
|
181
|
+
CRITICAL: Tell Codex to read context-manifest.yaml first!
|
|
182
|
+
|
|
183
|
+
\`\`\`bash
|
|
184
|
+
# CLI:
|
|
185
|
+
codex "Read context-manifest.yaml from increment 0001, load only those files, then implement task T001"
|
|
186
|
+
|
|
187
|
+
# Web:
|
|
188
|
+
# 1. Upload context-manifest.yaml
|
|
189
|
+
# 2. Upload only files listed in manifest
|
|
190
|
+
# 3. Request task implementation
|
|
191
|
+
\`\`\`
|
|
192
|
+
|
|
193
|
+
FEATURES:
|
|
194
|
+
|
|
195
|
+
✅ GPT-5-Codex Model
|
|
196
|
+
- Optimized for engineering tasks
|
|
197
|
+
- Trained on complex, real-world projects
|
|
198
|
+
- Code generation, debugging, refactoring
|
|
199
|
+
|
|
200
|
+
✅ Task-Based Execution
|
|
201
|
+
- Each task in isolated environment
|
|
202
|
+
- Real-time progress monitoring
|
|
203
|
+
- Verifiable evidence (citations, logs)
|
|
204
|
+
|
|
205
|
+
✅ File Operations
|
|
206
|
+
- Read and edit files
|
|
207
|
+
- Run commands (tests, linters, type checkers)
|
|
208
|
+
- Create new files and directories
|
|
209
|
+
|
|
210
|
+
✅ Multiple Access Points
|
|
211
|
+
- CLI (fastest)
|
|
212
|
+
- Web (most accessible)
|
|
213
|
+
- IDE (most integrated)
|
|
214
|
+
- GitHub (for PRs)
|
|
215
|
+
- iOS app (mobile)
|
|
216
|
+
|
|
217
|
+
✅ Test Execution
|
|
218
|
+
- Run test harnesses
|
|
219
|
+
- Validate implementations
|
|
220
|
+
- Ensure quality
|
|
221
|
+
|
|
222
|
+
EXAMPLE WORKFLOWS:
|
|
223
|
+
|
|
224
|
+
1. **Create Feature (CLI)**:
|
|
225
|
+
\`\`\`bash
|
|
226
|
+
codex "Read AGENTS.md. Create increment 0002 for payment processing with Stripe. Follow SpecWeave structure."
|
|
227
|
+
\`\`\`
|
|
228
|
+
|
|
229
|
+
2. **Create Feature (Web)**:
|
|
230
|
+
- Upload AGENTS.md
|
|
231
|
+
- Say: "Create increment for payment processing"
|
|
232
|
+
- Download generated files
|
|
233
|
+
|
|
234
|
+
3. **Implement Task**:
|
|
235
|
+
\`\`\`bash
|
|
236
|
+
codex "Read increment 0002, implement task T001 (Setup Stripe SDK)"
|
|
237
|
+
\`\`\`
|
|
238
|
+
|
|
239
|
+
4. **Fix Bug**:
|
|
240
|
+
\`\`\`bash
|
|
241
|
+
codex "Read AGENTS.md and increment 0001. Fix authentication bug. Run tests."
|
|
242
|
+
\`\`\`
|
|
243
|
+
|
|
244
|
+
5. **Code Review**:
|
|
245
|
+
\`\`\`bash
|
|
246
|
+
codex "Adopt Tech Lead role from AGENTS.md. Review src/auth/ code."
|
|
247
|
+
\`\`\`
|
|
248
|
+
|
|
249
|
+
TIPS & TRICKS:
|
|
250
|
+
|
|
251
|
+
1. **Always Reference AGENTS.md**
|
|
252
|
+
- CLI: Explicit in command
|
|
253
|
+
- Web: Upload at conversation start
|
|
254
|
+
|
|
255
|
+
2. **Use Task-Based Approach**
|
|
256
|
+
- Break work into tasks (T001, T002, etc.)
|
|
257
|
+
- Each task runs in isolated environment
|
|
258
|
+
- Easier to track and validate
|
|
259
|
+
|
|
260
|
+
3. **Monitor Progress**
|
|
261
|
+
- CLI shows real-time progress (1-30 minutes per task)
|
|
262
|
+
- Web shows thinking process
|
|
263
|
+
- Review citations and logs
|
|
264
|
+
|
|
265
|
+
4. **Leverage Multiple Access Points**
|
|
266
|
+
- CLI for speed
|
|
267
|
+
- Web for accessibility
|
|
268
|
+
- IDE for integration
|
|
269
|
+
|
|
270
|
+
5. **Validate with Tests**
|
|
271
|
+
- Codex can run tests automatically
|
|
272
|
+
- Verify implementations work
|
|
273
|
+
|
|
274
|
+
COMPARISON:
|
|
275
|
+
|
|
276
|
+
| Feature | Claude Code | Codex |
|
|
277
|
+
|---------|-------------|-------|
|
|
278
|
+
| **Automation** | Full | Semi |
|
|
279
|
+
| **Skills** | Native | Via AGENTS.md |
|
|
280
|
+
| **Agents** | Native | Via AGENTS.md |
|
|
281
|
+
| **Access** | CLI only | CLI + Web + IDE + GitHub + iOS |
|
|
282
|
+
| **Model** | Sonnet 4.5 | GPT-5-Codex |
|
|
283
|
+
| **Task Isolation** | No | Yes (isolated environments) |
|
|
284
|
+
|
|
285
|
+
LIMITATIONS:
|
|
286
|
+
|
|
287
|
+
- No native skills/agents (manual role adoption via AGENTS.md)
|
|
288
|
+
- No hooks (can't auto-update docs on events)
|
|
289
|
+
- Tasks run 1-30 minutes (not instant)
|
|
290
|
+
- Requires ChatGPT Plus/Pro/Business/Enterprise
|
|
291
|
+
|
|
292
|
+
But very powerful with GPT-5-Codex and multiple access points!
|
|
293
|
+
|
|
294
|
+
PLANS & PRICING:
|
|
295
|
+
|
|
296
|
+
- **ChatGPT Plus**: $20/month (includes Codex CLI + Web)
|
|
297
|
+
- **ChatGPT Pro**: $200/month (unlimited, faster)
|
|
298
|
+
- **Business/Enterprise**: Custom pricing
|
|
299
|
+
|
|
300
|
+
Free trial may be available - check OpenAI website.
|
|
301
|
+
|
|
302
|
+
DOCUMENTATION:
|
|
303
|
+
|
|
304
|
+
- AGENTS.md: Universal SpecWeave instructions (READ THIS!)
|
|
305
|
+
- SPECWEAVE.md: Complete framework documentation
|
|
306
|
+
- .codex/README.md: Codex adapter guide
|
|
307
|
+
- https://openai.com/codex/
|
|
308
|
+
|
|
309
|
+
You're ready to build with SpecWeave on OpenAI Codex!
|
|
310
|
+
|
|
311
|
+
Pro tip: Use CLI for speed, Web for accessibility, and always
|
|
312
|
+
reference AGENTS.md for SpecWeave structure!
|
|
313
|
+
`;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/codex/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
* GitHub Copilot Adapter
|
|
3
3
|
*
|
|
4
4
|
* Basic automation adapter for GitHub Copilot.
|
|
5
|
-
*
|
|
5
|
+
* Copilot automatically reads AGENTS.md (universal standard) for context and suggestions.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
* this adapter focuses on clear, structured guidance that Copilot can use
|
|
9
|
-
* to provide better code suggestions and completions.
|
|
7
|
+
* This adapter requires no additional files - Copilot reads AGENTS.md automatically.
|
|
10
8
|
*/
|
|
11
|
-
import { AdapterBase } from '../adapter-base';
|
|
12
|
-
import { AdapterOptions, AdapterFile } from '../adapter-interface';
|
|
9
|
+
import { AdapterBase } from '../adapter-base.js';
|
|
10
|
+
import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
|
|
13
11
|
export declare class CopilotAdapter extends AdapterBase {
|
|
14
12
|
name: string;
|
|
15
13
|
description: string;
|
|
@@ -17,13 +15,16 @@ export declare class CopilotAdapter extends AdapterBase {
|
|
|
17
15
|
/**
|
|
18
16
|
* Detect if GitHub Copilot is available
|
|
19
17
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
18
|
+
* Note: Detection is best-effort since Copilot might be installed
|
|
19
|
+
* but we can't detect it reliably. This adapter is safe to use
|
|
20
|
+
* as a fallback since Copilot reads AGENTS.md (universal standard).
|
|
23
21
|
*/
|
|
24
22
|
detect(): Promise<boolean>;
|
|
25
23
|
/**
|
|
26
24
|
* Get files to install for Copilot adapter
|
|
25
|
+
*
|
|
26
|
+
* Note: Copilot automatically reads AGENTS.md (universal standard).
|
|
27
|
+
* No additional files needed.
|
|
27
28
|
*/
|
|
28
29
|
getFiles(): AdapterFile[];
|
|
29
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/copilot/adapter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/copilot/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtE,qBAAa,cAAe,SAAQ,WAAW;IAC7C,IAAI,SAAa;IACjB,WAAW,SAA8D;IACzE,eAAe,EAAG,OAAO,CAAU;IAEnC;;;;;;OAMG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAMhC;;;;;OAKG;IACH,QAAQ,IAAI,WAAW,EAAE;IAIzB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,eAAe,IAAI,MAAM;CAsH1B"}
|
|
@@ -1,103 +1,47 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* GitHub Copilot Adapter
|
|
4
3
|
*
|
|
5
4
|
* Basic automation adapter for GitHub Copilot.
|
|
6
|
-
*
|
|
5
|
+
* Copilot automatically reads AGENTS.md (universal standard) for context and suggestions.
|
|
7
6
|
*
|
|
8
|
-
*
|
|
9
|
-
* this adapter focuses on clear, structured guidance that Copilot can use
|
|
10
|
-
* to provide better code suggestions and completions.
|
|
7
|
+
* This adapter requires no additional files - Copilot reads AGENTS.md automatically.
|
|
11
8
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
15
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
16
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
17
|
-
}
|
|
18
|
-
Object.defineProperty(o, k2, desc);
|
|
19
|
-
}) : (function(o, m, k, k2) {
|
|
20
|
-
if (k2 === undefined) k2 = k;
|
|
21
|
-
o[k2] = m[k];
|
|
22
|
-
}));
|
|
23
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
24
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
25
|
-
}) : function(o, v) {
|
|
26
|
-
o["default"] = v;
|
|
27
|
-
});
|
|
28
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
-
var ownKeys = function(o) {
|
|
30
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
-
var ar = [];
|
|
32
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
-
return ar;
|
|
34
|
-
};
|
|
35
|
-
return ownKeys(o);
|
|
36
|
-
};
|
|
37
|
-
return function (mod) {
|
|
38
|
-
if (mod && mod.__esModule) return mod;
|
|
39
|
-
var result = {};
|
|
40
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
-
__setModuleDefault(result, mod);
|
|
42
|
-
return result;
|
|
43
|
-
};
|
|
44
|
-
})();
|
|
45
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
-
exports.CopilotAdapter = void 0;
|
|
47
|
-
const path = __importStar(require("path"));
|
|
48
|
-
const fs = __importStar(require("fs-extra"));
|
|
49
|
-
const adapter_base_1 = require("../adapter-base");
|
|
50
|
-
class CopilotAdapter extends adapter_base_1.AdapterBase {
|
|
9
|
+
import { AdapterBase } from '../adapter-base.js';
|
|
10
|
+
export class CopilotAdapter extends AdapterBase {
|
|
51
11
|
constructor() {
|
|
52
12
|
super(...arguments);
|
|
53
13
|
this.name = 'copilot';
|
|
54
|
-
this.description = 'GitHub Copilot adapter - Basic automation with
|
|
14
|
+
this.description = 'GitHub Copilot adapter - Basic automation with AGENTS.md';
|
|
55
15
|
this.automationLevel = 'basic';
|
|
56
16
|
}
|
|
57
17
|
/**
|
|
58
18
|
* Detect if GitHub Copilot is available
|
|
59
19
|
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
20
|
+
* Note: Detection is best-effort since Copilot might be installed
|
|
21
|
+
* but we can't detect it reliably. This adapter is safe to use
|
|
22
|
+
* as a fallback since Copilot reads AGENTS.md (universal standard).
|
|
63
23
|
*/
|
|
64
24
|
async detect() {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
// This is approximate - Copilot might be installed but we can't detect reliably
|
|
69
|
-
return hasInstructions || hasGitHubDir;
|
|
25
|
+
// Always return false to make this a manual selection
|
|
26
|
+
// Users can explicitly choose Copilot adapter if they want
|
|
27
|
+
return false;
|
|
70
28
|
}
|
|
71
29
|
/**
|
|
72
30
|
* Get files to install for Copilot adapter
|
|
31
|
+
*
|
|
32
|
+
* Note: Copilot automatically reads AGENTS.md (universal standard).
|
|
33
|
+
* No additional files needed.
|
|
73
34
|
*/
|
|
74
35
|
getFiles() {
|
|
75
|
-
return [
|
|
76
|
-
{
|
|
77
|
-
sourcePath: '.github/copilot/instructions.md',
|
|
78
|
-
targetPath: '.github/copilot/instructions.md',
|
|
79
|
-
description: 'GitHub Copilot workspace instructions'
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
sourcePath: 'README.md',
|
|
83
|
-
targetPath: '.github/copilot/README.md',
|
|
84
|
-
description: 'Copilot adapter documentation'
|
|
85
|
-
}
|
|
86
|
-
];
|
|
36
|
+
return [];
|
|
87
37
|
}
|
|
88
38
|
/**
|
|
89
39
|
* Install Copilot adapter
|
|
90
40
|
*/
|
|
91
41
|
async install(options) {
|
|
92
|
-
console.log('\n📦
|
|
93
|
-
//
|
|
94
|
-
|
|
95
|
-
await fs.ensureDir(copilotDir);
|
|
96
|
-
// Copy files
|
|
97
|
-
await super.install(options);
|
|
98
|
-
console.log('\n✨ Copilot adapter installed!');
|
|
99
|
-
console.log('\n📋 Files created:');
|
|
100
|
-
console.log(' - .github/copilot/instructions.md (workspace guidance)');
|
|
42
|
+
console.log('\n📦 Configuring GitHub Copilot (Basic Automation)\n');
|
|
43
|
+
// No files to install - Copilot reads AGENTS.md automatically
|
|
44
|
+
console.log('✅ Copilot will automatically read AGENTS.md');
|
|
101
45
|
}
|
|
102
46
|
/**
|
|
103
47
|
* Post-installation instructions
|
|
@@ -118,14 +62,14 @@ Your project is now configured for GitHub Copilot!
|
|
|
118
62
|
|
|
119
63
|
WHAT THIS PROVIDES:
|
|
120
64
|
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
65
|
+
- AGENTS.md (Universal Standard)
|
|
66
|
+
- Copilot automatically reads this file
|
|
67
|
+
- Contains all workflow instructions
|
|
68
|
+
- Project structure and templates
|
|
69
|
+
- Following agents.md standard (https://agents.md/)
|
|
126
70
|
|
|
127
71
|
- Better Code Suggestions
|
|
128
|
-
- Copilot reads
|
|
72
|
+
- Copilot reads AGENTS.md for context
|
|
129
73
|
- Suggests code following SpecWeave patterns
|
|
130
74
|
- Understands project structure
|
|
131
75
|
|
|
@@ -135,26 +79,22 @@ Claude Code (Full Automation):
|
|
|
135
79
|
- Native skills (auto-activate)
|
|
136
80
|
- Native agents (separate context windows)
|
|
137
81
|
- Native hooks (auto-update docs)
|
|
138
|
-
- Slash commands
|
|
82
|
+
- Slash commands (/inc, /do, /done)
|
|
139
83
|
|
|
140
84
|
Cursor (Semi-Automation):
|
|
141
|
-
-
|
|
142
|
-
- Simulated agents (manual roles)
|
|
85
|
+
- Reads AGENTS.md for workflow
|
|
143
86
|
- @ context shortcuts
|
|
87
|
+
- Composer multi-file editing
|
|
144
88
|
|
|
145
89
|
Copilot (Basic Automation - This Adapter):
|
|
146
|
-
-
|
|
90
|
+
- Reads AGENTS.md automatically
|
|
147
91
|
- Better code suggestions
|
|
148
92
|
- No skills, agents, hooks, or commands
|
|
149
93
|
- Manual workflow with AI assistance
|
|
150
94
|
|
|
151
|
-
HOW
|
|
152
|
-
|
|
153
|
-
GitHub Copilot doesn't support custom commands or complex
|
|
154
|
-
workflows. But it DOES read workspace instructions to provide
|
|
155
|
-
better code suggestions.
|
|
95
|
+
HOW COPILOT USES AGENTS.MD:
|
|
156
96
|
|
|
157
|
-
|
|
97
|
+
GitHub Copilot automatically reads AGENTS.md to understand:
|
|
158
98
|
- SpecWeave structure (.specweave/ folders)
|
|
159
99
|
- File naming conventions (spec.md, plan.md, tasks.md)
|
|
160
100
|
- Context manifests (what files to reference)
|
|
@@ -164,12 +104,11 @@ Result: Copilot suggests code that fits SpecWeave patterns!
|
|
|
164
104
|
|
|
165
105
|
HOW TO USE SPECWEAVE WITH COPILOT:
|
|
166
106
|
|
|
167
|
-
1. Copilot reads
|
|
107
|
+
1. Copilot reads AGENTS.md automatically
|
|
168
108
|
- No action needed - just open project in VS Code
|
|
169
109
|
- Copilot will suggest code following SpecWeave patterns
|
|
170
110
|
|
|
171
111
|
2. Create increments manually:
|
|
172
|
-
|
|
173
112
|
mkdir -p .specweave/increments/0001-user-auth
|
|
174
113
|
|
|
175
114
|
3. Reference context manifests:
|
|
@@ -184,20 +123,19 @@ HOW TO USE SPECWEAVE WITH COPILOT:
|
|
|
184
123
|
|
|
185
124
|
5. Use Copilot inline suggestions:
|
|
186
125
|
Start typing in spec.md → Copilot suggests content
|
|
187
|
-
Following SpecWeave patterns from
|
|
126
|
+
Following SpecWeave patterns from AGENTS.md
|
|
188
127
|
|
|
189
128
|
WORKFLOW EXAMPLE:
|
|
190
129
|
|
|
191
130
|
Creating a Feature:
|
|
192
131
|
|
|
193
132
|
1. Create increment folder:
|
|
194
|
-
|
|
195
133
|
mkdir -p .specweave/increments/0002-payments
|
|
196
134
|
cd .specweave/increments/0002-payments
|
|
197
135
|
|
|
198
136
|
2. Create spec.md:
|
|
199
137
|
- Open file, start typing frontmatter
|
|
200
|
-
- Copilot suggests SpecWeave structure
|
|
138
|
+
- Copilot suggests SpecWeave structure (from AGENTS.md)
|
|
201
139
|
- Fill in user stories, acceptance criteria
|
|
202
140
|
|
|
203
141
|
3. Create plan.md:
|
|
@@ -218,14 +156,12 @@ LIMITATIONS (vs Claude Code & Cursor):
|
|
|
218
156
|
- Completely manual workflow
|
|
219
157
|
|
|
220
158
|
But Copilot still provides helpful suggestions!
|
|
221
|
-
- Understands SpecWeave structure from
|
|
159
|
+
- Understands SpecWeave structure from AGENTS.md
|
|
222
160
|
- Suggests code following project patterns
|
|
223
161
|
|
|
224
162
|
DOCUMENTATION:
|
|
225
163
|
|
|
226
|
-
-
|
|
227
|
-
- .github/copilot/instructions.md: Workspace instructions
|
|
228
|
-
- .github/copilot/README.md: Copilot adapter guide
|
|
164
|
+
- AGENTS.md: Universal workflow instructions (Copilot reads this!)
|
|
229
165
|
- .specweave/docs/: Project documentation
|
|
230
166
|
|
|
231
167
|
You're ready to build with SpecWeave on GitHub Copilot!
|
|
@@ -235,5 +171,4 @@ Copilot is best for simple projects or when already using VS Code + Copilot.
|
|
|
235
171
|
`;
|
|
236
172
|
}
|
|
237
173
|
}
|
|
238
|
-
exports.CopilotAdapter = CopilotAdapter;
|
|
239
174
|
//# sourceMappingURL=adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/copilot/adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/copilot/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,OAAO,cAAe,SAAQ,WAAW;IAA/C;;QACE,SAAI,GAAG,SAAS,CAAC;QACjB,gBAAW,GAAG,0DAA0D,CAAC;QACzE,oBAAe,GAAG,OAAgB,CAAC;IAmKrC,CAAC;IAjKC;;;;;;OAMG;IACH,KAAK,CAAC,MAAM;QACV,sDAAsD;QACtD,2DAA2D;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QAEpE,8DAA8D;QAC9D,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAuB;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmHN,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
* Cursor Adapter
|
|
3
3
|
*
|
|
4
4
|
* Semi-automation adapter for Cursor editor.
|
|
5
|
-
* Provides
|
|
5
|
+
* Provides @ context shortcuts for quick context injection.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Cursor automatically reads AGENTS.md (universal standard) for workflow instructions.
|
|
8
|
+
* This adapter only installs Cursor-specific features (@ shortcuts).
|
|
9
9
|
*/
|
|
10
|
-
import { AdapterBase } from '../adapter-base';
|
|
11
|
-
import { AdapterOptions, AdapterFile } from '../adapter-interface';
|
|
10
|
+
import { AdapterBase } from '../adapter-base.js';
|
|
11
|
+
import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
|
|
12
12
|
export declare class CursorAdapter extends AdapterBase {
|
|
13
13
|
name: string;
|
|
14
14
|
description: string;
|
|
@@ -19,11 +19,13 @@ export declare class CursorAdapter extends AdapterBase {
|
|
|
19
19
|
* Checks for:
|
|
20
20
|
* - cursor command in PATH
|
|
21
21
|
* - .cursor/ directory exists
|
|
22
|
-
* - .cursorrules file exists
|
|
23
22
|
*/
|
|
24
23
|
detect(): Promise<boolean>;
|
|
25
24
|
/**
|
|
26
25
|
* Get files to install for Cursor adapter
|
|
26
|
+
*
|
|
27
|
+
* Note: Cursor automatically reads AGENTS.md (universal standard).
|
|
28
|
+
* This adapter only installs Cursor-specific @ context shortcuts.
|
|
27
29
|
*/
|
|
28
30
|
getFiles(): AdapterFile[];
|
|
29
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/cursor/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/cursor/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtE,qBAAa,aAAc,SAAQ,WAAW;IAC5C,IAAI,SAAY;IAChB,WAAW,SAA6E;IACxF,eAAe,EAAG,MAAM,CAAU;IAElC;;;;;;OAMG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAOhC;;;;;OAKG;IACH,QAAQ,IAAI,WAAW,EAAE;IA8BzB;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBrD;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACH,eAAe,IAAI,MAAM;CA0H1B"}
|