multi-forge 0.2.0__py3-none-any.whl
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.
- forge/__init__.py +3 -0
- forge/_extensions/agents/.gitkeep +0 -0
- forge/_extensions/commands/.gitkeep +0 -0
- forge/_extensions/skills/analyze/SKILL.md +87 -0
- forge/_extensions/skills/challenge/SKILL.md +91 -0
- forge/_extensions/skills/consensus/SKILL.md +120 -0
- forge/_extensions/skills/consensus/resources/code_consensus_evaluation.md +94 -0
- forge/_extensions/skills/consensus/resources/consensus_evaluation.md +70 -0
- forge/_extensions/skills/consensus/resources/synthesis.md +101 -0
- forge/_extensions/skills/debate/SKILL.md +116 -0
- forge/_extensions/skills/debate/resources/code_debate_evaluation.md +101 -0
- forge/_extensions/skills/debate/resources/debate_evaluation.md +90 -0
- forge/_extensions/skills/panel/SKILL.md +141 -0
- forge/_extensions/skills/panel/resources/synthesis.md +103 -0
- forge/_extensions/skills/qa/SKILL.md +704 -0
- forge/_extensions/skills/qa/resources/checklist/0-enable.md +78 -0
- forge/_extensions/skills/qa/resources/checklist/1-preflight.md +24 -0
- forge/_extensions/skills/qa/resources/checklist/10-resume.md +143 -0
- forge/_extensions/skills/qa/resources/checklist/11-config.md +150 -0
- forge/_extensions/skills/qa/resources/checklist/12-search.md +58 -0
- forge/_extensions/skills/qa/resources/checklist/13-guard.md +237 -0
- forge/_extensions/skills/qa/resources/checklist/14-workflow.md +305 -0
- forge/_extensions/skills/qa/resources/checklist/15-skills.md +155 -0
- forge/_extensions/skills/qa/resources/checklist/16-handoff.md +224 -0
- forge/_extensions/skills/qa/resources/checklist/17-info.md +50 -0
- forge/_extensions/skills/qa/resources/checklist/18-disable.md +84 -0
- forge/_extensions/skills/qa/resources/checklist/19-uninstall.md +146 -0
- forge/_extensions/skills/qa/resources/checklist/2-extensions.md +188 -0
- forge/_extensions/skills/qa/resources/checklist/20-cleanup.md +36 -0
- forge/_extensions/skills/qa/resources/checklist/3-auth.md +234 -0
- forge/_extensions/skills/qa/resources/checklist/4-proxy.md +481 -0
- forge/_extensions/skills/qa/resources/checklist/5-session.md +541 -0
- forge/_extensions/skills/qa/resources/checklist/6-hooks.md +275 -0
- forge/_extensions/skills/qa/resources/checklist/7-costs.md +309 -0
- forge/_extensions/skills/qa/resources/checklist/8-status-line.md +174 -0
- forge/_extensions/skills/qa/resources/checklist/9-direct-commands.md +146 -0
- forge/_extensions/skills/qa/resources/checklist.md +103 -0
- forge/_extensions/skills/qa/resources/report-template.md +62 -0
- forge/_extensions/skills/qa/scripts/start-container.sh +529 -0
- forge/_extensions/skills/qa/scripts/walkthrough-state.py +1137 -0
- forge/_extensions/skills/review/SKILL.md +125 -0
- forge/_extensions/skills/review/references/claude-4.6.md +474 -0
- forge/_extensions/skills/review/references/claude-4.7.md +710 -0
- forge/_extensions/skills/review/references/gemini-3.1.md +546 -0
- forge/_extensions/skills/review/references/gpt-5.5.md +490 -0
- forge/_extensions/skills/review/references/skills-writing-guide.md +1588 -0
- forge/_extensions/skills/review/resources/code-anthropic.md +160 -0
- forge/_extensions/skills/review/resources/code-gemini.md +184 -0
- forge/_extensions/skills/review/resources/code-openai.md +203 -0
- forge/_extensions/skills/review/resources/code.md +160 -0
- forge/_extensions/skills/review-docs/SKILL.md +121 -0
- forge/_extensions/skills/review-docs/resources/docs-anthropic.md +170 -0
- forge/_extensions/skills/review-docs/resources/docs-gemini.md +204 -0
- forge/_extensions/skills/review-docs/resources/docs-openai.md +231 -0
- forge/_extensions/skills/review-docs/resources/docs.md +170 -0
- forge/_extensions/skills/smoke-test/SKILL.md +27 -0
- forge/_extensions/skills/smoke-test/scripts/smoke-test.sh +118 -0
- forge/_extensions/skills/understand/SKILL.md +148 -0
- forge/_extensions/skills/understand/resources/code-anthropic.md +163 -0
- forge/_extensions/skills/understand/resources/code-gemini.md +194 -0
- forge/_extensions/skills/understand/resources/code-openai.md +181 -0
- forge/_extensions/skills/understand/resources/code.md +163 -0
- forge/_extensions/skills/understand/resources/docs-anthropic.md +177 -0
- forge/_extensions/skills/understand/resources/docs-gemini.md +202 -0
- forge/_extensions/skills/understand/resources/docs-openai.md +191 -0
- forge/_extensions/skills/understand/resources/docs.md +177 -0
- forge/_extensions/skills/walkthrough/SKILL.md +599 -0
- forge/_extensions/skills/walkthrough/resources/checklist.md +765 -0
- forge/_extensions/skills/walkthrough/scripts/run-in-repo.sh +118 -0
- forge/_extensions/skills/walkthrough/scripts/setup-test-repo.sh +198 -0
- forge/_extensions/skills/walkthrough/scripts/walkthrough-state.py +1137 -0
- forge/backend/__init__.py +174 -0
- forge/backend/adapters/__init__.py +38 -0
- forge/backend/adapters/litellm.py +158 -0
- forge/backend/creation.py +89 -0
- forge/backend/registry.py +178 -0
- forge/cli/__init__.py +16 -0
- forge/cli/auth.py +483 -0
- forge/cli/backend.py +298 -0
- forge/cli/claude.py +411 -0
- forge/cli/config_cmd.py +303 -0
- forge/cli/extensions.py +1001 -0
- forge/cli/gc.py +165 -0
- forge/cli/guard.py +1018 -0
- forge/cli/guards.py +106 -0
- forge/cli/handoff.py +110 -0
- forge/cli/hooks/__init__.py +36 -0
- forge/cli/hooks/_group.py +20 -0
- forge/cli/hooks/_helpers.py +149 -0
- forge/cli/hooks/commands.py +1677 -0
- forge/cli/hooks/direct_commands.py +1304 -0
- forge/cli/hooks/install.py +232 -0
- forge/cli/hooks/policy.py +151 -0
- forge/cli/hooks/read_hygiene.py +74 -0
- forge/cli/hooks/verification.py +370 -0
- forge/cli/logs.py +406 -0
- forge/cli/main.py +292 -0
- forge/cli/proxy.py +1821 -0
- forge/cli/proxy_costs.py +313 -0
- forge/cli/search.py +416 -0
- forge/cli/session.py +892 -0
- forge/cli/session_addendum.py +81 -0
- forge/cli/session_fork.py +750 -0
- forge/cli/session_handoff.py +141 -0
- forge/cli/session_lifecycle.py +2053 -0
- forge/cli/session_manage.py +1336 -0
- forge/cli/session_memory.py +201 -0
- forge/cli/status_line.py +1398 -0
- forge/cli/workflow.py +1964 -0
- forge/config/__init__.py +110 -0
- forge/config/dataclass_utils.py +88 -0
- forge/config/defaults/__init__.py +0 -0
- forge/config/defaults/backends/__init__.py +0 -0
- forge/config/defaults/backends/litellm.yaml +196 -0
- forge/config/defaults/templates/__init__.py +0 -0
- forge/config/defaults/templates/litellm-anthropic-local.yaml +33 -0
- forge/config/defaults/templates/litellm-anthropic.yaml +24 -0
- forge/config/defaults/templates/litellm-gemini-flash-local.yaml +37 -0
- forge/config/defaults/templates/litellm-gemini-local.yaml +32 -0
- forge/config/defaults/templates/litellm-gemini-test.yaml +34 -0
- forge/config/defaults/templates/litellm-gemini.yaml +21 -0
- forge/config/defaults/templates/litellm-openai-codex-local.yaml +36 -0
- forge/config/defaults/templates/litellm-openai-local.yaml +38 -0
- forge/config/defaults/templates/litellm-openai.yaml +28 -0
- forge/config/defaults/templates/openrouter-anthropic.yaml +23 -0
- forge/config/defaults/templates/openrouter-deepseek.yaml +26 -0
- forge/config/defaults/templates/openrouter-gemini-flash.yaml +26 -0
- forge/config/defaults/templates/openrouter-gemini.yaml +23 -0
- forge/config/defaults/templates/openrouter-glm.yaml +23 -0
- forge/config/defaults/templates/openrouter-kimi.yaml +30 -0
- forge/config/defaults/templates/openrouter-minimax.yaml +26 -0
- forge/config/defaults/templates/openrouter-openai-codex.yaml +23 -0
- forge/config/defaults/templates/openrouter-openai.yaml +28 -0
- forge/config/defaults/templates/openrouter-qwen.yaml +25 -0
- forge/config/loader.py +675 -0
- forge/config/schema.py +448 -0
- forge/core/__init__.py +5 -0
- forge/core/auth/__init__.py +67 -0
- forge/core/auth/capabilities.py +219 -0
- forge/core/auth/credentials_file.py +244 -0
- forge/core/auth/protocols.py +18 -0
- forge/core/auth/secrets.py +243 -0
- forge/core/auth/template_secrets.py +112 -0
- forge/core/data/__init__.py +5 -0
- forge/core/data/model_catalog.yaml +1522 -0
- forge/core/data/pricing.yaml +140 -0
- forge/core/data/system_prompt_addendums/__init__.py +0 -0
- forge/core/data/system_prompt_addendums/gemini.md +330 -0
- forge/core/data/system_prompt_addendums/openai.md +328 -0
- forge/core/llm/__init__.py +231 -0
- forge/core/llm/clients/__init__.py +14 -0
- forge/core/llm/clients/base.py +115 -0
- forge/core/llm/clients/litellm.py +619 -0
- forge/core/llm/clients/openai_compat.py +244 -0
- forge/core/llm/clients/openrouter.py +234 -0
- forge/core/llm/credentials.py +439 -0
- forge/core/llm/detection.py +86 -0
- forge/core/llm/errors.py +44 -0
- forge/core/llm/protocols.py +80 -0
- forge/core/llm/types.py +176 -0
- forge/core/logging.py +146 -0
- forge/core/models/__init__.py +91 -0
- forge/core/models/catalog.py +467 -0
- forge/core/models/pricing.py +165 -0
- forge/core/models/types.py +167 -0
- forge/core/naming.py +212 -0
- forge/core/ops/__init__.py +73 -0
- forge/core/ops/context.py +141 -0
- forge/core/ops/gc.py +802 -0
- forge/core/ops/proxy.py +146 -0
- forge/core/ops/resolution.py +135 -0
- forge/core/ops/session.py +344 -0
- forge/core/ops/session_context.py +548 -0
- forge/core/paths.py +38 -0
- forge/core/process.py +54 -0
- forge/core/reactive/__init__.py +38 -0
- forge/core/reactive/cost_tracking.py +300 -0
- forge/core/reactive/env.py +180 -0
- forge/core/reactive/proxy.py +78 -0
- forge/core/reactive/routing.py +622 -0
- forge/core/reactive/session_runner.py +185 -0
- forge/core/reactive/structured_output.py +62 -0
- forge/core/reactive/tagger.py +94 -0
- forge/core/reactive/throttle.py +132 -0
- forge/core/state/__init__.py +59 -0
- forge/core/state/exceptions.py +59 -0
- forge/core/state/io.py +140 -0
- forge/core/state/lock.py +99 -0
- forge/core/state/timestamps.py +60 -0
- forge/core/transcript.py +78 -0
- forge/core/typing_helpers.py +24 -0
- forge/core/workqueue/__init__.py +67 -0
- forge/core/workqueue/queue.py +552 -0
- forge/core/workqueue/types.py +63 -0
- forge/guard/__init__.py +26 -0
- forge/guard/deterministic/__init__.py +26 -0
- forge/guard/deterministic/base.py +158 -0
- forge/guard/deterministic/coding_standards.py +256 -0
- forge/guard/deterministic/registry.py +148 -0
- forge/guard/deterministic/tdd.py +171 -0
- forge/guard/engine.py +216 -0
- forge/guard/protocols.py +91 -0
- forge/guard/queries.py +96 -0
- forge/guard/semantic/__init__.py +34 -0
- forge/guard/semantic/promotion.py +18 -0
- forge/guard/semantic/supervisor.py +813 -0
- forge/guard/semantic/verdict.py +183 -0
- forge/guard/store.py +124 -0
- forge/guard/team/__init__.py +6 -0
- forge/guard/team/config.py +24 -0
- forge/guard/team/handlers.py +209 -0
- forge/guard/team/prompts.py +41 -0
- forge/guard/types.py +125 -0
- forge/guard/workflow/__init__.py +17 -0
- forge/guard/workflow/branches.py +67 -0
- forge/guard/workflow/config.py +63 -0
- forge/guard/workflow/divergence.py +113 -0
- forge/guard/workflow/policy.py +87 -0
- forge/guard/workflow/stages.py +205 -0
- forge/install/__init__.py +55 -0
- forge/install/cli.py +281 -0
- forge/install/exceptions.py +163 -0
- forge/install/hooks.py +109 -0
- forge/install/installer.py +1037 -0
- forge/install/models.py +321 -0
- forge/install/preset.py +272 -0
- forge/install/settings_merge.py +831 -0
- forge/install/tracking.py +238 -0
- forge/install/version.py +141 -0
- forge/proxy/__init__.py +0 -0
- forge/proxy/base_client.py +181 -0
- forge/proxy/client_adapter.py +476 -0
- forge/proxy/client_factory.py +531 -0
- forge/proxy/converters.py +1206 -0
- forge/proxy/cost_logger.py +132 -0
- forge/proxy/cost_tracker.py +242 -0
- forge/proxy/data_models.py +338 -0
- forge/proxy/error_hints.py +92 -0
- forge/proxy/metrics.py +222 -0
- forge/proxy/model_spec.py +158 -0
- forge/proxy/proxies.py +333 -0
- forge/proxy/proxy_identity.py +134 -0
- forge/proxy/proxy_orchestrator.py +1018 -0
- forge/proxy/proxy_startup.py +54 -0
- forge/proxy/server.py +1561 -0
- forge/proxy/utils.py +537 -0
- forge/review/__init__.py +6 -0
- forge/review/adversarial.py +111 -0
- forge/review/consensus.py +236 -0
- forge/review/engine.py +356 -0
- forge/review/models.py +437 -0
- forge/review/resources/__init__.py +5 -0
- forge/review/resources/codereview-performance.md +85 -0
- forge/review/resources/codereview-quick.md +75 -0
- forge/review/resources/codereview-security.md +92 -0
- forge/review/resources/codereview.md +85 -0
- forge/review/resources/docreview-quick.md +75 -0
- forge/review/resources/docreview.md +86 -0
- forge/review/resources/thinkdeep.md +89 -0
- forge/review/routing.py +368 -0
- forge/review/synthesis.py +73 -0
- forge/runtime_config.py +438 -0
- forge/search/__init__.py +55 -0
- forge/search/bm25_store.py +264 -0
- forge/search/content_store.py +197 -0
- forge/search/engine.py +352 -0
- forge/search/exceptions.py +51 -0
- forge/search/extractor.py +234 -0
- forge/search/index_state.py +295 -0
- forge/search/store.py +215 -0
- forge/search/tokenizer.py +24 -0
- forge/session/__init__.py +130 -0
- forge/session/active.py +339 -0
- forge/session/artifacts.py +202 -0
- forge/session/claude/__init__.py +50 -0
- forge/session/claude/cleanup.py +105 -0
- forge/session/claude/invoke.py +236 -0
- forge/session/claude/paths.py +200 -0
- forge/session/cleanup.py +216 -0
- forge/session/config.py +34 -0
- forge/session/direct_model.py +107 -0
- forge/session/effective.py +169 -0
- forge/session/exceptions.py +255 -0
- forge/session/handoff.py +881 -0
- forge/session/handoff_agent.py +544 -0
- forge/session/hooks/__init__.py +35 -0
- forge/session/hooks/models.py +73 -0
- forge/session/hooks/session_start.py +507 -0
- forge/session/identity.py +84 -0
- forge/session/index.py +553 -0
- forge/session/manager.py +1506 -0
- forge/session/models.py +572 -0
- forge/session/overrides.py +344 -0
- forge/session/plan_resolution.py +286 -0
- forge/session/prev_sessions.py +128 -0
- forge/session/store.py +431 -0
- forge/session/validation.py +47 -0
- forge/session/worktree/__init__.py +65 -0
- forge/session/worktree/cleanup.py +262 -0
- forge/session/worktree/config_copy.py +203 -0
- forge/session/worktree/create.py +332 -0
- forge/sidecar/__init__.py +29 -0
- forge/sidecar/container.py +161 -0
- forge/sidecar/docker.py +86 -0
- forge/sidecar/secrets.py +19 -0
- multi_forge-0.2.0.dist-info/METADATA +242 -0
- multi_forge-0.2.0.dist-info/RECORD +311 -0
- multi_forge-0.2.0.dist-info/WHEEL +4 -0
- multi_forge-0.2.0.dist-info/entry_points.txt +2 -0
- multi_forge-0.2.0.dist-info/licenses/LICENSE +203 -0
- multi_forge-0.2.0.dist-info/licenses/NOTICE +14 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# Documentation Understanding (Opus-Optimized)
|
|
2
|
+
|
|
3
|
+
Analyze project documentation to extract clear explanations of design decisions, architecture, and technical approach.
|
|
4
|
+
|
|
5
|
+
```xml
|
|
6
|
+
<role>
|
|
7
|
+
You are a design documentation specialist.
|
|
8
|
+
You extract and explain design decisions, architecture, and rationale.
|
|
9
|
+
You focus on WHY choices were made, not just WHAT was chosen.
|
|
10
|
+
</role>
|
|
11
|
+
|
|
12
|
+
<behavior>
|
|
13
|
+
- Follow instructions precisely
|
|
14
|
+
- Cite specific document sections
|
|
15
|
+
- Extract, don't infer - stick to what's documented
|
|
16
|
+
- Note when interpreting vs quoting
|
|
17
|
+
</behavior>
|
|
18
|
+
|
|
19
|
+
<scope_constraints>
|
|
20
|
+
- Analyze only documents directly relevant to the target
|
|
21
|
+
- Do not fabricate missing information
|
|
22
|
+
- Note gaps when critical info is absent
|
|
23
|
+
</scope_constraints>
|
|
24
|
+
|
|
25
|
+
<intent>
|
|
26
|
+
This skill EXPLAINS -- it does not EVALUATE.
|
|
27
|
+
- Describe what the document states, claims, and assumes
|
|
28
|
+
- Describe the structure and organization the author chose
|
|
29
|
+
- Note absent topics factually: "The document does not specify X" (observation)
|
|
30
|
+
- Do NOT rate quality, score completeness, or call sections "critically incomplete" (judgment)
|
|
31
|
+
- Do NOT recommend fixes or improvements -- that is /forge:review-docs
|
|
32
|
+
- When gaps exist, explain what the document DOES cover in that area, not what it fails to cover
|
|
33
|
+
</intent>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Requirements
|
|
39
|
+
|
|
40
|
+
This skill requires:
|
|
41
|
+
|
|
42
|
+
- **Explore subagent**: The `Agent` tool with `subagent_type: "Explore"` must be available
|
|
43
|
+
- **File reading**: Read tool access to analyze target documentation
|
|
44
|
+
- **Local analysis only**: Use only the tools allowed by this skill. Do not call external MCP analysis tools from this
|
|
45
|
+
skill.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Phase 1: Exploration
|
|
50
|
+
|
|
51
|
+
Gather context before analysis. Use the Explore agent to build understanding efficiently.
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
Tool: Agent
|
|
55
|
+
Parameters:
|
|
56
|
+
subagent_type: "Explore"
|
|
57
|
+
description: "Analyze project documentation"
|
|
58
|
+
prompt: |
|
|
59
|
+
Analyze project documentation:
|
|
60
|
+
1. If no specific target: Find docs (README, CLAUDE.md, docs/**/*.md)
|
|
61
|
+
2. If specific file/directory: Read and analyze it
|
|
62
|
+
3. If question: Find docs that answer it
|
|
63
|
+
|
|
64
|
+
Explain what the document states and how it is structured.
|
|
65
|
+
Do not score quality, recommend fixes, or perform a review.
|
|
66
|
+
|
|
67
|
+
Return structured analysis:
|
|
68
|
+
- Design Decisions: Key choices, rationale, documented considerations
|
|
69
|
+
- Architecture: System structure, components, boundaries
|
|
70
|
+
- Technology Stack: Languages, frameworks, why chosen
|
|
71
|
+
- Design Patterns: Patterns used, where applied, why they fit
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Phase 2: Context-Aware Synthesis
|
|
77
|
+
|
|
78
|
+
After receiving agent analysis:
|
|
79
|
+
|
|
80
|
+
1. Review agent's findings
|
|
81
|
+
2. Enrich with conversation context (relate to ongoing discussion, connect to recent changes)
|
|
82
|
+
3. Verify against code if needed
|
|
83
|
+
4. Present synthesized results
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Phase 3: Analysis Framework
|
|
88
|
+
|
|
89
|
+
```xml
|
|
90
|
+
<analysis_framework>
|
|
91
|
+
<design_decisions>
|
|
92
|
+
For each major decision, extract:
|
|
93
|
+
- **What**: The choice made
|
|
94
|
+
- **Why**: Rationale
|
|
95
|
+
- **Documented considerations**: Trade-offs or constraints mentioned in the document
|
|
96
|
+
- **Alternatives mentioned**: Options the document explicitly discusses
|
|
97
|
+
- **Constraints**: Influencing factors stated in the document
|
|
98
|
+
</design_decisions>
|
|
99
|
+
|
|
100
|
+
<architecture>
|
|
101
|
+
- Overall structure and organization
|
|
102
|
+
- Components and their responsibilities
|
|
103
|
+
- Boundaries and relationships
|
|
104
|
+
- Data and control flow
|
|
105
|
+
</architecture>
|
|
106
|
+
|
|
107
|
+
<technology_stack>
|
|
108
|
+
For each choice: what, why, alternatives considered, how it fits
|
|
109
|
+
</technology_stack>
|
|
110
|
+
|
|
111
|
+
<design_patterns>
|
|
112
|
+
Identify patterns: name, where used, why, how applied
|
|
113
|
+
</design_patterns>
|
|
114
|
+
</analysis_framework>
|
|
115
|
+
|
|
116
|
+
<depth_selection>
|
|
117
|
+
IF depth = quick:
|
|
118
|
+
Output: <500 words, high-level overview (2-3 paragraphs)
|
|
119
|
+
IF depth = detailed:
|
|
120
|
+
Output: 500-1000 words, comprehensive analysis of decisions, patterns, trade-offs
|
|
121
|
+
IF depth = deep:
|
|
122
|
+
Output: Comprehensive investigation with maximum local coverage
|
|
123
|
+
</depth_selection>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Output
|
|
129
|
+
|
|
130
|
+
```xml
|
|
131
|
+
<output_format>
|
|
132
|
+
Structure findings as:
|
|
133
|
+
|
|
134
|
+
# Design Understanding: [Project/Document Name]
|
|
135
|
+
|
|
136
|
+
## Overview
|
|
137
|
+
[High-level design summary - 2-3 sentences]
|
|
138
|
+
|
|
139
|
+
## Architecture Overview
|
|
140
|
+
### System Structure
|
|
141
|
+
[Description with component relationships]
|
|
142
|
+
|
|
143
|
+
### Key Components
|
|
144
|
+
1. **[Name]**: Responsibility, technology, interactions
|
|
145
|
+
|
|
146
|
+
## Key Design Decisions
|
|
147
|
+
### [Category: e.g., Data Architecture]
|
|
148
|
+
- **Decision**: [choice]
|
|
149
|
+
- **Rationale**: [why]
|
|
150
|
+
- **Documented considerations**: [trade-offs the document discusses, if any]
|
|
151
|
+
- **Alternatives mentioned**: [options the document explicitly names]
|
|
152
|
+
|
|
153
|
+
## Technology Stack
|
|
154
|
+
| Technology | Purpose | Why Chosen |
|
|
155
|
+
|------------|---------|------------|
|
|
156
|
+
|
|
157
|
+
## Design Patterns
|
|
158
|
+
### [Pattern Name]
|
|
159
|
+
- Used in: [location]
|
|
160
|
+
- Purpose: [problem solved]
|
|
161
|
+
- Implementation: [how applied]
|
|
162
|
+
|
|
163
|
+
## How It Relates
|
|
164
|
+
[Connection to current work]
|
|
165
|
+
|
|
166
|
+
## Key Points
|
|
167
|
+
- [Bulleted summary of what the document establishes]
|
|
168
|
+
</output_format>
|
|
169
|
+
|
|
170
|
+
<output_constraints>
|
|
171
|
+
- Extract, don't infer: Stick to what's documented; note when interpreting
|
|
172
|
+
- Show relationships: Explain how components connect
|
|
173
|
+
- Report documented trade-offs: Include only considerations the document itself discusses
|
|
174
|
+
- Note gaps: If a topic is not addressed, state what the document covers nearby rather than cataloging deficiencies
|
|
175
|
+
- Use textual component maps where helpful
|
|
176
|
+
</output_constraints>
|
|
177
|
+
```
|