specweave 0.1.9 → 0.3.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.md +600 -0
- package/README.md +245 -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 +272 -170
- 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,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gemini CLI Adapter
|
|
3
|
+
*
|
|
4
|
+
* Semi-automation adapter for Google Gemini CLI.
|
|
5
|
+
* Uses universal AGENTS.md file for instructions.
|
|
6
|
+
*
|
|
7
|
+
* Gemini CLI features:
|
|
8
|
+
* - Open-source AI agent (Apache 2.0)
|
|
9
|
+
* - 1M token context window
|
|
10
|
+
* - ReAct loop with built-in tools
|
|
11
|
+
* - MCP (Model Context Protocol) support
|
|
12
|
+
* - Agent mode for multi-file tasks
|
|
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 GeminiAdapter extends AdapterBase {
|
|
25
|
+
name = 'gemini';
|
|
26
|
+
description = 'Gemini CLI adapter - Semi-automation with AGENTS.md and agent mode';
|
|
27
|
+
automationLevel = 'semi' as const;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Detect if Gemini CLI is available
|
|
31
|
+
*
|
|
32
|
+
* Checks for:
|
|
33
|
+
* - gemini command in PATH
|
|
34
|
+
* - .gemini/ directory exists
|
|
35
|
+
* - AGENTS.md file exists (previously configured)
|
|
36
|
+
*/
|
|
37
|
+
async detect(): Promise<boolean> {
|
|
38
|
+
const hasGeminiCLI = await this.commandExists('gemini');
|
|
39
|
+
const hasGeminiDir = await this.fileExists('.gemini');
|
|
40
|
+
const hasAgentsMd = await this.fileExists('AGENTS.md');
|
|
41
|
+
|
|
42
|
+
return hasGeminiCLI || hasGeminiDir || hasAgentsMd;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Get files to install for Gemini 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: '.gemini/README.md',
|
|
58
|
+
description: 'Gemini adapter documentation'
|
|
59
|
+
}
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Install Gemini adapter
|
|
65
|
+
*/
|
|
66
|
+
async install(options: AdapterOptions): Promise<void> {
|
|
67
|
+
console.log('\n📦 Installing Gemini CLI Adapter (Semi-Automation)\n');
|
|
68
|
+
|
|
69
|
+
// Ensure .gemini directory exists
|
|
70
|
+
const geminiDir = path.join(options.projectPath, '.gemini');
|
|
71
|
+
await fs.ensureDir(geminiDir);
|
|
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(geminiDir, 'README.md'));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
console.log('\n✨ Gemini adapter installed!');
|
|
84
|
+
console.log('\n📋 Files created:');
|
|
85
|
+
console.log(' - AGENTS.md (universal instructions)');
|
|
86
|
+
console.log(' - .gemini/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 Gemini adapter
|
|
117
|
+
*/
|
|
118
|
+
getInstructions(): string {
|
|
119
|
+
return `
|
|
120
|
+
================================================================
|
|
121
|
+
Gemini CLI Adapter - Semi-Automation
|
|
122
|
+
================================================================
|
|
123
|
+
|
|
124
|
+
Your project is now configured for Gemini CLI with SEMI-automation!
|
|
125
|
+
|
|
126
|
+
WHAT THIS PROVIDES:
|
|
127
|
+
|
|
128
|
+
- AGENTS.md (Universal Instructions)
|
|
129
|
+
- Works with Gemini CLI AND other tools
|
|
130
|
+
- Auto-generated from actual skills/agents
|
|
131
|
+
- SpecWeave structure and workflows
|
|
132
|
+
- 1M token context window support
|
|
133
|
+
|
|
134
|
+
- Agent Mode Integration
|
|
135
|
+
- Multi-file task handling
|
|
136
|
+
- ReAct loop with built-in tools
|
|
137
|
+
- MCP support for extensibility
|
|
138
|
+
|
|
139
|
+
QUICK START:
|
|
140
|
+
|
|
141
|
+
1. Install Gemini CLI (if not already installed):
|
|
142
|
+
|
|
143
|
+
npm install -g @google-cloud/gemini-cli
|
|
144
|
+
|
|
145
|
+
2. Authenticate:
|
|
146
|
+
|
|
147
|
+
gemini auth
|
|
148
|
+
|
|
149
|
+
3. Create your first feature:
|
|
150
|
+
|
|
151
|
+
gemini "Read AGENTS.md and create increment for user authentication"
|
|
152
|
+
|
|
153
|
+
Gemini will:
|
|
154
|
+
- Read AGENTS.md for SpecWeave context
|
|
155
|
+
- Adopt PM role: Create spec.md (WHAT/WHY)
|
|
156
|
+
- Adopt Architect role: Create plan.md (HOW)
|
|
157
|
+
- Create tasks.md
|
|
158
|
+
- Use agent mode for multi-file operations
|
|
159
|
+
|
|
160
|
+
4. Continue development:
|
|
161
|
+
|
|
162
|
+
gemini "Implement task T001 from increment 0001"
|
|
163
|
+
gemini "Run tests for increment 0001"
|
|
164
|
+
gemini "Review and fix any issues"
|
|
165
|
+
|
|
166
|
+
HOW TO USE:
|
|
167
|
+
|
|
168
|
+
Gemini CLI reads AGENTS.md automatically when you reference it:
|
|
169
|
+
|
|
170
|
+
\`\`\`bash
|
|
171
|
+
# Explicit reference (recommended):
|
|
172
|
+
gemini "Read AGENTS.md and [your request]"
|
|
173
|
+
|
|
174
|
+
# Natural language:
|
|
175
|
+
gemini "Create a new feature following SpecWeave structure"
|
|
176
|
+
|
|
177
|
+
# With context:
|
|
178
|
+
gemini "Following the PM role in AGENTS.md, create requirements for payments"
|
|
179
|
+
\`\`\`
|
|
180
|
+
|
|
181
|
+
CONTEXT LOADING (70%+ Token Savings):
|
|
182
|
+
|
|
183
|
+
CRITICAL: Tell Gemini to read context-manifest.yaml first!
|
|
184
|
+
|
|
185
|
+
\`\`\`bash
|
|
186
|
+
gemini "Read context-manifest.yaml from increment 0001, load only those files, then implement task T001"
|
|
187
|
+
\`\`\`
|
|
188
|
+
|
|
189
|
+
**Why this matters**:
|
|
190
|
+
- Gemini has 1M token context window
|
|
191
|
+
- But loading everything wastes tokens
|
|
192
|
+
- Context manifests = precise, efficient loading
|
|
193
|
+
|
|
194
|
+
FEATURES:
|
|
195
|
+
|
|
196
|
+
✅ 1M Token Context Window
|
|
197
|
+
- Can handle large specifications
|
|
198
|
+
- Read entire codebase if needed
|
|
199
|
+
|
|
200
|
+
✅ Agent Mode
|
|
201
|
+
- Multi-file task completion
|
|
202
|
+
- Automatic planning and execution
|
|
203
|
+
- Interactive approval before changes
|
|
204
|
+
|
|
205
|
+
✅ Built-in Tools
|
|
206
|
+
- File operations
|
|
207
|
+
- Shell commands
|
|
208
|
+
- Google Search grounding
|
|
209
|
+
- Web fetching
|
|
210
|
+
|
|
211
|
+
✅ MCP Support
|
|
212
|
+
- Extend with custom integrations
|
|
213
|
+
- Local or remote MCP servers
|
|
214
|
+
|
|
215
|
+
✅ Free Tier
|
|
216
|
+
- Gemini 2.5 Pro included
|
|
217
|
+
- 60 requests/minute
|
|
218
|
+
- 1,000 requests/day
|
|
219
|
+
|
|
220
|
+
EXAMPLE WORKFLOWS:
|
|
221
|
+
|
|
222
|
+
1. **Create Feature**:
|
|
223
|
+
\`\`\`bash
|
|
224
|
+
gemini "Read AGENTS.md. Create increment 0002 for payment processing with Stripe. Follow SpecWeave structure: spec.md (PM role), plan.md (Architect role), tasks.md"
|
|
225
|
+
\`\`\`
|
|
226
|
+
|
|
227
|
+
2. **Implement Task**:
|
|
228
|
+
\`\`\`bash
|
|
229
|
+
gemini "Read increment 0002, implement task T001 (Setup Stripe SDK)"
|
|
230
|
+
\`\`\`
|
|
231
|
+
|
|
232
|
+
3. **Fix Bug**:
|
|
233
|
+
\`\`\`bash
|
|
234
|
+
gemini "Read AGENTS.md and increment 0001. Fix authentication bug in login endpoint. Update tests."
|
|
235
|
+
\`\`\`
|
|
236
|
+
|
|
237
|
+
4. **Review Code**:
|
|
238
|
+
\`\`\`bash
|
|
239
|
+
gemini "Adopt Tech Lead role from AGENTS.md. Review code in src/auth/ and provide feedback"
|
|
240
|
+
\`\`\`
|
|
241
|
+
|
|
242
|
+
TIPS & TRICKS:
|
|
243
|
+
|
|
244
|
+
1. **Always Reference AGENTS.md**
|
|
245
|
+
- Ensures Gemini understands SpecWeave structure
|
|
246
|
+
- Provides role definitions (PM, Architect, etc.)
|
|
247
|
+
|
|
248
|
+
2. **Use Agent Mode**
|
|
249
|
+
- For complex, multi-file tasks
|
|
250
|
+
- Gemini proposes plan before execution
|
|
251
|
+
- You approve changes
|
|
252
|
+
|
|
253
|
+
3. **Leverage 1M Context Window**
|
|
254
|
+
- Can load large specs
|
|
255
|
+
- But still use context manifests for efficiency
|
|
256
|
+
|
|
257
|
+
4. **MCP Integration**
|
|
258
|
+
- Connect to your tools (JIRA, GitHub, etc.)
|
|
259
|
+
- See: https://modelcontextprotocol.io/
|
|
260
|
+
|
|
261
|
+
5. **Check Gemini Documentation**
|
|
262
|
+
- \`gemini --help\`
|
|
263
|
+
- https://developers.google.com/gemini-code-assist/docs/gemini-cli
|
|
264
|
+
|
|
265
|
+
COMPARISON:
|
|
266
|
+
|
|
267
|
+
| Feature | Claude Code | Gemini CLI |
|
|
268
|
+
|---------|-------------|------------|
|
|
269
|
+
| **Automation** | Full | Semi |
|
|
270
|
+
| **Skills** | Native | Via AGENTS.md |
|
|
271
|
+
| **Agents** | Native | Via AGENTS.md |
|
|
272
|
+
| **Context Window** | 200k | 1M (5x larger!) |
|
|
273
|
+
| **Cost** | Paid | Free tier available |
|
|
274
|
+
| **Open Source** | No | Yes (Apache 2.0) |
|
|
275
|
+
|
|
276
|
+
LIMITATIONS:
|
|
277
|
+
|
|
278
|
+
- No native skills/agents (manual role adoption via AGENTS.md)
|
|
279
|
+
- No hooks (can't auto-update docs on events)
|
|
280
|
+
- Requires explicit instruction referencing
|
|
281
|
+
- CLI-only (no IDE integration yet)
|
|
282
|
+
|
|
283
|
+
But still VERY powerful with 1M context and agent mode!
|
|
284
|
+
|
|
285
|
+
DOCUMENTATION:
|
|
286
|
+
|
|
287
|
+
- AGENTS.md: Universal SpecWeave instructions (READ THIS!)
|
|
288
|
+
- SPECWEAVE.md: Complete framework documentation
|
|
289
|
+
- .gemini/README.md: Gemini adapter guide
|
|
290
|
+
- https://developers.google.com/gemini-code-assist/docs/gemini-cli
|
|
291
|
+
|
|
292
|
+
You're ready to build with SpecWeave on Gemini CLI!
|
|
293
|
+
|
|
294
|
+
Pro tip: Leverage the 1M token context window for large specifications,
|
|
295
|
+
but always use context manifests for efficiency!
|
|
296
|
+
`;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generic Adapter
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Universal adapter that works with ANY AI tool.
|
|
5
|
+
* All AI tools can read AGENTS.md (universal standard) for workflow instructions.
|
|
6
6
|
*
|
|
7
7
|
* This adapter ensures 100% compatibility - works with ChatGPT web, Claude web,
|
|
8
8
|
* Gemini, or literally ANY AI that can read markdown and follow instructions.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import * as path from 'path';
|
|
12
|
-
import
|
|
13
|
-
import { AdapterBase } from '../adapter-base';
|
|
14
|
-
import { AdapterOptions, AdapterFile } from '../adapter-interface';
|
|
12
|
+
import fs from 'fs-extra';
|
|
13
|
+
import { AdapterBase } from '../adapter-base.js';
|
|
14
|
+
import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
|
|
15
15
|
|
|
16
16
|
export class GenericAdapter extends AdapterBase {
|
|
17
17
|
name = 'generic';
|
|
18
|
-
description = 'Generic adapter -
|
|
18
|
+
description = 'Generic adapter - AGENTS.md works with ANY AI tool (ChatGPT, Gemini, etc.)';
|
|
19
19
|
automationLevel = 'manual' as const;
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -31,34 +31,22 @@ export class GenericAdapter extends AdapterBase {
|
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* Get files to install for Generic adapter
|
|
34
|
+
*
|
|
35
|
+
* Note: Any AI tool can read AGENTS.md (universal standard).
|
|
36
|
+
* No additional files needed.
|
|
34
37
|
*/
|
|
35
38
|
getFiles(): AdapterFile[] {
|
|
36
|
-
return [
|
|
37
|
-
{
|
|
38
|
-
sourcePath: 'SPECWEAVE-MANUAL.md',
|
|
39
|
-
targetPath: 'SPECWEAVE-MANUAL.md',
|
|
40
|
-
description: 'Complete manual workflow guide for ANY AI tool'
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
sourcePath: 'README.md',
|
|
44
|
-
targetPath: '.specweave/adapters/generic/README.md',
|
|
45
|
-
description: 'Generic adapter documentation'
|
|
46
|
-
}
|
|
47
|
-
];
|
|
39
|
+
return [];
|
|
48
40
|
}
|
|
49
41
|
|
|
50
42
|
/**
|
|
51
43
|
* Install Generic adapter
|
|
52
44
|
*/
|
|
53
45
|
async install(options: AdapterOptions): Promise<void> {
|
|
54
|
-
console.log('\n📦
|
|
55
|
-
|
|
56
|
-
// Generic adapter is simple - just copy manual guide
|
|
57
|
-
await super.install(options);
|
|
46
|
+
console.log('\n📦 Configuring for Universal AI Tool Compatibility\n');
|
|
58
47
|
|
|
59
|
-
|
|
60
|
-
console.log('
|
|
61
|
-
console.log(' - SPECWEAVE-MANUAL.md (complete manual workflow guide)');
|
|
48
|
+
// No files to install - any AI can read AGENTS.md
|
|
49
|
+
console.log('✅ AGENTS.md works with any AI tool (ChatGPT, Gemini, Claude web, etc.)');
|
|
62
50
|
}
|
|
63
51
|
|
|
64
52
|
/**
|
|
@@ -74,35 +62,49 @@ export class GenericAdapter extends AdapterBase {
|
|
|
74
62
|
getInstructions(): string {
|
|
75
63
|
return `
|
|
76
64
|
================================================================
|
|
77
|
-
Generic Adapter -
|
|
65
|
+
Generic Adapter - Universal Compatibility
|
|
78
66
|
================================================================
|
|
79
67
|
|
|
80
68
|
Your project is now configured for ANY AI tool!
|
|
81
69
|
|
|
82
70
|
WHAT THIS PROVIDES:
|
|
83
71
|
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
72
|
+
- AGENTS.md (Universal Standard)
|
|
73
|
+
- Any AI tool can read this file
|
|
74
|
+
- Contains all workflow instructions
|
|
75
|
+
- Project structure and templates
|
|
76
|
+
- Following agents.md standard (https://agents.md/)
|
|
89
77
|
|
|
90
78
|
- 100% Compatibility
|
|
91
79
|
- ChatGPT (web), Claude (web), Gemini
|
|
92
|
-
- Any AI that can read
|
|
80
|
+
- Any AI that can read markdown
|
|
81
|
+
|
|
82
|
+
HOW TO USE AGENTS.MD WITH ANY AI:
|
|
83
|
+
|
|
84
|
+
Method 1: Copy-Paste Workflow (ChatGPT web, Claude web, etc.)
|
|
85
|
+
1. Open AGENTS.md in your browser/editor
|
|
86
|
+
2. Copy relevant section (e.g., "Creating a Feature Increment")
|
|
87
|
+
3. Paste into AI chat (ChatGPT, Claude web, Gemini, etc.)
|
|
88
|
+
4. Ask AI to follow the instructions
|
|
89
|
+
5. AI generates content (spec.md, plan.md, etc.)
|
|
90
|
+
6. Copy AI's response, save to files
|
|
91
|
+
|
|
92
|
+
Method 2: File System Access (AI with file access)
|
|
93
|
+
1. AI automatically reads AGENTS.md
|
|
94
|
+
2. Ask: "Create increment for user authentication"
|
|
95
|
+
3. AI follows AGENTS.md workflow
|
|
96
|
+
4. AI creates files directly
|
|
93
97
|
|
|
94
98
|
UNDERSTANDING "MANUAL":
|
|
95
99
|
|
|
96
100
|
Manual = You Orchestrate, AI Executes
|
|
97
101
|
|
|
98
102
|
Example workflow:
|
|
99
|
-
1.
|
|
100
|
-
2.
|
|
101
|
-
3.
|
|
102
|
-
4.
|
|
103
|
-
5.
|
|
104
|
-
6. You copy AI's response, save to spec.md file
|
|
105
|
-
7. Repeat for plan.md, tasks.md, etc.
|
|
103
|
+
1. Read AGENTS.md section "Creating a Feature Increment"
|
|
104
|
+
2. Copy instructions to ChatGPT
|
|
105
|
+
3. ChatGPT generates spec.md content
|
|
106
|
+
4. Save content to .specweave/increments/0001-auth/spec.md
|
|
107
|
+
5. Repeat for plan.md, tasks.md
|
|
106
108
|
|
|
107
109
|
Manual does not mean harder - just means YOU control each step (no automation).
|
|
108
110
|
Benefit: Works with ANY AI tool!
|
|
@@ -110,13 +112,13 @@ Benefit: Works with ANY AI tool!
|
|
|
110
112
|
COMPARISON:
|
|
111
113
|
|
|
112
114
|
Claude Code (Full): "create increment" -> Done in 30 seconds (auto)
|
|
113
|
-
Cursor (Semi): "create increment" -> Done in 5 minutes (.
|
|
114
|
-
Copilot (Basic):
|
|
115
|
-
Generic (Manual):
|
|
115
|
+
Cursor (Semi): "create increment" -> Done in 5 minutes (reads AGENTS.md)
|
|
116
|
+
Copilot (Basic): Reads AGENTS.md, suggests content as you type
|
|
117
|
+
Generic (Manual): Copy AGENTS.md instructions to any AI (10-30 min)
|
|
116
118
|
|
|
117
119
|
Trade-off: Speed vs Compatibility
|
|
118
|
-
- Claude Code: Fast, but
|
|
119
|
-
- Generic: Slower, but works with EVERY AI tool!
|
|
120
|
+
- Claude Code: Fast, but requires Claude Code CLI
|
|
121
|
+
- Generic: Slower, but works with EVERY AI tool (even web-based)!
|
|
120
122
|
|
|
121
123
|
WHEN TO USE:
|
|
122
124
|
|
|
@@ -127,33 +129,35 @@ Use Generic adapter if:
|
|
|
127
129
|
- Simple projects where automation isn't critical
|
|
128
130
|
|
|
129
131
|
Consider alternatives if:
|
|
130
|
-
- You want automation -> Use Claude Code (full)
|
|
131
|
-
- You have
|
|
132
|
+
- You want automation -> Use Claude Code (full)
|
|
133
|
+
- You have CLI access -> Use Cursor (semi) or Copilot (basic)
|
|
132
134
|
- Large projects -> Manual workflow becomes tedious
|
|
133
135
|
|
|
134
136
|
QUICK START:
|
|
135
137
|
|
|
136
|
-
1. Open
|
|
137
|
-
Read the
|
|
138
|
+
1. Open AGENTS.md
|
|
139
|
+
Read the "Common Workflows" section
|
|
140
|
+
|
|
141
|
+
2. Copy workflow to your AI tool:
|
|
142
|
+
- "Creating a Feature Increment" section
|
|
143
|
+
- Paste into ChatGPT/Claude/Gemini
|
|
138
144
|
|
|
139
|
-
|
|
140
|
-
-
|
|
141
|
-
-
|
|
142
|
-
-
|
|
143
|
-
- Step 4: Create tasks.md (copy template, paste to AI, save)
|
|
145
|
+
3. Follow AI's guidance:
|
|
146
|
+
- AI generates spec.md content (copy & save)
|
|
147
|
+
- AI generates plan.md content (copy & save)
|
|
148
|
+
- AI generates tasks.md content (copy & save)
|
|
144
149
|
|
|
145
|
-
|
|
150
|
+
4. Use any AI tool you prefer:
|
|
146
151
|
ChatGPT, Claude web, Gemini, Perplexity, etc.
|
|
147
152
|
|
|
148
153
|
DOCUMENTATION:
|
|
149
154
|
|
|
150
|
-
-
|
|
151
|
-
- SPECWEAVE.md: Complete technical documentation
|
|
155
|
+
- AGENTS.md: Universal workflow instructions (works with any AI!)
|
|
152
156
|
- .specweave/docs/: Project documentation
|
|
153
157
|
|
|
154
158
|
You're ready to build with SpecWeave using ANY AI tool!
|
|
155
159
|
|
|
156
|
-
Remember:
|
|
160
|
+
Remember: AGENTS.md is the universal standard - it works everywhere!
|
|
157
161
|
`;
|
|
158
162
|
}
|
|
159
163
|
}
|
|
@@ -9,21 +9,23 @@ last_updated: 2025-10-27
|
|
|
9
9
|
|
|
10
10
|
adapters:
|
|
11
11
|
- name: claude
|
|
12
|
-
description: "Claude Code adapter
|
|
12
|
+
description: "Claude Code - NATIVE/BASELINE (no adapter needed!). Full automation with skills, agents, hooks"
|
|
13
13
|
automation_level: full
|
|
14
|
-
status:
|
|
14
|
+
status: native
|
|
15
15
|
directory: claude
|
|
16
16
|
features:
|
|
17
|
+
- Native skills, agents, hooks (no approximation needed)
|
|
17
18
|
- Skills auto-activate (specweave-detector, skill-router, etc.)
|
|
18
19
|
- Agents coordinate (PM, Architect, DevOps, QA, Security)
|
|
19
20
|
- Hooks auto-update docs (post-task-completion, etc.)
|
|
20
|
-
- Slash commands (/create-increment, /
|
|
21
|
-
- Best experience, most features
|
|
21
|
+
- Slash commands (/create-increment, /sync-docs, etc.)
|
|
22
|
+
- Best experience, most features - THE BASELINE!
|
|
22
23
|
requirements:
|
|
23
24
|
- Claude Code CLI installed
|
|
24
25
|
- Node.js >= 18.0.0
|
|
25
26
|
market_share: 10%
|
|
26
|
-
priority:
|
|
27
|
+
priority: P0
|
|
28
|
+
note: "Claude is the native experience - adapters exist to approximate these capabilities for other tools"
|
|
27
29
|
|
|
28
30
|
- name: cursor
|
|
29
31
|
description: "Cursor adapter - Semi-automation with .cursorrules and @ shortcuts"
|
|
@@ -32,7 +34,7 @@ adapters:
|
|
|
32
34
|
directory: cursor
|
|
33
35
|
features:
|
|
34
36
|
- .cursorrules with SpecWeave workflow instructions
|
|
35
|
-
- @ context shortcuts (@increments, @docs, @strategy)
|
|
37
|
+
- "@ context shortcuts (@increments, @docs, @strategy)"
|
|
36
38
|
- Composer multi-file editing support
|
|
37
39
|
- Good experience, semi-automated
|
|
38
40
|
requirements:
|
|
@@ -73,6 +75,41 @@ adapters:
|
|
|
73
75
|
market_share: 20%
|
|
74
76
|
priority: P1
|
|
75
77
|
|
|
78
|
+
- name: gemini
|
|
79
|
+
description: "Gemini CLI adapter - Semi-automation with AGENTS.md and agent mode"
|
|
80
|
+
automation_level: semi
|
|
81
|
+
status: active
|
|
82
|
+
directory: gemini
|
|
83
|
+
features:
|
|
84
|
+
- AGENTS.md universal instructions
|
|
85
|
+
- 1M token context window (5x larger than Claude!)
|
|
86
|
+
- Agent mode for multi-file tasks
|
|
87
|
+
- MCP (Model Context Protocol) support
|
|
88
|
+
- Free tier available (60 req/min, 1K req/day)
|
|
89
|
+
- Open source (Apache 2.0)
|
|
90
|
+
requirements:
|
|
91
|
+
- Gemini CLI installed
|
|
92
|
+
- Node.js >= 18.0.0
|
|
93
|
+
market_share: 10%
|
|
94
|
+
priority: P1
|
|
95
|
+
|
|
96
|
+
- name: codex
|
|
97
|
+
description: "OpenAI Codex adapter - Semi-automation with AGENTS.md and GPT-5-Codex"
|
|
98
|
+
automation_level: semi
|
|
99
|
+
status: active
|
|
100
|
+
directory: codex
|
|
101
|
+
features:
|
|
102
|
+
- AGENTS.md universal instructions
|
|
103
|
+
- GPT-5-Codex optimized for engineering
|
|
104
|
+
- Multiple access points (CLI + Web + IDE + GitHub + iOS)
|
|
105
|
+
- Task-based isolated execution
|
|
106
|
+
- File operations and test execution
|
|
107
|
+
requirements:
|
|
108
|
+
- ChatGPT Plus/Pro/Business/Enterprise
|
|
109
|
+
- Node.js >= 18.0.0
|
|
110
|
+
market_share: 20%
|
|
111
|
+
priority: P1
|
|
112
|
+
|
|
76
113
|
# Future adapters (P2/P3)
|
|
77
114
|
future_adapters:
|
|
78
115
|
- name: windsurf
|
|
@@ -81,46 +118,70 @@ future_adapters:
|
|
|
81
118
|
status: planned
|
|
82
119
|
priority: P2
|
|
83
120
|
|
|
84
|
-
- name: gemini
|
|
85
|
-
description: "Google Gemini adapter (if requested by community)"
|
|
86
|
-
automation_level: basic
|
|
87
|
-
status: planned
|
|
88
|
-
priority: P3
|
|
89
|
-
|
|
90
121
|
# Adapter capabilities comparison
|
|
91
122
|
capabilities:
|
|
92
123
|
skills:
|
|
93
124
|
claude: full
|
|
94
|
-
cursor:
|
|
95
|
-
copilot:
|
|
96
|
-
|
|
125
|
+
cursor: via_agents_md
|
|
126
|
+
copilot: via_agents_md
|
|
127
|
+
gemini: via_agents_md
|
|
128
|
+
codex: via_agents_md
|
|
129
|
+
generic: via_agents_md
|
|
97
130
|
|
|
98
131
|
agents:
|
|
99
132
|
claude: full
|
|
100
|
-
cursor:
|
|
101
|
-
copilot:
|
|
102
|
-
|
|
133
|
+
cursor: via_agents_md
|
|
134
|
+
copilot: via_agents_md
|
|
135
|
+
gemini: via_agents_md
|
|
136
|
+
codex: via_agents_md
|
|
137
|
+
generic: via_agents_md
|
|
103
138
|
|
|
104
139
|
hooks:
|
|
105
140
|
claude: full
|
|
106
141
|
cursor: none
|
|
107
142
|
copilot: none
|
|
143
|
+
gemini: none
|
|
144
|
+
codex: none
|
|
108
145
|
generic: none
|
|
109
146
|
|
|
110
|
-
|
|
111
|
-
claude:
|
|
112
|
-
cursor:
|
|
113
|
-
copilot:
|
|
114
|
-
|
|
147
|
+
instruction_file:
|
|
148
|
+
claude: .claude/skills + agents
|
|
149
|
+
cursor: AGENTS.md
|
|
150
|
+
copilot: AGENTS.md
|
|
151
|
+
gemini: AGENTS.md
|
|
152
|
+
codex: AGENTS.md
|
|
153
|
+
generic: AGENTS.md
|
|
115
154
|
|
|
116
155
|
context_manifests:
|
|
117
156
|
claude: auto_load
|
|
118
157
|
cursor: manual_reference
|
|
119
158
|
copilot: manual_reference
|
|
159
|
+
gemini: manual_reference
|
|
160
|
+
codex: manual_reference
|
|
120
161
|
generic: manual_copy_paste
|
|
121
162
|
|
|
122
163
|
# Target market coverage
|
|
123
164
|
market_coverage:
|
|
124
|
-
|
|
125
|
-
|
|
165
|
+
claude: 10%
|
|
166
|
+
cursor: 30%
|
|
167
|
+
copilot: 35%
|
|
168
|
+
gemini: 10%
|
|
169
|
+
codex: 20%
|
|
170
|
+
generic: 5%
|
|
171
|
+
total: 110% # Overlapping users
|
|
172
|
+
unique_coverage: 100%
|
|
126
173
|
goal: "Make SpecWeave accessible to ALL developers"
|
|
174
|
+
|
|
175
|
+
# Universal AGENTS.md
|
|
176
|
+
universal_standard:
|
|
177
|
+
file: AGENTS.md
|
|
178
|
+
purpose: "Single source of truth for all adapters (except Claude which has native support)"
|
|
179
|
+
replaces:
|
|
180
|
+
- .cursorrules (Cursor)
|
|
181
|
+
- .github/copilot/instructions.md (Copilot)
|
|
182
|
+
- Multiple tool-specific files
|
|
183
|
+
benefits:
|
|
184
|
+
- Single file to maintain
|
|
185
|
+
- Works across ALL tools
|
|
186
|
+
- Auto-generated from actual skills/agents
|
|
187
|
+
- Follows agents.md standard
|