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
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Basic Context Loading from Manifest"
|
|
3
|
-
description: "Tests if context-loader can load specifications from a context manifest file"
|
|
4
|
-
input:
|
|
5
|
-
prompt: "Load context for feature 001"
|
|
6
|
-
files:
|
|
7
|
-
- "features/001-skills-framework/context-manifest.yaml"
|
|
8
|
-
manifest_content:
|
|
9
|
-
spec_sections:
|
|
10
|
-
- "specifications/modules/core/skills-system.md"
|
|
11
|
-
- "specifications/modules/core/context-loading.md"
|
|
12
|
-
documentation:
|
|
13
|
-
- ".specweave/docs/architecture/skills-system.md"
|
|
14
|
-
max_context_tokens: 10000
|
|
15
|
-
priority: high
|
|
16
|
-
expected_output:
|
|
17
|
-
type: "context_loaded"
|
|
18
|
-
files_loaded:
|
|
19
|
-
- "specifications/modules/core/skills-system.md"
|
|
20
|
-
- "specifications/modules/core/context-loading.md"
|
|
21
|
-
- ".specweave/docs/architecture/skills-system.md"
|
|
22
|
-
tokens_used: 7500
|
|
23
|
-
within_budget: true
|
|
24
|
-
contains:
|
|
25
|
-
- "Loaded 3 files"
|
|
26
|
-
- "Token usage: 7500/10000"
|
|
27
|
-
- "Context ready"
|
|
28
|
-
validation:
|
|
29
|
-
- "Parses context-manifest.yaml correctly"
|
|
30
|
-
- "Loads all specified files"
|
|
31
|
-
- "Respects token budget (7500 < 10000)"
|
|
32
|
-
- "Returns loaded content"
|
|
33
|
-
- "No errors or warnings"
|
|
34
|
-
success_criteria:
|
|
35
|
-
- "All files loaded successfully"
|
|
36
|
-
- "Token budget respected"
|
|
37
|
-
- "Content accessible to calling skill"
|
|
38
|
-
- "Performance <500ms"
|
|
39
|
-
---
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Token Budget Exceeded Handling"
|
|
3
|
-
description: "Tests context-loader behavior when requested files exceed token budget"
|
|
4
|
-
input:
|
|
5
|
-
prompt: "Load context for large feature"
|
|
6
|
-
files:
|
|
7
|
-
- "features/002-large-feature/context-manifest.yaml"
|
|
8
|
-
manifest_content:
|
|
9
|
-
spec_sections:
|
|
10
|
-
- "specifications/modules/payments/**/*.md" # Large module
|
|
11
|
-
- "specifications/modules/auth/**/*.md" # Another large module
|
|
12
|
-
max_context_tokens: 5000
|
|
13
|
-
priority: high
|
|
14
|
-
estimated_tokens:
|
|
15
|
-
payments: 6000 # Exceeds budget alone
|
|
16
|
-
auth: 4000
|
|
17
|
-
total: 10000 # Far exceeds budget
|
|
18
|
-
expected_output:
|
|
19
|
-
type: "error_with_suggestions"
|
|
20
|
-
files_loaded: []
|
|
21
|
-
tokens_used: 0
|
|
22
|
-
within_budget: false
|
|
23
|
-
error_message: "Token budget exceeded: estimated 10000 tokens, budget is 5000"
|
|
24
|
-
suggestions:
|
|
25
|
-
- "Increase max_context_tokens in manifest"
|
|
26
|
-
- "Use more specific glob patterns"
|
|
27
|
-
- "Load sections with anchors (e.g., #specific-section)"
|
|
28
|
-
- "Split into multiple manifests"
|
|
29
|
-
contains:
|
|
30
|
-
- "Token budget exceeded"
|
|
31
|
-
- "Estimated: 10000"
|
|
32
|
-
- "Budget: 5000"
|
|
33
|
-
validation:
|
|
34
|
-
- "Detects token budget violation BEFORE loading"
|
|
35
|
-
- "Provides clear error message"
|
|
36
|
-
- "Suggests actionable solutions"
|
|
37
|
-
- "Does not partially load (all-or-nothing)"
|
|
38
|
-
- "No crash or silent failure"
|
|
39
|
-
success_criteria:
|
|
40
|
-
- "Pre-flight token estimation works"
|
|
41
|
-
- "Budget enforcement works"
|
|
42
|
-
- "Helpful error messages"
|
|
43
|
-
- "Actionable recommendations"
|
|
44
|
-
---
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Load Specific Sections with Anchors"
|
|
3
|
-
description: "Tests context-loader's ability to load only specific sections using markdown anchors"
|
|
4
|
-
input:
|
|
5
|
-
prompt: "Load only the authentication flow section"
|
|
6
|
-
files:
|
|
7
|
-
- "features/003-auth-feature/context-manifest.yaml"
|
|
8
|
-
manifest_content:
|
|
9
|
-
spec_sections:
|
|
10
|
-
- "specifications/modules/auth/authentication.md#oauth-flow"
|
|
11
|
-
- "specifications/modules/auth/authentication.md#session-management"
|
|
12
|
-
documentation:
|
|
13
|
-
- ".specweave/docs/architecture/api-design.md#authentication-endpoints"
|
|
14
|
-
max_context_tokens: 3000
|
|
15
|
-
priority: high
|
|
16
|
-
expected_output:
|
|
17
|
-
type: "section_loaded"
|
|
18
|
-
files_loaded:
|
|
19
|
-
- path: "specifications/modules/auth/authentication.md"
|
|
20
|
-
sections:
|
|
21
|
-
- "oauth-flow"
|
|
22
|
-
- "session-management"
|
|
23
|
-
- path: ".specweave/docs/architecture/api-design.md"
|
|
24
|
-
sections:
|
|
25
|
-
- "authentication-endpoints"
|
|
26
|
-
full_files_loaded: false
|
|
27
|
-
sections_only: true
|
|
28
|
-
tokens_used: 1500
|
|
29
|
-
within_budget: true
|
|
30
|
-
contains:
|
|
31
|
-
- "Loaded 2 sections from authentication.md"
|
|
32
|
-
- "Loaded 1 section from api-design.md"
|
|
33
|
-
- "Token usage: 1500/3000"
|
|
34
|
-
validation:
|
|
35
|
-
- "Parses markdown anchor syntax (#section-name)"
|
|
36
|
-
- "Loads ONLY specified sections, not full files"
|
|
37
|
-
- "Correctly extracts section content"
|
|
38
|
-
- "Token usage significantly reduced vs full file"
|
|
39
|
-
- "Preserves section context (headings)"
|
|
40
|
-
success_criteria:
|
|
41
|
-
- "Anchor parsing works"
|
|
42
|
-
- "Selective section loading works"
|
|
43
|
-
- "70%+ token reduction vs full file"
|
|
44
|
-
- "Section boundaries correct"
|
|
45
|
-
---
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Bug Fix Optimization - Narrow Scope"
|
|
3
|
-
description: "Optimize context for a focused bug fix in authentication"
|
|
4
|
-
skill: context-optimizer
|
|
5
|
-
priority: P1
|
|
6
|
-
estimated_time: "1-2 minutes"
|
|
7
|
-
|
|
8
|
-
input:
|
|
9
|
-
prompt: "Fix login bug where JWT expires too early"
|
|
10
|
-
|
|
11
|
-
loaded_context:
|
|
12
|
-
total_tokens: 45000
|
|
13
|
-
specs:
|
|
14
|
-
- name: "auth-spec.md"
|
|
15
|
-
tokens: 12000
|
|
16
|
-
domain: "auth"
|
|
17
|
-
|
|
18
|
-
- name: "payment-spec.md"
|
|
19
|
-
tokens: 9000
|
|
20
|
-
domain: "payment"
|
|
21
|
-
|
|
22
|
-
- name: "user-management-spec.md"
|
|
23
|
-
tokens: 7000
|
|
24
|
-
domain: "users"
|
|
25
|
-
|
|
26
|
-
agents:
|
|
27
|
-
- name: "pm-agent"
|
|
28
|
-
tokens: 2000
|
|
29
|
-
|
|
30
|
-
- name: "nodejs-backend"
|
|
31
|
-
tokens: 8000
|
|
32
|
-
|
|
33
|
-
- name: "frontend"
|
|
34
|
-
tokens: 5000
|
|
35
|
-
|
|
36
|
-
- name: "devops-agent"
|
|
37
|
-
tokens: 2000
|
|
38
|
-
|
|
39
|
-
expected_output:
|
|
40
|
-
task_analysis:
|
|
41
|
-
task_type: "bug-fix"
|
|
42
|
-
domains: ["auth", "backend"]
|
|
43
|
-
scope: "narrow"
|
|
44
|
-
needs_full_context: false
|
|
45
|
-
confidence: 0.85-0.95
|
|
46
|
-
|
|
47
|
-
optimization_result:
|
|
48
|
-
tokens_before: 45000
|
|
49
|
-
tokens_after: 25000-28000
|
|
50
|
-
reduction_percentage: 38-44
|
|
51
|
-
total_reduction: 82 # From original 150k
|
|
52
|
-
|
|
53
|
-
removed_sections:
|
|
54
|
-
specs:
|
|
55
|
-
- "payment-spec.md (9000 tokens) - Unrelated domain"
|
|
56
|
-
- "user-management-spec.md (7000 tokens) - Unrelated domain"
|
|
57
|
-
|
|
58
|
-
agents:
|
|
59
|
-
- "pm-agent (2000 tokens) - Not needed for bug fix"
|
|
60
|
-
- "frontend (5000 tokens) - Backend bug"
|
|
61
|
-
- "devops-agent (2000 tokens) - Not deploying"
|
|
62
|
-
|
|
63
|
-
kept_sections:
|
|
64
|
-
specs:
|
|
65
|
-
- "auth-spec.md (12000 tokens) - Core domain"
|
|
66
|
-
|
|
67
|
-
agents:
|
|
68
|
-
- "nodejs-backend (8000 tokens) - Implementation"
|
|
69
|
-
|
|
70
|
-
additional:
|
|
71
|
-
- "architecture/security/jwt-handling.md (5000 tokens est.)"
|
|
72
|
-
- "Tech Lead agent (2000 tokens est.) - Code review"
|
|
73
|
-
|
|
74
|
-
rationale:
|
|
75
|
-
- "Bug fix requires only authentication domain knowledge"
|
|
76
|
-
- "Backend implementation skill sufficient"
|
|
77
|
-
- "PM agent not needed (requirements already defined)"
|
|
78
|
-
- "DevOps not needed (not deploying fix immediately)"
|
|
79
|
-
|
|
80
|
-
validation:
|
|
81
|
-
- "Task type detected as 'bug-fix'"
|
|
82
|
-
- "Domains detected: auth, backend"
|
|
83
|
-
- "Scope: narrow"
|
|
84
|
-
- "Token reduction >= 35%"
|
|
85
|
-
- "Total reduction from original >= 80%"
|
|
86
|
-
- "All unrelated domains removed"
|
|
87
|
-
- "Core auth spec retained"
|
|
88
|
-
- "Backend implementation skill retained"
|
|
89
|
-
- "Confidence >= 0.85"
|
|
90
|
-
|
|
91
|
-
success_criteria:
|
|
92
|
-
- "Correct task type identification"
|
|
93
|
-
- "Appropriate domain filtering"
|
|
94
|
-
- "Significant token reduction without losing needed context"
|
|
95
|
-
- "Clear rationale for removals"
|
|
96
|
-
- "High confidence in analysis"
|
|
97
|
-
---
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Feature Development - Focused Scope"
|
|
3
|
-
description: "Optimize context for adding subscription billing feature"
|
|
4
|
-
skill: context-optimizer
|
|
5
|
-
priority: P1
|
|
6
|
-
estimated_time: "1-2 minutes"
|
|
7
|
-
|
|
8
|
-
input:
|
|
9
|
-
prompt: "Add subscription billing with monthly/annual plans to payment module"
|
|
10
|
-
|
|
11
|
-
loaded_context:
|
|
12
|
-
total_tokens: 45000
|
|
13
|
-
specs:
|
|
14
|
-
- name: "auth-spec.md"
|
|
15
|
-
tokens: 12000
|
|
16
|
-
domain: "auth"
|
|
17
|
-
|
|
18
|
-
- name: "payment-spec.md"
|
|
19
|
-
tokens: 9000
|
|
20
|
-
domain: "payment"
|
|
21
|
-
|
|
22
|
-
- name: "user-management-spec.md"
|
|
23
|
-
tokens: 7000
|
|
24
|
-
domain: "users"
|
|
25
|
-
|
|
26
|
-
docs:
|
|
27
|
-
- name: "architecture/payment-integration.md"
|
|
28
|
-
tokens: 6000
|
|
29
|
-
domain: "payment"
|
|
30
|
-
|
|
31
|
-
- name: "architecture/auth-design.md"
|
|
32
|
-
tokens: 5000
|
|
33
|
-
domain: "auth"
|
|
34
|
-
|
|
35
|
-
- name: "architecture/adr/0015-payment-provider.md"
|
|
36
|
-
tokens: 3000
|
|
37
|
-
domain: "payment"
|
|
38
|
-
|
|
39
|
-
agents:
|
|
40
|
-
- name: "pm-agent"
|
|
41
|
-
tokens: 2000
|
|
42
|
-
|
|
43
|
-
- name: "nodejs-backend"
|
|
44
|
-
tokens: 8000
|
|
45
|
-
|
|
46
|
-
- name: "tech-lead-agent"
|
|
47
|
-
tokens: 2000
|
|
48
|
-
|
|
49
|
-
expected_output:
|
|
50
|
-
task_analysis:
|
|
51
|
-
task_type: "feature"
|
|
52
|
-
domains: ["payment", "backend"]
|
|
53
|
-
scope: "focused"
|
|
54
|
-
needs_full_context: false
|
|
55
|
-
confidence: 0.90-0.95
|
|
56
|
-
|
|
57
|
-
optimization_result:
|
|
58
|
-
tokens_before: 45000
|
|
59
|
-
tokens_after: 28000-32000
|
|
60
|
-
reduction_percentage: 29-38
|
|
61
|
-
total_reduction: 79-81 # From original 150k
|
|
62
|
-
|
|
63
|
-
removed_sections:
|
|
64
|
-
specs:
|
|
65
|
-
- "auth-spec.md (12000 tokens) - Unrelated to payment feature"
|
|
66
|
-
- "user-management-spec.md (7000 tokens) - Not involved in billing"
|
|
67
|
-
|
|
68
|
-
docs:
|
|
69
|
-
- "architecture/auth-design.md (5000 tokens) - Different domain"
|
|
70
|
-
|
|
71
|
-
kept_sections:
|
|
72
|
-
specs:
|
|
73
|
-
- "payment-spec.md (9000 tokens) - Core domain"
|
|
74
|
-
|
|
75
|
-
docs:
|
|
76
|
-
- "architecture/payment-integration.md (6000 tokens) - Integration context"
|
|
77
|
-
- "architecture/adr/0015-payment-provider.md (3000 tokens) - Provider decisions"
|
|
78
|
-
|
|
79
|
-
agents:
|
|
80
|
-
- "pm-agent (2000 tokens) - Requirements clarification"
|
|
81
|
-
- "nodejs-backend (8000 tokens) - Implementation"
|
|
82
|
-
- "tech-lead-agent (2000 tokens) - Planning and review"
|
|
83
|
-
|
|
84
|
-
rationale:
|
|
85
|
-
- "Feature development in payment domain only"
|
|
86
|
-
- "PM agent kept for requirements refinement"
|
|
87
|
-
- "Tech Lead kept for planning and architecture"
|
|
88
|
-
- "Payment integration docs provide integration points"
|
|
89
|
-
- "ADR provides context on payment provider choice"
|
|
90
|
-
|
|
91
|
-
validation:
|
|
92
|
-
- "Task type detected as 'feature'"
|
|
93
|
-
- "Domains detected: payment, backend"
|
|
94
|
-
- "Scope: focused"
|
|
95
|
-
- "Token reduction >= 25%"
|
|
96
|
-
- "Total reduction from original >= 78%"
|
|
97
|
-
- "Payment domain specs/docs retained"
|
|
98
|
-
- "Auth domain removed"
|
|
99
|
-
- "PM and Tech Lead agents retained (planning needed)"
|
|
100
|
-
- "Confidence >= 0.90"
|
|
101
|
-
|
|
102
|
-
success_criteria:
|
|
103
|
-
- "Feature development pattern recognized"
|
|
104
|
-
- "Domain filtering appropriate for focused scope"
|
|
105
|
-
- "Planning agents kept (PM, Tech Lead)"
|
|
106
|
-
- "Integration docs retained for context"
|
|
107
|
-
- "Unrelated domains removed"
|
|
108
|
-
- "High confidence in analysis"
|
|
109
|
-
---
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Architecture Review - Broad Scope (Skip Optimization)"
|
|
3
|
-
description: "Context optimizer should skip optimization for broad architectural reviews"
|
|
4
|
-
skill: context-optimizer
|
|
5
|
-
priority: P1
|
|
6
|
-
estimated_time: "1-2 minutes"
|
|
7
|
-
|
|
8
|
-
input:
|
|
9
|
-
prompt: "Review overall system architecture and identify integration issues"
|
|
10
|
-
|
|
11
|
-
loaded_context:
|
|
12
|
-
total_tokens: 45000
|
|
13
|
-
specs:
|
|
14
|
-
- name: "auth-spec.md"
|
|
15
|
-
tokens: 12000
|
|
16
|
-
domain: "auth"
|
|
17
|
-
|
|
18
|
-
- name: "payment-spec.md"
|
|
19
|
-
tokens: 9000
|
|
20
|
-
domain: "payment"
|
|
21
|
-
|
|
22
|
-
- name: "user-management-spec.md"
|
|
23
|
-
tokens: 7000
|
|
24
|
-
domain: "users"
|
|
25
|
-
|
|
26
|
-
- name: "notification-spec.md"
|
|
27
|
-
tokens: 6000
|
|
28
|
-
domain: "notifications"
|
|
29
|
-
|
|
30
|
-
docs:
|
|
31
|
-
- name: "architecture/system-overview.md"
|
|
32
|
-
tokens: 4000
|
|
33
|
-
domain: "all"
|
|
34
|
-
|
|
35
|
-
- name: "architecture/integration-patterns.md"
|
|
36
|
-
tokens: 3000
|
|
37
|
-
domain: "all"
|
|
38
|
-
|
|
39
|
-
- name: "architecture/data-flow.md"
|
|
40
|
-
tokens: 4000
|
|
41
|
-
domain: "all"
|
|
42
|
-
|
|
43
|
-
expected_output:
|
|
44
|
-
task_analysis:
|
|
45
|
-
task_type: "architecture"
|
|
46
|
-
domains: ["all"]
|
|
47
|
-
scope: "broad"
|
|
48
|
-
needs_full_context: true
|
|
49
|
-
confidence: 0.85-0.95
|
|
50
|
-
|
|
51
|
-
optimization_result:
|
|
52
|
-
action: "skip_optimization"
|
|
53
|
-
tokens_before: 45000
|
|
54
|
-
tokens_after: 45000
|
|
55
|
-
reduction_percentage: 0
|
|
56
|
-
reason: "Broad scope requires full context"
|
|
57
|
-
|
|
58
|
-
rationale:
|
|
59
|
-
- "Architecture review needs visibility across all domains"
|
|
60
|
-
- "Integration issues span multiple modules"
|
|
61
|
-
- "Cannot identify cross-domain problems without full context"
|
|
62
|
-
- "Design patterns require understanding of complete system"
|
|
63
|
-
- "Data flow analysis requires all specs"
|
|
64
|
-
|
|
65
|
-
warning_message: |
|
|
66
|
-
⚠️ Keeping full context (broad scope detected)
|
|
67
|
-
|
|
68
|
-
Rationale: Architecture review needs visibility across all domains
|
|
69
|
-
to identify integration issues, dependencies, and design patterns.
|
|
70
|
-
|
|
71
|
-
Token usage: 45,000 tokens (no reduction applied)
|
|
72
|
-
|
|
73
|
-
validation:
|
|
74
|
-
- "Task type detected as 'architecture'"
|
|
75
|
-
- "Scope: broad"
|
|
76
|
-
- "needs_full_context: true"
|
|
77
|
-
- "No optimization applied"
|
|
78
|
-
- "All specs retained"
|
|
79
|
-
- "All docs retained"
|
|
80
|
-
- "Clear rationale provided"
|
|
81
|
-
- "Warning message shown"
|
|
82
|
-
- "Confidence >= 0.85"
|
|
83
|
-
|
|
84
|
-
success_criteria:
|
|
85
|
-
- "Correctly identifies broad scope task"
|
|
86
|
-
- "Skips optimization entirely"
|
|
87
|
-
- "No context removed"
|
|
88
|
-
- "Clear explanation to user why optimization skipped"
|
|
89
|
-
- "High confidence in decision"
|
|
90
|
-
|
|
91
|
-
edge_cases:
|
|
92
|
-
similar_prompts_requiring_full_context:
|
|
93
|
-
- "Design system architecture"
|
|
94
|
-
- "Explain how all modules integrate"
|
|
95
|
-
- "Review for security issues across system"
|
|
96
|
-
- "Identify dependencies between features"
|
|
97
|
-
- "Plan major refactoring across modules"
|
|
98
|
-
---
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Basic Platform Cost Comparison"
|
|
3
|
-
description: "Compare platforms for small NextJS SaaS with 1000 users"
|
|
4
|
-
skill: cost-optimizer
|
|
5
|
-
priority: P1
|
|
6
|
-
estimated_time: "2-3 minutes"
|
|
7
|
-
|
|
8
|
-
input:
|
|
9
|
-
prompt: "What's the cheapest way to host my NextJS SaaS with Postgres for 1000 users?"
|
|
10
|
-
requirements:
|
|
11
|
-
app_type: nextjs
|
|
12
|
-
users: 1000
|
|
13
|
-
database: postgres
|
|
14
|
-
database_size: 2GB
|
|
15
|
-
storage: 20GB
|
|
16
|
-
traffic: "10k requests/day"
|
|
17
|
-
|
|
18
|
-
expected_output:
|
|
19
|
-
platforms_compared:
|
|
20
|
-
- hetzner
|
|
21
|
-
- vercel
|
|
22
|
-
- aws
|
|
23
|
-
- railway
|
|
24
|
-
- fly_io
|
|
25
|
-
- digitalocean
|
|
26
|
-
|
|
27
|
-
recommendation:
|
|
28
|
-
platform: hetzner
|
|
29
|
-
monthly_cost: "$11-12"
|
|
30
|
-
confidence: "high"
|
|
31
|
-
|
|
32
|
-
cost_breakdown:
|
|
33
|
-
hetzner:
|
|
34
|
-
server: "$5.83"
|
|
35
|
-
database: "$5.00"
|
|
36
|
-
storage: "$0.50"
|
|
37
|
-
total: "$11.33"
|
|
38
|
-
|
|
39
|
-
vercel:
|
|
40
|
-
hosting: "$0 (hobby) or $60 (production)"
|
|
41
|
-
database: "$0 (planetscale hobby) or $39 (scaler)"
|
|
42
|
-
total: "$0 or $60-99"
|
|
43
|
-
|
|
44
|
-
aws:
|
|
45
|
-
ec2: "$10"
|
|
46
|
-
rds: "$15"
|
|
47
|
-
total: "$25"
|
|
48
|
-
|
|
49
|
-
savings_vs_alternatives:
|
|
50
|
-
vs_vercel: "$48.67/month (production)"
|
|
51
|
-
vs_aws: "$13.67/month"
|
|
52
|
-
annual_savings: "$584/year (vs Vercel)"
|
|
53
|
-
|
|
54
|
-
rationale:
|
|
55
|
-
pros:
|
|
56
|
-
- "Lowest cost"
|
|
57
|
-
- "Predictable pricing"
|
|
58
|
-
- "Managed database included"
|
|
59
|
-
|
|
60
|
-
cons:
|
|
61
|
-
- "EU-only"
|
|
62
|
-
- "No auto-scaling"
|
|
63
|
-
|
|
64
|
-
validation:
|
|
65
|
-
- "Hetzner recommended for budget scenario"
|
|
66
|
-
- "Cost under $15/month"
|
|
67
|
-
- "At least 3 platforms compared"
|
|
68
|
-
- "Savings calculation accurate"
|
|
69
|
-
- "Pros and cons listed"
|
|
70
|
-
|
|
71
|
-
success_criteria:
|
|
72
|
-
- "Recommendation matches requirements"
|
|
73
|
-
- "Cost estimate accurate within 10%"
|
|
74
|
-
- "Clear rationale provided"
|
|
75
|
-
---
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Budget Constraint Optimization"
|
|
3
|
-
description: "Find platform that stays under $20/month budget"
|
|
4
|
-
skill: cost-optimizer
|
|
5
|
-
priority: P1
|
|
6
|
-
|
|
7
|
-
input:
|
|
8
|
-
prompt: "I need to deploy my app with database, budget is max $20/month"
|
|
9
|
-
requirements:
|
|
10
|
-
budget_max: "$20/month"
|
|
11
|
-
app_type: fullstack
|
|
12
|
-
database: postgres
|
|
13
|
-
users: 2000
|
|
14
|
-
strict_budget: true
|
|
15
|
-
|
|
16
|
-
expected_output:
|
|
17
|
-
recommendation:
|
|
18
|
-
platform: hetzner
|
|
19
|
-
monthly_cost: "$11.33"
|
|
20
|
-
within_budget: true
|
|
21
|
-
headroom: "$8.67"
|
|
22
|
-
|
|
23
|
-
alternatives_within_budget:
|
|
24
|
-
- platform: digitalocean
|
|
25
|
-
cost: "$18"
|
|
26
|
-
within_budget: true
|
|
27
|
-
|
|
28
|
-
- platform: railway
|
|
29
|
-
cost: "$20"
|
|
30
|
-
within_budget: true
|
|
31
|
-
|
|
32
|
-
excluded_platforms:
|
|
33
|
-
- platform: vercel_production
|
|
34
|
-
cost: "$60+"
|
|
35
|
-
reason: "Exceeds budget"
|
|
36
|
-
|
|
37
|
-
budget_analysis:
|
|
38
|
-
recommended_cost: "$11.33"
|
|
39
|
-
budget_limit: "$20"
|
|
40
|
-
utilization: "56.6%"
|
|
41
|
-
savings: "$8.67/month buffer"
|
|
42
|
-
|
|
43
|
-
validation:
|
|
44
|
-
- "Recommendation under $20/month"
|
|
45
|
-
- "All alternatives under budget"
|
|
46
|
-
- "Excluded expensive options"
|
|
47
|
-
- "Budget utilization calculated"
|
|
48
|
-
|
|
49
|
-
success_criteria:
|
|
50
|
-
- "Stays within budget"
|
|
51
|
-
- "Maximizes value for budget"
|
|
52
|
-
---
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Scale Requirement - 10k Users"
|
|
3
|
-
description: "Recommend platform for scaling to 10,000 users"
|
|
4
|
-
skill: cost-optimizer
|
|
5
|
-
priority: P2
|
|
6
|
-
|
|
7
|
-
input:
|
|
8
|
-
prompt: "I need to host my SaaS for 10,000 users with high availability"
|
|
9
|
-
requirements:
|
|
10
|
-
users: 10000
|
|
11
|
-
traffic: "100k requests/day"
|
|
12
|
-
database: postgres
|
|
13
|
-
database_size: 8GB
|
|
14
|
-
high_availability: true
|
|
15
|
-
global_audience: false
|
|
16
|
-
|
|
17
|
-
expected_output:
|
|
18
|
-
recommendation:
|
|
19
|
-
platform: hetzner
|
|
20
|
-
instance: cx21_or_cx31
|
|
21
|
-
monthly_cost: "$18-36"
|
|
22
|
-
|
|
23
|
-
cost_breakdown:
|
|
24
|
-
hetzner_cx21:
|
|
25
|
-
server: "$6.90"
|
|
26
|
-
database_8gb: "$20"
|
|
27
|
-
total: "$26.90"
|
|
28
|
-
|
|
29
|
-
hetzner_cx31:
|
|
30
|
-
server: "$14.28"
|
|
31
|
-
database_8gb: "$20"
|
|
32
|
-
total: "$34.28"
|
|
33
|
-
|
|
34
|
-
alternatives:
|
|
35
|
-
aws:
|
|
36
|
-
ec2_t3_medium: "$35"
|
|
37
|
-
rds_8gb: "$45"
|
|
38
|
-
total: "$80"
|
|
39
|
-
|
|
40
|
-
vercel:
|
|
41
|
-
pro_plan: "$120"
|
|
42
|
-
|
|
43
|
-
recommendation_rationale:
|
|
44
|
-
- "CX21 handles 10k users efficiently"
|
|
45
|
-
- "Can upgrade to CX31 if needed"
|
|
46
|
-
- "$53/month savings vs AWS"
|
|
47
|
-
- "$93/month savings vs Vercel"
|
|
48
|
-
|
|
49
|
-
scaling_path:
|
|
50
|
-
current: "CX21 ($27/mo)"
|
|
51
|
-
if_growth: "CX31 ($34/mo)"
|
|
52
|
-
enterprise: "Multiple instances + load balancer ($60/mo)"
|
|
53
|
-
|
|
54
|
-
validation:
|
|
55
|
-
- "Handles 10k users"
|
|
56
|
-
- "High availability considered"
|
|
57
|
-
- "Scaling path provided"
|
|
58
|
-
- "Cost competitive"
|
|
59
|
-
|
|
60
|
-
success_criteria:
|
|
61
|
-
- "Can handle stated scale"
|
|
62
|
-
- "Recommendation appropriate for load"
|
|
63
|
-
---
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# Test Results: cost-optimizer
|
|
2
|
-
|
|
3
|
-
## How to Run Tests
|
|
4
|
-
|
|
5
|
-
### Test 1: Basic Comparison
|
|
6
|
-
**Prompt**: "What's the cheapest way to host my NextJS SaaS with Postgres for 1000 users?"
|
|
7
|
-
|
|
8
|
-
**Expected**: Hetzner recommended at ~$11/month
|
|
9
|
-
|
|
10
|
-
**Verification**:
|
|
11
|
-
- [ ] Hetzner recommended
|
|
12
|
-
- [ ] Cost under $15/month
|
|
13
|
-
- [ ] At least 3 platforms compared
|
|
14
|
-
- [ ] Savings shown vs alternatives
|
|
15
|
-
|
|
16
|
-
### Test 2: Budget Constraint
|
|
17
|
-
**Prompt**: "I need to deploy my app with database, budget is max $20/month"
|
|
18
|
-
|
|
19
|
-
**Expected**: Recommendation stays under $20
|
|
20
|
-
|
|
21
|
-
**Verification**:
|
|
22
|
-
- [ ] Recommended cost < $20
|
|
23
|
-
- [ ] Budget utilization shown
|
|
24
|
-
- [ ] Expensive options excluded
|
|
25
|
-
|
|
26
|
-
### Test 3: Scale Requirement
|
|
27
|
-
**Prompt**: "I need to host my SaaS for 10,000 users with high availability"
|
|
28
|
-
|
|
29
|
-
**Expected**: Hetzner CX21/CX31 recommended at $27-34/month
|
|
30
|
-
|
|
31
|
-
**Verification**:
|
|
32
|
-
- [ ] Handles 10k users
|
|
33
|
-
- [ ] Scaling path provided
|
|
34
|
-
- [ ] Cost competitive with alternatives
|
|
35
|
-
|
|
36
|
-
## Test Execution
|
|
37
|
-
|
|
38
|
-
**Status**: ⏳ Pending
|
|
39
|
-
|
|
40
|
-
Mark tests as ✅ Passed or ❌ Failed after execution.
|
|
41
|
-
|
|
42
|
-
## Success Criteria
|
|
43
|
-
|
|
44
|
-
✅ All 3 tests recommend appropriate platform
|
|
45
|
-
✅ Cost estimates accurate within 10%
|
|
46
|
-
✅ Savings calculations correct
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Token Structure Validation"
|
|
3
|
-
description: "Test validation of design token structure"
|
|
4
|
-
input:
|
|
5
|
-
tokens:
|
|
6
|
-
colors:
|
|
7
|
-
primary:
|
|
8
|
-
500: "#3b82f6"
|
|
9
|
-
typography:
|
|
10
|
-
heading1:
|
|
11
|
-
fontSize: "2.25rem"
|
|
12
|
-
expected_output:
|
|
13
|
-
type: "validation_result"
|
|
14
|
-
valid: true
|
|
15
|
-
issues: []
|
|
16
|
-
validation:
|
|
17
|
-
- "Naming convention followed"
|
|
18
|
-
- "All required categories present"
|
|
19
|
-
- "Values in correct format"
|
|
20
|
-
success_criteria:
|
|
21
|
-
- "Validation passes"
|
|
22
|
-
- "No issues reported"
|
|
23
|
-
---
|