specweave 0.1.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/INSTALL.md +848 -0
- package/LICENSE +21 -0
- package/README.md +675 -0
- package/SPECWEAVE.md +665 -0
- package/bin/install-agents.sh +57 -0
- package/bin/install-all.sh +49 -0
- package/bin/install-commands.sh +56 -0
- package/bin/install-skills.sh +57 -0
- package/bin/specweave.js +81 -0
- package/dist/adapters/adapter-base.d.ts +50 -0
- package/dist/adapters/adapter-base.d.ts.map +1 -0
- package/dist/adapters/adapter-base.js +146 -0
- package/dist/adapters/adapter-base.js.map +1 -0
- package/dist/adapters/adapter-interface.d.ts +108 -0
- package/dist/adapters/adapter-interface.d.ts.map +1 -0
- package/dist/adapters/adapter-interface.js +9 -0
- package/dist/adapters/adapter-interface.js.map +1 -0
- package/dist/adapters/claude/adapter.d.ts +54 -0
- package/dist/adapters/claude/adapter.d.ts.map +1 -0
- package/dist/adapters/claude/adapter.js +184 -0
- package/dist/adapters/claude/adapter.js.map +1 -0
- package/dist/adapters/copilot/adapter.d.ts +42 -0
- package/dist/adapters/copilot/adapter.d.ts.map +1 -0
- package/dist/adapters/copilot/adapter.js +239 -0
- package/dist/adapters/copilot/adapter.js.map +1 -0
- package/dist/adapters/cursor/adapter.d.ts +42 -0
- package/dist/adapters/cursor/adapter.d.ts.map +1 -0
- package/dist/adapters/cursor/adapter.js +297 -0
- package/dist/adapters/cursor/adapter.js.map +1 -0
- package/dist/adapters/generic/adapter.d.ts +40 -0
- package/dist/adapters/generic/adapter.d.ts.map +1 -0
- package/dist/adapters/generic/adapter.js +155 -0
- package/dist/adapters/generic/adapter.js.map +1 -0
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +247 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/install.d.ts +7 -0
- package/dist/cli/commands/install.d.ts.map +1 -0
- package/dist/cli/commands/install.js +160 -0
- package/dist/cli/commands/install.js.map +1 -0
- package/dist/cli/commands/list.d.ts +6 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +154 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/package.json +90 -0
- package/src/adapters/README.md +312 -0
- package/src/adapters/adapter-base.ts +146 -0
- package/src/adapters/adapter-interface.ts +120 -0
- package/src/adapters/claude/README.md +241 -0
- package/src/adapters/claude/adapter.ts +157 -0
- package/src/adapters/copilot/.github/copilot/instructions.md +376 -0
- package/src/adapters/copilot/README.md +200 -0
- package/src/adapters/copilot/adapter.ts +210 -0
- package/src/adapters/cursor/.cursor/context/docs-context.md +62 -0
- package/src/adapters/cursor/.cursor/context/increments-context.md +71 -0
- package/src/adapters/cursor/.cursor/context/strategy-context.md +73 -0
- package/src/adapters/cursor/.cursor/context/tests-context.md +89 -0
- package/src/adapters/cursor/.cursorrules +325 -0
- package/src/adapters/cursor/README.md +243 -0
- package/src/adapters/cursor/adapter.ts +268 -0
- package/src/adapters/generic/README.md +277 -0
- package/src/adapters/generic/SPECWEAVE-MANUAL.md +676 -0
- package/src/adapters/generic/adapter.ts +159 -0
- package/src/adapters/registry.yaml +126 -0
- package/src/agents/architect/AGENT.md +416 -0
- package/src/agents/devops/AGENT.md +1738 -0
- package/src/agents/docs-writer/AGENT.md +239 -0
- package/src/agents/performance/AGENT.md +228 -0
- package/src/agents/pm/AGENT.md +751 -0
- package/src/agents/qa-lead/AGENT.md +150 -0
- package/src/agents/security/AGENT.md +179 -0
- package/src/agents/sre/AGENT.md +582 -0
- package/src/agents/sre/modules/backend-diagnostics.md +481 -0
- package/src/agents/sre/modules/database-diagnostics.md +509 -0
- package/src/agents/sre/modules/infrastructure.md +561 -0
- package/src/agents/sre/modules/monitoring.md +439 -0
- package/src/agents/sre/modules/security-incidents.md +421 -0
- package/src/agents/sre/modules/ui-diagnostics.md +302 -0
- package/src/agents/sre/playbooks/01-high-cpu-usage.md +204 -0
- package/src/agents/sre/playbooks/02-database-deadlock.md +241 -0
- package/src/agents/sre/playbooks/03-memory-leak.md +252 -0
- package/src/agents/sre/playbooks/04-slow-api-response.md +269 -0
- package/src/agents/sre/playbooks/05-ddos-attack.md +293 -0
- package/src/agents/sre/playbooks/06-disk-full.md +314 -0
- package/src/agents/sre/playbooks/07-service-down.md +333 -0
- package/src/agents/sre/playbooks/08-data-corruption.md +337 -0
- package/src/agents/sre/playbooks/09-cascade-failure.md +430 -0
- package/src/agents/sre/playbooks/10-rate-limit-exceeded.md +464 -0
- package/src/agents/sre/scripts/health-check.sh +230 -0
- package/src/agents/sre/scripts/log-analyzer.py +213 -0
- package/src/agents/sre/scripts/metrics-collector.sh +294 -0
- package/src/agents/sre/scripts/trace-analyzer.js +257 -0
- package/src/agents/sre/templates/incident-report.md +249 -0
- package/src/agents/sre/templates/mitigation-plan.md +375 -0
- package/src/agents/sre/templates/post-mortem.md +418 -0
- package/src/agents/sre/templates/runbook-template.md +412 -0
- package/src/agents/tech-lead/AGENT.md +263 -0
- package/src/commands/add-tasks.md +176 -0
- package/src/commands/close-increment.md +347 -0
- package/src/commands/create-increment.md +223 -0
- package/src/commands/create-project.md +528 -0
- package/src/commands/generate-docs.md +623 -0
- package/src/commands/list-increments.md +180 -0
- package/src/commands/review-docs.md +331 -0
- package/src/commands/start-increment.md +139 -0
- package/src/commands/sync-github.md +115 -0
- package/src/commands/validate-increment.md +800 -0
- package/src/hooks/README.md +252 -0
- package/src/hooks/docs-changed.sh +59 -0
- package/src/hooks/human-input-required.sh +55 -0
- package/src/hooks/post-task-completion.sh +57 -0
- package/src/hooks/pre-implementation.sh +47 -0
- package/src/skills/ado-sync/README.md +449 -0
- package/src/skills/ado-sync/SKILL.md +245 -0
- package/src/skills/ado-sync/test-cases/test-1.yaml +9 -0
- package/src/skills/ado-sync/test-cases/test-2.yaml +8 -0
- package/src/skills/ado-sync/test-cases/test-3.yaml +9 -0
- package/src/skills/bmad-method-expert/SKILL.md +628 -0
- package/src/skills/bmad-method-expert/scripts/analyze-project.js +318 -0
- package/src/skills/bmad-method-expert/scripts/check-setup.js +208 -0
- package/src/skills/bmad-method-expert/scripts/generate-template.js +1149 -0
- package/src/skills/bmad-method-expert/scripts/validate-documents.js +340 -0
- package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/brownfield-analyzer/SKILL.md +523 -0
- package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +48 -0
- package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/brownfield-onboarder/SKILL.md +625 -0
- package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/context-loader/SKILL.md +734 -0
- package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +39 -0
- package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +44 -0
- package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +45 -0
- package/src/skills/context-optimizer/SKILL.md +618 -0
- package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +97 -0
- package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +109 -0
- package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +98 -0
- package/src/skills/cost-optimizer/SKILL.md +190 -0
- package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +75 -0
- package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +52 -0
- package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +63 -0
- package/src/skills/cost-optimizer/test-results/README.md +46 -0
- package/src/skills/design-system-architect/SKILL.md +107 -0
- package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +23 -0
- package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +24 -0
- package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +23 -0
- package/src/skills/diagrams-architect/SKILL.md +763 -0
- package/src/skills/diagrams-generator/SKILL.md +25 -0
- package/src/skills/diagrams-generator/test-cases/test-1.yaml +9 -0
- package/src/skills/diagrams-generator/test-cases/test-2.yaml +9 -0
- package/src/skills/diagrams-generator/test-cases/test-3.yaml +8 -0
- package/src/skills/docs-updater/README.md +48 -0
- package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/dotnet-backend/SKILL.md +250 -0
- package/src/skills/e2e-playwright/README.md +506 -0
- package/src/skills/e2e-playwright/SKILL.md +457 -0
- package/src/skills/e2e-playwright/execute.js +373 -0
- package/src/skills/e2e-playwright/lib/utils.js +514 -0
- package/src/skills/e2e-playwright/package.json +33 -0
- package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +54 -0
- package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +64 -0
- package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +74 -0
- package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +98 -0
- package/src/skills/figma-designer/SKILL.md +149 -0
- package/src/skills/figma-implementer/SKILL.md +148 -0
- package/src/skills/figma-mcp-connector/SKILL.md +136 -0
- package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +22 -0
- package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +21 -0
- package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +18 -0
- package/src/skills/figma-to-code/SKILL.md +128 -0
- package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +29 -0
- package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +27 -0
- package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +28 -0
- package/src/skills/frontend/SKILL.md +177 -0
- package/src/skills/github-sync/SKILL.md +252 -0
- package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/hetzner-provisioner/README.md +308 -0
- package/src/skills/hetzner-provisioner/SKILL.md +251 -0
- package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +71 -0
- package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +85 -0
- package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +126 -0
- package/src/skills/hetzner-provisioner/test-results/README.md +259 -0
- package/src/skills/increment-planner/SKILL.md +889 -0
- package/src/skills/increment-planner/scripts/feature-utils.js +250 -0
- package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +27 -0
- package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +30 -0
- package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +24 -0
- package/src/skills/increment-quality-judge/SKILL.md +566 -0
- package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +95 -0
- package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +108 -0
- package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +87 -0
- package/src/skills/jira-sync/README.md +328 -0
- package/src/skills/jira-sync/SKILL.md +209 -0
- package/src/skills/jira-sync/test-cases/test-1.yaml +9 -0
- package/src/skills/jira-sync/test-cases/test-2.yaml +9 -0
- package/src/skills/jira-sync/test-cases/test-3.yaml +10 -0
- package/src/skills/nextjs/SKILL.md +176 -0
- package/src/skills/nodejs-backend/SKILL.md +181 -0
- package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/python-backend/SKILL.md +226 -0
- package/src/skills/role-orchestrator/README.md +197 -0
- package/src/skills/role-orchestrator/SKILL.md +1184 -0
- package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +98 -0
- package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +73 -0
- package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +121 -0
- package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +145 -0
- package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +149 -0
- package/src/skills/skill-creator/LICENSE.txt +202 -0
- package/src/skills/skill-creator/SKILL.md +209 -0
- package/src/skills/skill-creator/scripts/init_skill.py +303 -0
- package/src/skills/skill-creator/scripts/package_skill.py +110 -0
- package/src/skills/skill-creator/scripts/quick_validate.py +65 -0
- package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/skill-router/SKILL.md +497 -0
- package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +33 -0
- package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +42 -0
- package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +50 -0
- package/src/skills/spec-driven-brainstorming/README.md +264 -0
- package/src/skills/spec-driven-brainstorming/SKILL.md +439 -0
- package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +148 -0
- package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +190 -0
- package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +233 -0
- package/src/skills/spec-driven-debugging/README.md +479 -0
- package/src/skills/spec-driven-debugging/SKILL.md +652 -0
- package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +212 -0
- package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +461 -0
- package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +366 -0
- package/src/skills/spec-kit-expert/SKILL.md +1012 -0
- package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/specweave-ado-mapper/SKILL.md +501 -0
- package/src/skills/specweave-detector/SKILL.md +420 -0
- package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +37 -0
- package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +37 -0
- package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +34 -0
- package/src/skills/specweave-jira-mapper/SKILL.md +500 -0
- package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +12 -0
- package/src/skills/task-builder/README.md +90 -0
- package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +12 -0
- package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +12 -0
- package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +12 -0
- package/src/templates/.env.example +144 -0
- package/src/templates/.gitignore.template +81 -0
- package/src/templates/CLAUDE.md.template +383 -0
- package/src/templates/README.md.template +240 -0
- package/src/templates/config.yaml +333 -0
- package/src/templates/docs/README.md +124 -0
- package/src/templates/docs/adr-template.md +118 -0
- package/src/templates/docs/hld-template.md +220 -0
- package/src/templates/docs/lld-template.md +580 -0
- package/src/templates/docs/prd-template.md +132 -0
- package/src/templates/docs/rfc-template.md +229 -0
- package/src/templates/docs/runbook-template.md +298 -0
- package/src/templates/environments/minimal/.env.production +16 -0
- package/src/templates/environments/minimal/README.md +54 -0
- package/src/templates/environments/minimal/deploy-production.yml +52 -0
- package/src/templates/environments/progressive/.env.qa +28 -0
- package/src/templates/environments/progressive/README.md +129 -0
- package/src/templates/environments/progressive/deploy-production.yml +93 -0
- package/src/templates/environments/progressive/deploy-qa.yml +62 -0
- package/src/templates/environments/progressive/deploy-staging.yml +67 -0
- package/src/templates/environments/standard/.env.development +20 -0
- package/src/templates/environments/standard/.env.production +30 -0
- package/src/templates/environments/standard/.env.staging +23 -0
- package/src/templates/environments/standard/README.md +97 -0
- package/src/templates/environments/standard/deploy-production.yml +68 -0
- package/src/templates/environments/standard/deploy-staging.yml +61 -0
- package/src/templates/environments/standard/docker-compose.yml +43 -0
- package/src/templates/increment-metadata-template.yaml +138 -0
|
@@ -0,0 +1,523 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: brownfield-analyzer
|
|
3
|
+
description: Analyzes existing brownfield projects to map documentation structure to SpecWeave's PRD/HLD/RFC/Runbook pattern. Scans folders, classifies documents, detects external tools (Jira, ADO, GitHub), and generates migration plan. Activates for brownfield, existing project, migrate, analyze structure, legacy documentation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Brownfield Analyzer Skill
|
|
7
|
+
|
|
8
|
+
**Purpose**: Analyze existing brownfield projects and generate a migration plan to SpecWeave's PRD/HLD/RFC/Runbook pattern.
|
|
9
|
+
|
|
10
|
+
**When to Use**: When onboarding an existing project to SpecWeave.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Capabilities
|
|
15
|
+
|
|
16
|
+
1. **Scan Project Structure** - Recursively scan folders for documentation
|
|
17
|
+
2. **Classify Documents** - Identify PRD, HLD, ADR, RFC, Runbook candidates
|
|
18
|
+
3. **Detect External Tools** - Find Jira, ADO, GitHub project references
|
|
19
|
+
4. **Analyze Diagrams** - Identify architecture diagrams (PNG, SVG, drawio)
|
|
20
|
+
5. **Generate Migration Plan** - Create actionable migration plan with effort estimate
|
|
21
|
+
6. **Suggest Increment Mapping** - Map Jira Epics/ADO Features to SpecWeave Increments
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Activation Triggers
|
|
26
|
+
|
|
27
|
+
**Keywords**: brownfield, existing project, legacy, migrate, analyze, scan, documentation structure, existing documentation
|
|
28
|
+
|
|
29
|
+
**User Requests**:
|
|
30
|
+
- "Analyze my existing project"
|
|
31
|
+
- "I have a legacy codebase with scattered documentation"
|
|
32
|
+
- "Migrate my project to SpecWeave"
|
|
33
|
+
- "Scan my documentation and suggest structure"
|
|
34
|
+
- "I have Jira epics I want to map to SpecWeave"
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Analysis Process
|
|
39
|
+
|
|
40
|
+
### Step 1: Initial Scan
|
|
41
|
+
|
|
42
|
+
**Scan these patterns**:
|
|
43
|
+
```
|
|
44
|
+
docs/**/*.md
|
|
45
|
+
documentation/**/*.md
|
|
46
|
+
wiki/**/*.md
|
|
47
|
+
architecture/**/*.{md,png,svg,drawio}
|
|
48
|
+
runbooks/**/*.md
|
|
49
|
+
**/*spec*.{md,yaml,json}
|
|
50
|
+
**/*design*.md
|
|
51
|
+
**/*decision*.md
|
|
52
|
+
**/*adr*.md
|
|
53
|
+
**/*rfc*.md
|
|
54
|
+
**/README.md
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Exclude**:
|
|
58
|
+
```
|
|
59
|
+
node_modules/**
|
|
60
|
+
vendor/**
|
|
61
|
+
dist/**
|
|
62
|
+
build/**
|
|
63
|
+
.git/**
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Step 2: Document Classification
|
|
67
|
+
|
|
68
|
+
**Classify each document** using these rules:
|
|
69
|
+
|
|
70
|
+
#### PRD Candidates (Strategy)
|
|
71
|
+
**Indicators**:
|
|
72
|
+
- Filenames: `*requirement*`, `*spec*`, `*product*`, `*feature*`, `*prd*`
|
|
73
|
+
- Content keywords: "user story", "acceptance criteria", "success metrics", "business goal", "target users"
|
|
74
|
+
- Section headers: "Problem", "Requirements", "User Stories", "Acceptance Criteria"
|
|
75
|
+
|
|
76
|
+
**Output**: `prd-{name}.md` → `docs/internal/strategy/`
|
|
77
|
+
|
|
78
|
+
#### HLD Candidates (Architecture)
|
|
79
|
+
**Indicators**:
|
|
80
|
+
- Filenames: `*architecture*`, `*design*`, `*system*`, `*hld*`
|
|
81
|
+
- Content keywords: "component diagram", "data model", "system design", "architecture overview"
|
|
82
|
+
- Section headers: "Architecture", "Components", "Data Model", "Integrations"
|
|
83
|
+
- Diagrams present (PNG, SVG, Mermaid)
|
|
84
|
+
|
|
85
|
+
**Output**: `hld-{system}.md` → `docs/internal/architecture/`
|
|
86
|
+
|
|
87
|
+
#### ADR Candidates (Architecture Decisions)
|
|
88
|
+
**Indicators**:
|
|
89
|
+
- Filenames: `*decision*`, `*adr*`, `*choice*`
|
|
90
|
+
- Content keywords: "we decided", "rationale", "alternatives considered", "consequences"
|
|
91
|
+
- Section headers: "Decision", "Context", "Consequences", "Alternatives"
|
|
92
|
+
- Sequential numbering (0001, 0002, etc.)
|
|
93
|
+
|
|
94
|
+
**Output**: `0001-{decision}.md` → `docs/internal/architecture/adr/`
|
|
95
|
+
|
|
96
|
+
#### RFC Candidates (API/Schema Design)
|
|
97
|
+
**Indicators**:
|
|
98
|
+
- Filenames: `*api*`, `*rfc*`, `*proposal*`, `*spec*`
|
|
99
|
+
- Content keywords: "API design", "endpoint", "schema", "request/response", "OpenAPI"
|
|
100
|
+
- File formats: `.yaml`, `.json`, `.openapi`
|
|
101
|
+
- Section headers: "API", "Endpoints", "Schema", "Data Flow"
|
|
102
|
+
|
|
103
|
+
**Output**: `0001-{feature}.md` → `docs/internal/architecture/rfc/`
|
|
104
|
+
|
|
105
|
+
#### Runbook Candidates (Operations)
|
|
106
|
+
**Indicators**:
|
|
107
|
+
- Filenames: `*runbook*`, `*playbook*`, `*ops*`, `*operation*`, `*sop*`
|
|
108
|
+
- Content keywords: "procedure", "step-by-step", "troubleshooting", "incident", "monitoring"
|
|
109
|
+
- Section headers: "Procedures", "Common Failures", "Diagnostics", "SLO", "Escalation"
|
|
110
|
+
|
|
111
|
+
**Output**: `runbook-{service}.md` → `docs/internal/operations/`
|
|
112
|
+
|
|
113
|
+
#### Governance Candidates
|
|
114
|
+
**Indicators**:
|
|
115
|
+
- Filenames: `*security*`, `*compliance*`, `*policy*`, `*governance*`, `*gdpr*`, `*hipaa*`
|
|
116
|
+
- Content keywords: "security policy", "compliance", "audit", "data retention", "privacy"
|
|
117
|
+
|
|
118
|
+
**Output**: `{topic}.md` → `docs/internal/governance/`
|
|
119
|
+
|
|
120
|
+
### Step 3: External Tool Detection
|
|
121
|
+
|
|
122
|
+
**Scan for**:
|
|
123
|
+
|
|
124
|
+
#### Jira
|
|
125
|
+
**Patterns**:
|
|
126
|
+
- URLs: `https://*.atlassian.net/browse/*`
|
|
127
|
+
- Project keys: `[A-Z]+-\d+` (e.g., PROJ-123)
|
|
128
|
+
- Files: `.jira-config`, `jira.yaml`
|
|
129
|
+
|
|
130
|
+
**Extract**:
|
|
131
|
+
- Jira URL
|
|
132
|
+
- Project key
|
|
133
|
+
- Active Epics (via Jira API if credentials provided)
|
|
134
|
+
|
|
135
|
+
#### Azure DevOps
|
|
136
|
+
**Patterns**:
|
|
137
|
+
- URLs: `https://dev.azure.com/*`
|
|
138
|
+
- Work item IDs: `#\d+`
|
|
139
|
+
- Files: `azure-pipelines.yml`
|
|
140
|
+
|
|
141
|
+
**Extract**:
|
|
142
|
+
- ADO URL
|
|
143
|
+
- Project name
|
|
144
|
+
- Active Epics/Features
|
|
145
|
+
|
|
146
|
+
#### GitHub
|
|
147
|
+
**Patterns**:
|
|
148
|
+
- URLs: `https://github.com/*/*`
|
|
149
|
+
- Issue references: `#\d+`
|
|
150
|
+
- Files: `.github/`, `CODEOWNERS`
|
|
151
|
+
|
|
152
|
+
**Extract**:
|
|
153
|
+
- Repository
|
|
154
|
+
- Active Milestones
|
|
155
|
+
- Open Issues
|
|
156
|
+
|
|
157
|
+
### Step 4: Diagram Analysis
|
|
158
|
+
|
|
159
|
+
**Identify diagrams**:
|
|
160
|
+
- PNG files in `architecture/`, `diagrams/`, `docs/`
|
|
161
|
+
- DrawIO files (`.drawio`)
|
|
162
|
+
- SVG files
|
|
163
|
+
- Mermaid diagrams (already in markdown)
|
|
164
|
+
|
|
165
|
+
**Conversion plan**:
|
|
166
|
+
- PNG/DrawIO → Suggest Mermaid conversion
|
|
167
|
+
- Estimate: 15-30 minutes per diagram
|
|
168
|
+
|
|
169
|
+
### Step 5: Effort Estimation
|
|
170
|
+
|
|
171
|
+
**Calculate total effort**:
|
|
172
|
+
|
|
173
|
+
| Task | Effort per Item | Total Items | Total Hours |
|
|
174
|
+
|------|-----------------|-------------|-------------|
|
|
175
|
+
| Migrate documents | 5 min | X | Y |
|
|
176
|
+
| Convert diagrams | 20 min | X | Y |
|
|
177
|
+
| Number ADRs | 2 min | X | Y |
|
|
178
|
+
| Create metadata.yaml | 10 min | X | Y |
|
|
179
|
+
| Sync with Jira/ADO | 15 min | X | Y |
|
|
180
|
+
| Verification | - | - | 0.5 |
|
|
181
|
+
| **Total** | | | **Z hours** |
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Output: Analysis Report
|
|
186
|
+
|
|
187
|
+
**Generate markdown report**:
|
|
188
|
+
|
|
189
|
+
```markdown
|
|
190
|
+
# Brownfield Analysis Report
|
|
191
|
+
|
|
192
|
+
**Project**: {project-name}
|
|
193
|
+
**Analyzed**: {date}
|
|
194
|
+
**Total Files Scanned**: {count}
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Executive Summary
|
|
199
|
+
|
|
200
|
+
- **Documentation Files**: {count} markdown files found
|
|
201
|
+
- **Diagrams**: {count} diagrams found ({png}, {drawio}, {svg})
|
|
202
|
+
- **External Tools**: {Jira/ADO/GitHub detected}
|
|
203
|
+
- **Suggested Increments**: {count} (based on {Jira Epics/ADO Features})
|
|
204
|
+
- **Estimated Migration Effort**: {hours} hours
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Existing Documentation Structure
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
{project}/
|
|
212
|
+
├── docs/
|
|
213
|
+
│ ├── requirements.md
|
|
214
|
+
│ ├── architecture.md
|
|
215
|
+
│ └── ... ({count} files)
|
|
216
|
+
├── wiki/
|
|
217
|
+
│ └── ... ({count} files)
|
|
218
|
+
└── ...
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Document Classification
|
|
224
|
+
|
|
225
|
+
### Strategy Documents (PRD candidates)
|
|
226
|
+
- `docs/requirements/product-spec.md` → `docs/internal/strategy/prd-product.md`
|
|
227
|
+
- `wiki/feature-request.md` → `docs/internal/strategy/prd-feature.md`
|
|
228
|
+
- **Total**: {count} documents
|
|
229
|
+
|
|
230
|
+
### Architecture Documents (HLD candidates)
|
|
231
|
+
- `docs/architecture/system-design.md` → `docs/internal/architecture/hld-system-overview.md`
|
|
232
|
+
- **Total**: {count} documents
|
|
233
|
+
|
|
234
|
+
### Architecture Decision Records (ADR candidates)
|
|
235
|
+
- `docs/decisions/use-postgres.md` → `docs/internal/architecture/adr/0001-use-postgres.md`
|
|
236
|
+
- `docs/decisions/microservices.md` → `docs/internal/architecture/adr/0002-microservices.md`
|
|
237
|
+
- **Total**: {count} documents (will be numbered 0001-{count})
|
|
238
|
+
|
|
239
|
+
### API Specifications (RFC candidates)
|
|
240
|
+
- `api-specs/booking-api.yaml` → `docs/internal/architecture/rfc/0001-booking-api.md`
|
|
241
|
+
- **Total**: {count} documents
|
|
242
|
+
|
|
243
|
+
### Operations Documents (Runbook candidates)
|
|
244
|
+
- `runbooks/api-server.md` → `docs/internal/operations/runbook-api-server.md`
|
|
245
|
+
- **Total**: {count} documents
|
|
246
|
+
|
|
247
|
+
### Governance Documents
|
|
248
|
+
- `docs/security-policy.md` → `docs/internal/governance/security-model.md`
|
|
249
|
+
- **Total**: {count} documents
|
|
250
|
+
|
|
251
|
+
### Diagrams
|
|
252
|
+
- `architecture/system-diagram.png` → Convert to Mermaid (`hld-system-overview.context.mmd`)
|
|
253
|
+
- **Total**: {count} diagrams ({count} need conversion)
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## External Tool Integration
|
|
258
|
+
|
|
259
|
+
### Jira
|
|
260
|
+
- **URL**: https://company.atlassian.net
|
|
261
|
+
- **Project**: PROJ
|
|
262
|
+
- **Active Epics**: {count}
|
|
263
|
+
- PROJ-123: User Authentication
|
|
264
|
+
- PROJ-124: Payment Processing
|
|
265
|
+
- ... (list all)
|
|
266
|
+
|
|
267
|
+
**Suggested Mapping**:
|
|
268
|
+
- Epic PROJ-123 → Increment 0001-user-authentication
|
|
269
|
+
- Epic PROJ-124 → Increment 0002-payment-processing
|
|
270
|
+
- ... (one increment per epic)
|
|
271
|
+
|
|
272
|
+
### Azure DevOps
|
|
273
|
+
- (if detected)
|
|
274
|
+
|
|
275
|
+
### GitHub
|
|
276
|
+
- (if detected)
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Recommended Migration Plan
|
|
281
|
+
|
|
282
|
+
### Phase 1: Structure Creation (15 minutes)
|
|
283
|
+
1. Create `docs/internal/` structure (5 pillars)
|
|
284
|
+
2. Create `docs/public/` structure
|
|
285
|
+
3. Create `features/` directory
|
|
286
|
+
|
|
287
|
+
### Phase 2: Document Migration ({X} hours)
|
|
288
|
+
1. Migrate {count} PRD candidates → `docs/internal/strategy/`
|
|
289
|
+
2. Migrate {count} HLD candidates → `docs/internal/architecture/`
|
|
290
|
+
3. Migrate {count} ADR candidates → `docs/internal/architecture/adr/` (with numbering)
|
|
291
|
+
4. Migrate {count} RFC candidates → `docs/internal/architecture/rfc/` (with numbering)
|
|
292
|
+
5. Migrate {count} Runbook candidates → `docs/internal/operations/`
|
|
293
|
+
6. Migrate {count} Governance docs → `docs/internal/governance/`
|
|
294
|
+
|
|
295
|
+
### Phase 3: Diagram Conversion ({X} hours)
|
|
296
|
+
1. Convert {count} PNG/DrawIO diagrams to Mermaid
|
|
297
|
+
2. Co-locate diagrams with markdown files
|
|
298
|
+
|
|
299
|
+
### Phase 4: Increment Creation ({X} hours)
|
|
300
|
+
1. Create {count} increments (one per Jira Epic)
|
|
301
|
+
2. Create `metadata.yaml` for each increment
|
|
302
|
+
3. Link increments to related docs (PRD, HLD, ADR, RFC)
|
|
303
|
+
|
|
304
|
+
### Phase 5: External Tool Sync ({X} hours)
|
|
305
|
+
1. Configure `.specweave/config.yaml` with Jira/ADO credentials
|
|
306
|
+
2. Run initial sync to link Epics → Increments
|
|
307
|
+
3. Verify all Epics are mapped
|
|
308
|
+
|
|
309
|
+
### Phase 6: Verification (30 minutes)
|
|
310
|
+
1. Run `specweave verify`
|
|
311
|
+
2. Review migration report
|
|
312
|
+
3. Manual review of {count} documents flagged for attention
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## Effort Estimate
|
|
317
|
+
|
|
318
|
+
| Phase | Estimated Hours |
|
|
319
|
+
|-------|-----------------|
|
|
320
|
+
| Structure Creation | 0.25 |
|
|
321
|
+
| Document Migration | {X} |
|
|
322
|
+
| Diagram Conversion | {Y} |
|
|
323
|
+
| Increment Creation | {Z} |
|
|
324
|
+
| External Tool Sync | {A} |
|
|
325
|
+
| Verification | 0.5 |
|
|
326
|
+
| **Total** | **{Total} hours** |
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## Next Steps
|
|
331
|
+
|
|
332
|
+
1. **Review this report** - Confirm document classifications
|
|
333
|
+
2. **Adjust mappings** - Modify if document classifications are incorrect
|
|
334
|
+
3. **Approve migration plan** - Confirm effort estimate
|
|
335
|
+
4. **Execute migration**:
|
|
336
|
+
```bash
|
|
337
|
+
specweave migrate --plan analysis-report.md --execute
|
|
338
|
+
```
|
|
339
|
+
5. **Enable sync** - Configure Jira/ADO sync in `.specweave/config.yaml`
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## Questions for User
|
|
344
|
+
|
|
345
|
+
- [ ] Are document classifications correct?
|
|
346
|
+
- [ ] Should we sync with Jira/ADO/GitHub?
|
|
347
|
+
- [ ] Are Jira Epic → Increment mappings correct?
|
|
348
|
+
- [ ] Any documents to exclude from migration?
|
|
349
|
+
- [ ] Proceed with migration?
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
## Appendix: Full File List
|
|
354
|
+
|
|
355
|
+
### PRD Candidates
|
|
356
|
+
1. `docs/requirements/product-spec.md`
|
|
357
|
+
2. ...
|
|
358
|
+
|
|
359
|
+
### HLD Candidates
|
|
360
|
+
1. `docs/architecture/system-design.md`
|
|
361
|
+
2. ...
|
|
362
|
+
|
|
363
|
+
### ADR Candidates
|
|
364
|
+
1. `docs/decisions/use-postgres.md` → `0001-use-postgres.md`
|
|
365
|
+
2. ...
|
|
366
|
+
|
|
367
|
+
(Full list of all classified documents)
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
**End of Report**
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
## User Interaction Flow
|
|
377
|
+
|
|
378
|
+
### Initial Request
|
|
379
|
+
**User**: "Analyze my existing project at /path/to/project"
|
|
380
|
+
|
|
381
|
+
### Your Response
|
|
382
|
+
```
|
|
383
|
+
I'll analyze your existing project structure and generate a migration plan.
|
|
384
|
+
|
|
385
|
+
Scanning: /path/to/project
|
|
386
|
+
|
|
387
|
+
Found:
|
|
388
|
+
- 45 markdown files
|
|
389
|
+
- 8 diagrams
|
|
390
|
+
- Jira project detected (PROJ)
|
|
391
|
+
|
|
392
|
+
Analyzing... (this may take a moment)
|
|
393
|
+
|
|
394
|
+
✅ Analysis complete!
|
|
395
|
+
|
|
396
|
+
I've generated a comprehensive analysis report. Here's the summary:
|
|
397
|
+
|
|
398
|
+
**Documentation**: 45 files classified
|
|
399
|
+
- PRD candidates: 3
|
|
400
|
+
- HLD candidates: 2
|
|
401
|
+
- ADR candidates: 8
|
|
402
|
+
- RFC candidates: 3
|
|
403
|
+
- Runbook candidates: 5
|
|
404
|
+
- Governance: 2
|
|
405
|
+
|
|
406
|
+
**Diagrams**: 8 diagrams (6 need Mermaid conversion)
|
|
407
|
+
|
|
408
|
+
**External Tools**: Jira project PROJ with 12 active epics
|
|
409
|
+
|
|
410
|
+
**Suggested**: Create 12 increments (one per Jira epic)
|
|
411
|
+
|
|
412
|
+
**Estimated Effort**: 3.5 hours
|
|
413
|
+
|
|
414
|
+
Would you like me to:
|
|
415
|
+
1. Show the full analysis report?
|
|
416
|
+
2. Proceed with migration?
|
|
417
|
+
3. Adjust any classifications?
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
### After User Approval
|
|
421
|
+
```
|
|
422
|
+
Great! I'll execute the migration plan.
|
|
423
|
+
|
|
424
|
+
Step 1: Creating docs/internal/ structure...
|
|
425
|
+
✅ Structure created
|
|
426
|
+
|
|
427
|
+
Step 2: Migrating documents...
|
|
428
|
+
✅ Migrated 3 PRD candidates → docs/internal/strategy/
|
|
429
|
+
✅ Migrated 2 HLD candidates → docs/internal/architecture/
|
|
430
|
+
✅ Migrated 8 ADR candidates → docs/internal/architecture/adr/ (numbered 0001-0008)
|
|
431
|
+
✅ Migrated 3 RFC candidates → docs/internal/architecture/rfc/ (numbered 0001-0003)
|
|
432
|
+
✅ Migrated 5 Runbooks → docs/internal/operations/
|
|
433
|
+
✅ Migrated 2 Governance docs → docs/internal/governance/
|
|
434
|
+
|
|
435
|
+
Step 3: Converting diagrams...
|
|
436
|
+
⏳ Converting 6 PNG/DrawIO diagrams to Mermaid...
|
|
437
|
+
✅ Converted 6 diagrams
|
|
438
|
+
|
|
439
|
+
Step 4: Creating increments...
|
|
440
|
+
✅ Created 12 increments (mapped to Jira epics)
|
|
441
|
+
✅ Created metadata.yaml for each increment
|
|
442
|
+
|
|
443
|
+
Step 5: Syncing with Jira...
|
|
444
|
+
✅ Linked 12 Jira epics to increments
|
|
445
|
+
✅ Synced Epic statuses
|
|
446
|
+
|
|
447
|
+
Step 6: Verification...
|
|
448
|
+
✅ All documents migrated
|
|
449
|
+
✅ All diagrams converted
|
|
450
|
+
✅ All epics mapped
|
|
451
|
+
⚠️ 3 documents need manual review (see verification report)
|
|
452
|
+
|
|
453
|
+
Migration complete! 🎉
|
|
454
|
+
|
|
455
|
+
Your project is now using SpecWeave's PRD/HLD/RFC/Runbook pattern.
|
|
456
|
+
|
|
457
|
+
Next steps:
|
|
458
|
+
1. Review migrated documents
|
|
459
|
+
2. Run: mkdocs serve (to view documentation)
|
|
460
|
+
3. Configure ongoing sync: specweave sync --daemon
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
---
|
|
464
|
+
|
|
465
|
+
## Tool Usage
|
|
466
|
+
|
|
467
|
+
**When analyzing**:
|
|
468
|
+
- Use `Glob` to find files matching patterns
|
|
469
|
+
- Use `Read` to read document contents
|
|
470
|
+
- Use `Grep` to search for keywords
|
|
471
|
+
|
|
472
|
+
**Example**:
|
|
473
|
+
```typescript
|
|
474
|
+
// Find all markdown files
|
|
475
|
+
glob("**/*.md", { exclude: ["node_modules/**", "dist/**"] })
|
|
476
|
+
|
|
477
|
+
// Read and analyze each file
|
|
478
|
+
for (file of files) {
|
|
479
|
+
content = read(file)
|
|
480
|
+
classify(content) // PRD, HLD, ADR, RFC, Runbook?
|
|
481
|
+
}
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
---
|
|
485
|
+
|
|
486
|
+
## Configuration
|
|
487
|
+
|
|
488
|
+
**User can configure** scan patterns in `.specweave/config.yaml`:
|
|
489
|
+
|
|
490
|
+
```yaml
|
|
491
|
+
brownfield:
|
|
492
|
+
analysis:
|
|
493
|
+
scan_patterns:
|
|
494
|
+
- "docs/**/*.md"
|
|
495
|
+
- "documentation/**/*.md"
|
|
496
|
+
- "wiki/**/*.md"
|
|
497
|
+
- "architecture/**/*.{md,png,svg,drawio}"
|
|
498
|
+
- "runbooks/**/*.md"
|
|
499
|
+
exclude_patterns:
|
|
500
|
+
- "node_modules/**"
|
|
501
|
+
- "vendor/**"
|
|
502
|
+
- "dist/**"
|
|
503
|
+
diagram_conversion:
|
|
504
|
+
enabled: true
|
|
505
|
+
formats:
|
|
506
|
+
- png
|
|
507
|
+
- drawio
|
|
508
|
+
- svg
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
---
|
|
512
|
+
|
|
513
|
+
## Related Documentation
|
|
514
|
+
|
|
515
|
+
- [BROWNFIELD-INTEGRATION-STRATEGY.md](../../../docs/internal/delivery/BROWNFIELD-INTEGRATION-STRATEGY.md)
|
|
516
|
+
- [Tool Concept Mapping](../../../docs/internal/delivery/guides/tool-concept-mapping.md)
|
|
517
|
+
- [increment-metadata-template.yaml](../../../templates/increment-metadata-template.yaml)
|
|
518
|
+
|
|
519
|
+
---
|
|
520
|
+
|
|
521
|
+
## Test Cases
|
|
522
|
+
|
|
523
|
+
See `test-cases/` directory for validation scenarios.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Basic Brownfield Analysis"
|
|
3
|
+
description: "Tests if brownfield-analyzer can scan a simple project and classify documents"
|
|
4
|
+
input:
|
|
5
|
+
prompt: "Analyze the project at /sample/project with docs/ and wiki/ folders"
|
|
6
|
+
files:
|
|
7
|
+
- path: "/sample/project/docs/requirements.md"
|
|
8
|
+
content: |
|
|
9
|
+
# Product Requirements
|
|
10
|
+
## User Story
|
|
11
|
+
As a user, I want to log in so I can access my account.
|
|
12
|
+
## Acceptance Criteria
|
|
13
|
+
- User can log in with email and password
|
|
14
|
+
- path: "/sample/project/docs/architecture.md"
|
|
15
|
+
content: |
|
|
16
|
+
# System Architecture
|
|
17
|
+
## Components
|
|
18
|
+
- API Gateway
|
|
19
|
+
- Auth Service
|
|
20
|
+
- Database
|
|
21
|
+
- path: "/sample/project/wiki/runbook.md"
|
|
22
|
+
content: |
|
|
23
|
+
# API Server Runbook
|
|
24
|
+
## Procedures
|
|
25
|
+
### Restart Service
|
|
26
|
+
1. Stop service
|
|
27
|
+
2. Wait 30 seconds
|
|
28
|
+
3. Start service
|
|
29
|
+
expected_output:
|
|
30
|
+
type: "analysis_report"
|
|
31
|
+
contains:
|
|
32
|
+
- "Brownfield Analysis Report"
|
|
33
|
+
- "PRD candidates: 1"
|
|
34
|
+
- "HLD candidates: 1"
|
|
35
|
+
- "Runbook candidates: 1"
|
|
36
|
+
- "docs/requirements.md → docs/internal/strategy/prd-"
|
|
37
|
+
- "docs/architecture.md → docs/internal/architecture/hld-"
|
|
38
|
+
- "wiki/runbook.md → docs/internal/operations/runbook-"
|
|
39
|
+
validation:
|
|
40
|
+
- "Report generated successfully"
|
|
41
|
+
- "All 3 documents classified correctly"
|
|
42
|
+
- "Migration plan included"
|
|
43
|
+
- "Effort estimate provided"
|
|
44
|
+
success_criteria:
|
|
45
|
+
- "Analysis report contains all sections"
|
|
46
|
+
- "Document classifications are correct"
|
|
47
|
+
- "Migration plan is actionable"
|
|
48
|
+
---
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Placeholder Test"
|
|
3
|
+
description: "TODO: Add actual test case for brownfield-analyzer"
|
|
4
|
+
input:
|
|
5
|
+
prompt: "Test prompt"
|
|
6
|
+
expected_output:
|
|
7
|
+
type: "validation"
|
|
8
|
+
validation:
|
|
9
|
+
- "Placeholder validation"
|
|
10
|
+
success_criteria:
|
|
11
|
+
- "Test passes"
|
|
12
|
+
---
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Placeholder Test"
|
|
3
|
+
description: "TODO: Add actual test case for brownfield-analyzer"
|
|
4
|
+
input:
|
|
5
|
+
prompt: "Test prompt"
|
|
6
|
+
expected_output:
|
|
7
|
+
type: "validation"
|
|
8
|
+
validation:
|
|
9
|
+
- "Placeholder validation"
|
|
10
|
+
success_criteria:
|
|
11
|
+
- "Test passes"
|
|
12
|
+
---
|