@techierathore/techieflow 1.0.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.
Files changed (151) hide show
  1. package/.claude/commands/TechieFlow/agents/analyst.md +97 -0
  2. package/.claude/commands/TechieFlow/agents/architect.md +84 -0
  3. package/.claude/commands/TechieFlow/agents/flow-master.md +217 -0
  4. package/.claude/commands/TechieFlow/agents/verifier.md +72 -0
  5. package/.claude/commands/TechieFlow/tasks/_metrics-emit-gate.md +138 -0
  6. package/.claude/commands/TechieFlow/tasks/_smoke-test-policy.md +98 -0
  7. package/.claude/commands/TechieFlow/tasks/_status-update-gate.md +78 -0
  8. package/.claude/commands/TechieFlow/tasks/_yolo-mode.md +77 -0
  9. package/.claude/commands/TechieFlow/tasks/advanced-elicitation.md +117 -0
  10. package/.claude/commands/TechieFlow/tasks/amend-docs.md +149 -0
  11. package/.claude/commands/TechieFlow/tasks/author-brd.md +79 -0
  12. package/.claude/commands/TechieFlow/tasks/build-phase.md +231 -0
  13. package/.claude/commands/TechieFlow/tasks/create-deep-research-prompt.md +278 -0
  14. package/.claude/commands/TechieFlow/tasks/create-doc.md +101 -0
  15. package/.claude/commands/TechieFlow/tasks/day1-brownfield.md +507 -0
  16. package/.claude/commands/TechieFlow/tasks/day1-greenfield.md +224 -0
  17. package/.claude/commands/TechieFlow/tasks/devguide.md +224 -0
  18. package/.claude/commands/TechieFlow/tasks/document-project.md +343 -0
  19. package/.claude/commands/TechieFlow/tasks/execute-checklist.md +86 -0
  20. package/.claude/commands/TechieFlow/tasks/facilitate-brainstorming-session.md +136 -0
  21. package/.claude/commands/TechieFlow/tasks/fix-issues.md +134 -0
  22. package/.claude/commands/TechieFlow/tasks/generate-html.md +115 -0
  23. package/.claude/commands/TechieFlow/tasks/handoff-phase.md +126 -0
  24. package/.claude/commands/TechieFlow/tasks/index-docs.md +173 -0
  25. package/.claude/commands/TechieFlow/tasks/kb-mode-interaction.md +75 -0
  26. package/.claude/commands/TechieFlow/tasks/log-miss.md +160 -0
  27. package/.claude/commands/TechieFlow/tasks/metrics-report.md +143 -0
  28. package/.claude/commands/TechieFlow/tasks/mockups.md +122 -0
  29. package/.claude/commands/TechieFlow/tasks/productguide.md +105 -0
  30. package/.claude/commands/TechieFlow/tasks/refresh-status.md +135 -0
  31. package/.claude/commands/TechieFlow/tasks/render-workflow-docs.md +117 -0
  32. package/.claude/commands/TechieFlow/tasks/shard-doc.md +185 -0
  33. package/.claude/commands/TechieFlow/tasks/split-brd.md +131 -0
  34. package/.claude/commands/TechieFlow/tasks/triage-issues.md +157 -0
  35. package/.claude/commands/TechieFlow/tasks/verify-phase.md +579 -0
  36. package/.claude/commands/generate-html.md +124 -0
  37. package/.codex/config.toml +46 -0
  38. package/.codex/hooks.json +63 -0
  39. package/.codex/rules/techieflow.rules +8 -0
  40. package/.opencode/command/generate-html.md +129 -0
  41. package/.opencode/plugin/techieflow.js +350 -0
  42. package/.tfcore/TOKEN-GUIDE.md +59 -0
  43. package/.tfcore/agents/analyst.md +97 -0
  44. package/.tfcore/agents/architect.md +84 -0
  45. package/.tfcore/agents/flow-master.md +217 -0
  46. package/.tfcore/agents/verifier.md +72 -0
  47. package/.tfcore/checklists/architect-checklist.md +438 -0
  48. package/.tfcore/core-config.yaml +47 -0
  49. package/.tfcore/data/brainstorming-techniques.md +36 -0
  50. package/.tfcore/data/elicitation-methods.md +154 -0
  51. package/.tfcore/data/techieflow-kb.md +807 -0
  52. package/.tfcore/data/technical-preferences.md +3 -0
  53. package/.tfcore/enhanced-ide-development-workflow.md +248 -0
  54. package/.tfcore/hooks/block-git.sh +301 -0
  55. package/.tfcore/hooks/codex-adapter.py +248 -0
  56. package/.tfcore/hooks/guard-artifacts.sh +101 -0
  57. package/.tfcore/hooks/guard-status-html.sh +102 -0
  58. package/.tfcore/hooks/guard-status.sh +124 -0
  59. package/.tfcore/hooks/guard-verify.sh +108 -0
  60. package/.tfcore/hooks/metrics-session.sh +129 -0
  61. package/.tfcore/hooks/session-pointer.sh +52 -0
  62. package/.tfcore/hooks/sweep-artifacts.sh +198 -0
  63. package/.tfcore/install-manifest.yaml +231 -0
  64. package/.tfcore/routing.yaml +105 -0
  65. package/.tfcore/tasks/_metrics-emit-gate.md +138 -0
  66. package/.tfcore/tasks/_smoke-test-policy.md +98 -0
  67. package/.tfcore/tasks/_status-update-gate.md +78 -0
  68. package/.tfcore/tasks/_yolo-mode.md +77 -0
  69. package/.tfcore/tasks/advanced-elicitation.md +117 -0
  70. package/.tfcore/tasks/amend-docs.md +149 -0
  71. package/.tfcore/tasks/author-brd.md +79 -0
  72. package/.tfcore/tasks/build-phase.md +231 -0
  73. package/.tfcore/tasks/create-deep-research-prompt.md +278 -0
  74. package/.tfcore/tasks/create-doc.md +101 -0
  75. package/.tfcore/tasks/day1-brownfield.md +507 -0
  76. package/.tfcore/tasks/day1-greenfield.md +224 -0
  77. package/.tfcore/tasks/devguide.md +224 -0
  78. package/.tfcore/tasks/document-project.md +343 -0
  79. package/.tfcore/tasks/execute-checklist.md +86 -0
  80. package/.tfcore/tasks/facilitate-brainstorming-session.md +136 -0
  81. package/.tfcore/tasks/fix-issues.md +134 -0
  82. package/.tfcore/tasks/generate-html.md +115 -0
  83. package/.tfcore/tasks/handoff-phase.md +126 -0
  84. package/.tfcore/tasks/index-docs.md +173 -0
  85. package/.tfcore/tasks/kb-mode-interaction.md +75 -0
  86. package/.tfcore/tasks/log-miss.md +160 -0
  87. package/.tfcore/tasks/metrics-report.md +143 -0
  88. package/.tfcore/tasks/mockups.md +122 -0
  89. package/.tfcore/tasks/productguide.md +105 -0
  90. package/.tfcore/tasks/refresh-status.md +135 -0
  91. package/.tfcore/tasks/render-workflow-docs.md +117 -0
  92. package/.tfcore/tasks/shard-doc.md +185 -0
  93. package/.tfcore/tasks/split-brd.md +131 -0
  94. package/.tfcore/tasks/triage-issues.md +157 -0
  95. package/.tfcore/tasks/verify-phase.md +579 -0
  96. package/.tfcore/telemetry/SCHEMA.md +678 -0
  97. package/.tfcore/telemetry/install-metrics.sh +390 -0
  98. package/.tfcore/telemetry/pre-commit +94 -0
  99. package/.tfcore/telemetry/tf-metrics.sh +1415 -0
  100. package/.tfcore/templates/architecture-tmpl.yaml +650 -0
  101. package/.tfcore/templates/brainstorming-output-tmpl.yaml +156 -0
  102. package/.tfcore/templates/brownfield-architecture-tmpl.yaml +476 -0
  103. package/.tfcore/templates/competitor-analysis-tmpl.yaml +306 -0
  104. package/.tfcore/templates/front-end-architecture-tmpl.yaml +218 -0
  105. package/.tfcore/templates/fullstack-architecture-tmpl.yaml +823 -0
  106. package/.tfcore/templates/market-research-tmpl.yaml +252 -0
  107. package/.tfcore/templates/project-brief-tmpl.yaml +221 -0
  108. package/.tfcore/templates/v4custom/app-agents-md-tmpl.md +61 -0
  109. package/.tfcore/templates/v4custom/app-architecture-tmpl.md +127 -0
  110. package/.tfcore/templates/v4custom/app-brd-tmpl.md +204 -0
  111. package/.tfcore/templates/v4custom/app-checklist-tmpl.md +90 -0
  112. package/.tfcore/templates/v4custom/app-claude-md-tmpl.md +33 -0
  113. package/.tfcore/templates/v4custom/app-devguide-tmpl.md +167 -0
  114. package/.tfcore/templates/v4custom/app-editorconfig-tmpl.editorconfig +44 -0
  115. package/.tfcore/templates/v4custom/app-library-feedback-tmpl.md +31 -0
  116. package/.tfcore/templates/v4custom/app-productguide-tmpl.md +54 -0
  117. package/.tfcore/templates/v4custom/app-project-status-tmpl.md +98 -0
  118. package/.tfcore/templates/v4custom/app-uidesign-tmpl.md +48 -0
  119. package/.tfcore/templates/v4custom/app-usageguide-tmpl.md +67 -0
  120. package/.tfcore/templates/v4custom/build-invocation-ladder.md +190 -0
  121. package/.tfcore/templates/v4custom/html-render-shell.md +502 -0
  122. package/.tfcore/templates/v4custom/metrics-report-template.md +273 -0
  123. package/.tfcore/templates/v4custom/opencode-operating-contract.md +56 -0
  124. package/.tfcore/user-guide.md +633 -0
  125. package/.tfcore/utils/techieflow-doc-template.md +325 -0
  126. package/.tfcore/utils/tf-assets.sh +310 -0
  127. package/.tfcore/utils/tf-codex-bind.py +196 -0
  128. package/.tfcore/utils/tf-codex-telemetry.py +60 -0
  129. package/.tfcore/utils/tf-emit.sh +1075 -0
  130. package/.tfcore/utils/tf-gitignore-audit.sh +281 -0
  131. package/.tfcore/utils/tf-goal.sh +421 -0
  132. package/.tfcore/utils/tf-harness.sh +160 -0
  133. package/.tfcore/utils/tf-mockup-parity.mjs +555 -0
  134. package/.tfcore/utils/tf-mockup-parity.sh +65 -0
  135. package/.tfcore/utils/tf-opencode-audit.py +126 -0
  136. package/.tfcore/utils/tf-perf.sh +241 -0
  137. package/.tfcore/utils/tf-render-html.py +715 -0
  138. package/.tfcore/utils/tf-render-html.sh +28 -0
  139. package/.tfcore/utils/tf-routing-bind.sh +216 -0
  140. package/.tfcore/utils/tf-routing.sh +247 -0
  141. package/.tfcore/utils/tf-yolo.sh +119 -0
  142. package/.tfcore/working-in-the-brownfield.md +606 -0
  143. package/LICENSE +201 -0
  144. package/README.md +1212 -0
  145. package/WORKFLOW.html +1986 -0
  146. package/docs/TechieFlow-Installation.md +299 -0
  147. package/opencode.jsonc +929 -0
  148. package/package.json +60 -0
  149. package/scripts/install.mjs +992 -0
  150. package/scripts/test-install.mjs +505 -0
  151. package/scripts/validate.mjs +155 -0
@@ -0,0 +1,252 @@
1
+ template:
2
+ id: market-research-template-v2
3
+ name: Market Research Report
4
+ version: 2.0
5
+ output:
6
+ format: markdown
7
+ filename: docs/market-research.md
8
+ title: "Market Research Report: {{project_product_name}}"
9
+
10
+ workflow:
11
+ mode: interactive
12
+ elicitation: advanced-elicitation
13
+ custom_elicitation:
14
+ title: "Market Research Elicitation Actions"
15
+ options:
16
+ - "Expand market sizing calculations with sensitivity analysis"
17
+ - "Deep dive into a specific customer segment"
18
+ - "Analyze an emerging market trend in detail"
19
+ - "Compare this market to an analogous market"
20
+ - "Stress test market assumptions"
21
+ - "Explore adjacent market opportunities"
22
+ - "Challenge market definition and boundaries"
23
+ - "Generate strategic scenarios (best/base/worst case)"
24
+ - "If only we had considered [X market factor]..."
25
+ - "Proceed to next section"
26
+
27
+ sections:
28
+ - id: executive-summary
29
+ title: Executive Summary
30
+ instruction: Provide a high-level overview of key findings, market opportunity assessment, and strategic recommendations. Write this section LAST after completing all other sections.
31
+
32
+ - id: research-objectives
33
+ title: Research Objectives & Methodology
34
+ instruction: This template guides the creation of a comprehensive market research report. Begin by understanding what market insights the user needs and why. Work through each section systematically, using the appropriate analytical frameworks based on the research objectives.
35
+ sections:
36
+ - id: objectives
37
+ title: Research Objectives
38
+ instruction: |
39
+ List the primary objectives of this market research:
40
+ - What decisions will this research inform?
41
+ - What specific questions need to be answered?
42
+ - What are the success criteria for this research?
43
+ - id: methodology
44
+ title: Research Methodology
45
+ instruction: |
46
+ Describe the research approach:
47
+ - Data sources used (primary/secondary)
48
+ - Analysis frameworks applied
49
+ - Data collection timeframe
50
+ - Limitations and assumptions
51
+
52
+ - id: market-overview
53
+ title: Market Overview
54
+ sections:
55
+ - id: market-definition
56
+ title: Market Definition
57
+ instruction: |
58
+ Define the market being analyzed:
59
+ - Product/service category
60
+ - Geographic scope
61
+ - Customer segments included
62
+ - Value chain position
63
+ - id: market-size-growth
64
+ title: Market Size & Growth
65
+ instruction: |
66
+ Guide through TAM, SAM, SOM calculations with clear assumptions. Use one or more approaches:
67
+ - Top-down: Start with industry data, narrow down
68
+ - Bottom-up: Build from customer/unit economics
69
+ - Value theory: Based on value provided vs. alternatives
70
+ sections:
71
+ - id: tam
72
+ title: Total Addressable Market (TAM)
73
+ instruction: Calculate and explain the total market opportunity
74
+ - id: sam
75
+ title: Serviceable Addressable Market (SAM)
76
+ instruction: Define the portion of TAM you can realistically reach
77
+ - id: som
78
+ title: Serviceable Obtainable Market (SOM)
79
+ instruction: Estimate the portion you can realistically capture
80
+ - id: market-trends
81
+ title: Market Trends & Drivers
82
+ instruction: Analyze key trends shaping the market using appropriate frameworks like PESTEL
83
+ sections:
84
+ - id: key-trends
85
+ title: Key Market Trends
86
+ instruction: |
87
+ List and explain 3-5 major trends:
88
+ - Trend 1: Description and impact
89
+ - Trend 2: Description and impact
90
+ - etc.
91
+ - id: growth-drivers
92
+ title: Growth Drivers
93
+ instruction: Identify primary factors driving market growth
94
+ - id: market-inhibitors
95
+ title: Market Inhibitors
96
+ instruction: Identify factors constraining market growth
97
+
98
+ - id: customer-analysis
99
+ title: Customer Analysis
100
+ sections:
101
+ - id: segment-profiles
102
+ title: Target Segment Profiles
103
+ instruction: For each segment, create detailed profiles including demographics/firmographics, psychographics, behaviors, needs, and willingness to pay
104
+ repeatable: true
105
+ sections:
106
+ - id: segment
107
+ title: "Segment {{segment_number}}: {{segment_name}}"
108
+ template: |
109
+ - **Description:** {{brief_overview}}
110
+ - **Size:** {{number_of_customers_market_value}}
111
+ - **Characteristics:** {{key_demographics_firmographics}}
112
+ - **Needs & Pain Points:** {{primary_problems}}
113
+ - **Buying Process:** {{purchasing_decisions}}
114
+ - **Willingness to Pay:** {{price_sensitivity}}
115
+ - id: jobs-to-be-done
116
+ title: Jobs-to-be-Done Analysis
117
+ instruction: Uncover what customers are really trying to accomplish
118
+ sections:
119
+ - id: functional-jobs
120
+ title: Functional Jobs
121
+ instruction: List practical tasks and objectives customers need to complete
122
+ - id: emotional-jobs
123
+ title: Emotional Jobs
124
+ instruction: Describe feelings and perceptions customers seek
125
+ - id: social-jobs
126
+ title: Social Jobs
127
+ instruction: Explain how customers want to be perceived by others
128
+ - id: customer-journey
129
+ title: Customer Journey Mapping
130
+ instruction: Map the end-to-end customer experience for primary segments
131
+ template: |
132
+ For primary customer segment:
133
+
134
+ 1. **Awareness:** {{discovery_process}}
135
+ 2. **Consideration:** {{evaluation_criteria}}
136
+ 3. **Purchase:** {{decision_triggers}}
137
+ 4. **Onboarding:** {{initial_expectations}}
138
+ 5. **Usage:** {{interaction_patterns}}
139
+ 6. **Advocacy:** {{referral_behaviors}}
140
+
141
+ - id: competitive-landscape
142
+ title: Competitive Landscape
143
+ sections:
144
+ - id: market-structure
145
+ title: Market Structure
146
+ instruction: |
147
+ Describe the overall competitive environment:
148
+ - Number of competitors
149
+ - Market concentration
150
+ - Competitive intensity
151
+ - id: major-players
152
+ title: Major Players Analysis
153
+ instruction: |
154
+ For top 3-5 competitors:
155
+ - Company name and brief description
156
+ - Market share estimate
157
+ - Key strengths and weaknesses
158
+ - Target customer focus
159
+ - Pricing strategy
160
+ - id: competitive-positioning
161
+ title: Competitive Positioning
162
+ instruction: |
163
+ Analyze how competitors are positioned:
164
+ - Value propositions
165
+ - Differentiation strategies
166
+ - Market gaps and opportunities
167
+
168
+ - id: industry-analysis
169
+ title: Industry Analysis
170
+ sections:
171
+ - id: porters-five-forces
172
+ title: Porter's Five Forces Assessment
173
+ instruction: Analyze each force with specific evidence and implications
174
+ sections:
175
+ - id: supplier-power
176
+ title: "Supplier Power: {{power_level}}"
177
+ template: "{{analysis_and_implications}}"
178
+ - id: buyer-power
179
+ title: "Buyer Power: {{power_level}}"
180
+ template: "{{analysis_and_implications}}"
181
+ - id: competitive-rivalry
182
+ title: "Competitive Rivalry: {{intensity_level}}"
183
+ template: "{{analysis_and_implications}}"
184
+ - id: threat-new-entry
185
+ title: "Threat of New Entry: {{threat_level}}"
186
+ template: "{{analysis_and_implications}}"
187
+ - id: threat-substitutes
188
+ title: "Threat of Substitutes: {{threat_level}}"
189
+ template: "{{analysis_and_implications}}"
190
+ - id: adoption-lifecycle
191
+ title: Technology Adoption Lifecycle Stage
192
+ instruction: |
193
+ Identify where the market is in the adoption curve:
194
+ - Current stage and evidence
195
+ - Implications for strategy
196
+ - Expected progression timeline
197
+
198
+ - id: opportunity-assessment
199
+ title: Opportunity Assessment
200
+ sections:
201
+ - id: market-opportunities
202
+ title: Market Opportunities
203
+ instruction: Identify specific opportunities based on the analysis
204
+ repeatable: true
205
+ sections:
206
+ - id: opportunity
207
+ title: "Opportunity {{opportunity_number}}: {{name}}"
208
+ template: |
209
+ - **Description:** {{what_is_the_opportunity}}
210
+ - **Size/Potential:** {{quantified_potential}}
211
+ - **Requirements:** {{needed_to_capture}}
212
+ - **Risks:** {{key_challenges}}
213
+ - id: strategic-recommendations
214
+ title: Strategic Recommendations
215
+ sections:
216
+ - id: go-to-market
217
+ title: Go-to-Market Strategy
218
+ instruction: |
219
+ Recommend approach for market entry/expansion:
220
+ - Target segment prioritization
221
+ - Positioning strategy
222
+ - Channel strategy
223
+ - Partnership opportunities
224
+ - id: pricing-strategy
225
+ title: Pricing Strategy
226
+ instruction: |
227
+ Based on willingness to pay analysis and competitive landscape:
228
+ - Recommended pricing model
229
+ - Price points/ranges
230
+ - Value metric
231
+ - Competitive positioning
232
+ - id: risk-mitigation
233
+ title: Risk Mitigation
234
+ instruction: |
235
+ Key risks and mitigation strategies:
236
+ - Market risks
237
+ - Competitive risks
238
+ - Execution risks
239
+ - Regulatory/compliance risks
240
+
241
+ - id: appendices
242
+ title: Appendices
243
+ sections:
244
+ - id: data-sources
245
+ title: A. Data Sources
246
+ instruction: List all sources used in the research
247
+ - id: calculations
248
+ title: B. Detailed Calculations
249
+ instruction: Include any complex calculations or models
250
+ - id: additional-analysis
251
+ title: C. Additional Analysis
252
+ instruction: Any supplementary analysis not included in main body
@@ -0,0 +1,221 @@
1
+ template:
2
+ id: project-brief-template-v2
3
+ name: Project Brief
4
+ version: 2.0
5
+ output:
6
+ format: markdown
7
+ filename: docs/brief.md
8
+ title: "Project Brief: {{project_name}}"
9
+
10
+ workflow:
11
+ mode: interactive
12
+ elicitation: advanced-elicitation
13
+ custom_elicitation:
14
+ title: "Project Brief Elicitation Actions"
15
+ options:
16
+ - "Expand section with more specific details"
17
+ - "Validate against similar successful products"
18
+ - "Stress test assumptions with edge cases"
19
+ - "Explore alternative solution approaches"
20
+ - "Analyze resource/constraint trade-offs"
21
+ - "Generate risk mitigation strategies"
22
+ - "Challenge scope from MVP minimalist view"
23
+ - "Brainstorm creative feature possibilities"
24
+ - "If only we had [resource/capability/time]..."
25
+ - "Proceed to next section"
26
+
27
+ sections:
28
+ - id: introduction
29
+ instruction: |
30
+ This template guides creation of a comprehensive Project Brief that serves as the foundational input for product development.
31
+
32
+ Start by asking the user which mode they prefer:
33
+
34
+ 1. **Interactive Mode** - Work through each section collaboratively
35
+ 2. **YOLO Mode** - Generate complete draft for review and refinement
36
+
37
+ Before beginning, understand what inputs are available (brainstorming results, market research, competitive analysis, initial ideas) and gather project context.
38
+
39
+ - id: executive-summary
40
+ title: Executive Summary
41
+ instruction: |
42
+ Create a concise overview that captures the essence of the project. Include:
43
+ - Product concept in 1-2 sentences
44
+ - Primary problem being solved
45
+ - Target market identification
46
+ - Key value proposition
47
+ template: "{{executive_summary_content}}"
48
+
49
+ - id: problem-statement
50
+ title: Problem Statement
51
+ instruction: |
52
+ Articulate the problem with clarity and evidence. Address:
53
+ - Current state and pain points
54
+ - Impact of the problem (quantify if possible)
55
+ - Why existing solutions fall short
56
+ - Urgency and importance of solving this now
57
+ template: "{{detailed_problem_description}}"
58
+
59
+ - id: proposed-solution
60
+ title: Proposed Solution
61
+ instruction: |
62
+ Describe the solution approach at a high level. Include:
63
+ - Core concept and approach
64
+ - Key differentiators from existing solutions
65
+ - Why this solution will succeed where others haven't
66
+ - High-level vision for the product
67
+ template: "{{solution_description}}"
68
+
69
+ - id: target-users
70
+ title: Target Users
71
+ instruction: |
72
+ Define and characterize the intended users with specificity. For each user segment include:
73
+ - Demographic/firmographic profile
74
+ - Current behaviors and workflows
75
+ - Specific needs and pain points
76
+ - Goals they're trying to achieve
77
+ sections:
78
+ - id: primary-segment
79
+ title: "Primary User Segment: {{segment_name}}"
80
+ template: "{{primary_user_description}}"
81
+ - id: secondary-segment
82
+ title: "Secondary User Segment: {{segment_name}}"
83
+ condition: Has secondary user segment
84
+ template: "{{secondary_user_description}}"
85
+
86
+ - id: goals-metrics
87
+ title: Goals & Success Metrics
88
+ instruction: Establish clear objectives and how to measure success. Make goals SMART (Specific, Measurable, Achievable, Relevant, Time-bound)
89
+ sections:
90
+ - id: business-objectives
91
+ title: Business Objectives
92
+ type: bullet-list
93
+ template: "- {{objective_with_metric}}"
94
+ - id: user-success-metrics
95
+ title: User Success Metrics
96
+ type: bullet-list
97
+ template: "- {{user_metric}}"
98
+ - id: kpis
99
+ title: Key Performance Indicators (KPIs)
100
+ type: bullet-list
101
+ template: "- {{kpi}}: {{definition_and_target}}"
102
+
103
+ - id: mvp-scope
104
+ title: MVP Scope
105
+ instruction: Define the minimum viable product clearly. Be specific about what's in and what's out. Help user distinguish must-haves from nice-to-haves.
106
+ sections:
107
+ - id: core-features
108
+ title: Core Features (Must Have)
109
+ type: bullet-list
110
+ template: "- **{{feature}}:** {{description_and_rationale}}"
111
+ - id: out-of-scope
112
+ title: Out of Scope for MVP
113
+ type: bullet-list
114
+ template: "- {{feature_or_capability}}"
115
+ - id: mvp-success-criteria
116
+ title: MVP Success Criteria
117
+ template: "{{mvp_success_definition}}"
118
+
119
+ - id: post-mvp-vision
120
+ title: Post-MVP Vision
121
+ instruction: Outline the longer-term product direction without overcommitting to specifics
122
+ sections:
123
+ - id: phase-2-features
124
+ title: Phase 2 Features
125
+ template: "{{next_priority_features}}"
126
+ - id: long-term-vision
127
+ title: Long-term Vision
128
+ template: "{{one_two_year_vision}}"
129
+ - id: expansion-opportunities
130
+ title: Expansion Opportunities
131
+ template: "{{potential_expansions}}"
132
+
133
+ - id: technical-considerations
134
+ title: Technical Considerations
135
+ instruction: Document known technical constraints and preferences. Note these are initial thoughts, not final decisions.
136
+ sections:
137
+ - id: platform-requirements
138
+ title: Platform Requirements
139
+ template: |
140
+ - **Target Platforms:** {{platforms}}
141
+ - **Browser/OS Support:** {{specific_requirements}}
142
+ - **Performance Requirements:** {{performance_specs}}
143
+ - id: technology-preferences
144
+ title: Technology Preferences
145
+ template: |
146
+ - **Frontend:** {{frontend_preferences}}
147
+ - **Backend:** {{backend_preferences}}
148
+ - **Database:** {{database_preferences}}
149
+ - **Hosting/Infrastructure:** {{infrastructure_preferences}}
150
+ - id: architecture-considerations
151
+ title: Architecture Considerations
152
+ template: |
153
+ - **Repository Structure:** {{repo_thoughts}}
154
+ - **Service Architecture:** {{service_thoughts}}
155
+ - **Integration Requirements:** {{integration_needs}}
156
+ - **Security/Compliance:** {{security_requirements}}
157
+
158
+ - id: constraints-assumptions
159
+ title: Constraints & Assumptions
160
+ instruction: Clearly state limitations and assumptions to set realistic expectations
161
+ sections:
162
+ - id: constraints
163
+ title: Constraints
164
+ template: |
165
+ - **Budget:** {{budget_info}}
166
+ - **Timeline:** {{timeline_info}}
167
+ - **Resources:** {{resource_info}}
168
+ - **Technical:** {{technical_constraints}}
169
+ - id: key-assumptions
170
+ title: Key Assumptions
171
+ type: bullet-list
172
+ template: "- {{assumption}}"
173
+
174
+ - id: risks-questions
175
+ title: Risks & Open Questions
176
+ instruction: Identify unknowns and potential challenges proactively
177
+ sections:
178
+ - id: key-risks
179
+ title: Key Risks
180
+ type: bullet-list
181
+ template: "- **{{risk}}:** {{description_and_impact}}"
182
+ - id: open-questions
183
+ title: Open Questions
184
+ type: bullet-list
185
+ template: "- {{question}}"
186
+ - id: research-areas
187
+ title: Areas Needing Further Research
188
+ type: bullet-list
189
+ template: "- {{research_topic}}"
190
+
191
+ - id: appendices
192
+ title: Appendices
193
+ sections:
194
+ - id: research-summary
195
+ title: A. Research Summary
196
+ condition: Has research findings
197
+ instruction: |
198
+ If applicable, summarize key findings from:
199
+ - Market research
200
+ - Competitive analysis
201
+ - User interviews
202
+ - Technical feasibility studies
203
+ - id: stakeholder-input
204
+ title: B. Stakeholder Input
205
+ condition: Has stakeholder feedback
206
+ template: "{{stakeholder_feedback}}"
207
+ - id: references
208
+ title: C. References
209
+ template: "{{relevant_links_and_docs}}"
210
+
211
+ - id: next-steps
212
+ title: Next Steps
213
+ sections:
214
+ - id: immediate-actions
215
+ title: Immediate Actions
216
+ type: numbered-list
217
+ template: "{{action_item}}"
218
+ - id: pm-handoff
219
+ title: PM Handoff
220
+ content: |
221
+ This Project Brief provides the full context for {{project_name}}. Please start in 'PRD Generation Mode', review the brief thoroughly to work with the user to create the PRD section by section as the template indicates, asking for any necessary clarification or suggesting improvements.
@@ -0,0 +1,61 @@
1
+ # {AppName} — project session memory (all harnesses)
2
+
3
+ <!-- This file is COMMITTED (unlike CLAUDE.md, which is gitignored and imports it).
4
+ OpenCode and Codex auto-load AGENTS.md; Claude Code loads it through CLAUDE.md's
5
+ @AGENTS.md import. Keep everything in here harness-neutral — Claude-only
6
+ material (permissions, tool preference) lives in app-claude-md-tmpl.md. -->
7
+
8
+ ## Required reading before any code change
9
+ ALWAYS read and follow:
10
+ - **docs/{AppName}-Coding-Standards.md** — strict compliance for every line of code you write or modify.
11
+ - **docs/{AppName}-Architecture.md** — respect module boundaries.
12
+ - **PROJECT-STATUS.md** — for current phase & next-step context.
13
+
14
+ ## Hard rules (non-negotiable — the harness enforces #1)
15
+
16
+ 1. **Git is manual — agents NEVER run `git` or `gh`.** Not to commit, and not to read (`status`/`log`/`diff`/`grep`/`blame`). All harnesses enforce this mechanically: Claude Code via `.claude/settings.json` and `block-git.sh`; OpenCode via `opencode.jsonc` plus its plugin bridge; Codex via `.codex/rules/techieflow.rules` plus `.codex/hooks.json`. A blocked git call is the policy working, not an obstacle to route around. Evidence for status updates / "what changed" = the checklist Requirements Status table + the working-tree files (+ mtimes) + a fresh `dotnet build` (`.tfcore/tasks/_status-update-gate.md`). The OWNER commits, in a separate terminal.
17
+ 2. **Run the app yourself — the test harness is fully set up.** Headless Playwright + Chromium live in WSL; the Windows/MAUI dotnet bridge is rung #4 of the build ladder; MAUI Android/iOS/Mac Catalyst are driven over the Appium bridge (`core-config.yaml → runtimeVerification.appium`). NEVER ask the owner to boot the app, run a build, or execute a command — "can't run on Linux/WSL", "it targets Windows", "it's MAUI", "Playwright needs a GUI", "the dependent service is down" are BANNED excuses (`.tfcore/tasks/_smoke-test-policy.md`). Asking the owner is the LAST resort, only after the build ladder + `verify-phase §3a` escalation genuinely fail — and even then you still run the test yourself once they reply.
18
+ 3. **The framework tree is invisible to search — a search that finds nothing is NOT proof a file is missing.** `.tfcore/`, `.claude/`, `.codex/`, `.opencode/` and `.agents/skills/` are hidden dot-directories AND gitignored here (deliberate — deployed framework copies are never committed). File search skips hidden paths *and* honours `.gitignore`, so it takes **both** (`rg -uu`; `--hidden` alone is not enough), and `git grep`/`git ls-files` see nothing at all. Confirm a framework file by **reading its literal path** — every one has a single canonical location, and whatever needs it names that path. Never write "not present in this tree" into a verdict, a checklist Remarks cell, a BRD row, or a blocker without having tried the path and failed: that false negative propagates into the docs and the next agent treats it as fact. If a framework file really is absent, the repo needs `update-framework.sh <repo>` run once on this machine — report that instead of reimplementing what it does. (`.tfcore/tasks/_status-update-gate.md` §"The framework tree is INVISIBLE to search".)
19
+ 4. **Native-head automation binds to the app's own window.** Drive a MAUI head only through a session attached to the app under test (Windows: launched PID → its top-level window handle; Android/iOS/Catalyst: the app's package/bundle id), interact element-by-element via `AutomationId`, and NEVER inject global keyboard/mouse input — it lands in whatever window happens to have focus, not the app (`verify-phase.md §3b`).
20
+
21
+ ## Project basics
22
+ - Stack: .NET 9, Blazor [Server], TrBlazeUI, [TechieRag if AI features].
23
+ - Field-prefix convention: {obj prefix on instance fields (e.g. `private readonly ILogger<X> objLogger;`) | bare PascalCase, no prefix} — PER-PROJECT day-1 decision; this project's choice is recorded in Coding Standards §"Fields, Parameters, Locals", which is authoritative.
24
+ - Test naming: short PascalCase, NO underscores. Full scenario in XML `<summary>` doc.
25
+
26
+ ## Requirement ID prefixes used in this repo
27
+ - `REQ-UI-*` — UI work, routed to /trblazeui
28
+ - `REQ-FN-*` — backend, routed to /flow-master
29
+ - `REQ-RAG-*` — AI/RAG, routed to /techierag
30
+ - `REQ-NFR-*` — non-functional
31
+
32
+ Always tag work with its REQ ID in the checklist's Requirements Status **Remarks** cell (e.g. `[REQ-UI-007] settings form validation added`). Agents never git-commit (Hard rule 1); the owner's own manual commits use the same `[REQ-*]` tags.
33
+
34
+ ## Verification
35
+ After every implementation phase, the verifier runs and writes per-REQ verdicts into the
36
+ owning checklist's Requirements Status table (the single source of truth — no dated
37
+ docs/qa files). PROJECT-STATUS.md is updated after EVERY phase (mandatory gate).
38
+ Library issues go in the owning library's feedback file — docs/{AppName}-TrBlazeUI-Feedback.md
39
+ or docs/{AppName}-TechieRag-Feedback.md (one file per library; each goes to its own team) —
40
+ never silently worked around.
41
+
42
+ ## Slash-command syntax (READ ME if a `/agent *command` invocation fails)
43
+
44
+ **Codex:** use repository skills such as `$techieflow-build`, `$techieflow-verify`, and `$techieflow-refresh-status`, or ask for the skill by name in plain language. Skills load the canonical `.tfcore/tasks/*.md` workflow. When a task calls for fan-out, delegate to the registered `tf_builder`, `tf_test_writer`, `tf_explorer`, `trblazeui`, or `techierag` Codex role and wait for its result. Defining a role alone does not authorize delegation; the user request or applicable skill must call for it. Project config and hooks require repository trust; review changed hooks with `/hooks`.
45
+
46
+ **Claude Code** registers TechieFlow-native agents under the path-derived namespace `TechieFlow:agents:<name>`. The short `/<agent>` form does NOT always resolve. When in doubt use the full form:
47
+
48
+ | Agent | Claude Code | OpenCode |
49
+ |-------|-------------|----------|
50
+ | analyst | `/TechieFlow:agents:analyst` (or `/analyst` if it resolves) | `/flow-analyst` |
51
+ | architect | `/TechieFlow:agents:architect` | `/flow-architect` |
52
+ | flow-master | `/TechieFlow:agents:flow-master` | `/flow-master` |
53
+ | verifier | `/TechieFlow:agents:verifier` | `/flow-verifier` |
54
+ | trblazeui | `/trblazeui` (NuGet-deployed to `.claude/commands/trblazeui.md`) | `/trblazeui` |
55
+ | techierag | `/techierag` (NuGet-deployed to `.claude/commands/techierag.md`) | `/techierag` |
56
+
57
+ If `/trblazeui` or `/techierag` is missing: run `dotnet build` (the NuGet target writes `.claude/commands/<lib>.md` directly), then restart the harness. Older app repos may instead hold the legacy `.claude/<lib>.md`, which `update-framework.sh` shims forward — but nothing creates that legacy path in a current app, so never treat its absence as "the library is not deployed". Resolve a persona as `.claude/commands/<lib>.md` → `.claude/<lib>.md` → `.<lib>/<Lib>-AI-Reference.md`.
58
+
59
+ Under Claude Code, if `/flow-master *render-workflow-docs <App>` returns "Unknown command", use `/TechieFlow:agents:flow-master *render-workflow-docs <App>` instead. (Under OpenCode `/flow-master` is the registered agent name — there is no fuller form to fall back to.)
60
+
61
+ After the agent is loaded, every TechieFlow-native agent (analyst, architect, flow-master, verifier) accepts `*command args` style invocations. trblazeui and techierag are free-form personas — normally `flow-master *build-phase <App>` calls them as sub-agents, but you can also drive them directly with prompts like `Implement REQ-UI-* from docs/<App>-Checklist.md to match the mockups in docs/mockups/.`
@@ -0,0 +1,127 @@
1
+ # {AppName} — Architecture
2
+
3
+ **Last updated:** {YYYY-MM-DD}
4
+ **Status:** Current (brownfield) | Target (greenfield) | Current + planned target (brownfield with structural change)
5
+
6
+ <!-- AGENT-ONLY AUTHORING NOTES. Everything in this comment is an instruction to the DRAFTING
7
+ AGENT, not content for the document's human reader. Carry it into the generated document
8
+ ONLY as this HTML comment (or drop it entirely) — NEVER as visible text: the owner reads
9
+ the rendered HTML and must not see authoring instructions (generate-html.md strips any
10
+ that leaked from older templates).
11
+
12
+ DEPTH MANDATE: this is a HUMAN document, read as rendered HTML. Module rows in §4 with
13
+ non-trivial behavior get a prose paragraph beneath the table, and every significant runtime
14
+ flow beyond §3's primary path (background jobs, ingestion pipelines, auth handshakes,
15
+ external-API round-trips) gets its own sequenceDiagram/flowchart. When harvesting source
16
+ docs, preserve their architecture content — superset, never summary.
17
+
18
+ MERMAID MANDATE: every diagram MUST follow the authoring rules in
19
+ .tfcore/templates/v4custom/html-render-shell.md §5.5 — quote every node/edge/subgraph label
20
+ (API["ASP.NET API (v2)"], not API[ASP.NET API (v2)]) and never use `end` as a node id.
21
+ Unquoted special characters ( ( ) / & : , … ) in flowchart labels are the #1 cause of
22
+ "Syntax error" diagrams in the rendered HTML.
23
+ -->
24
+
25
+ ## Table of Contents
26
+
27
+ <!-- Auto-maintained by the analyst/day-1 tasks. Use the slug rule from .tfcore/templates/v4custom/html-render-shell.md §1 so links work in both MD and rendered HTML. Update this list whenever you add/rename a section. -->
28
+
29
+ 1. [Tech stack](#tech-stack)
30
+ 2. [Component map](#component-map)
31
+ 3. [Data flow — primary path](#data-flow-primary-path)
32
+ 4. [Module responsibilities](#module-responsibilities)
33
+ 5. [Cross-cutting concerns](#cross-cutting-concerns)
34
+ 6. [Deployment architecture](#deployment-architecture)
35
+ 7. [Architectural decisions (ADR-style log)](#architectural-decisions-adr-style-log)
36
+ 8. [Target architecture (brownfield only — if enhancement changes structure)](#target-architecture-brownfield-only-if-enhancement-changes-structure)
37
+ 9. [Open questions / risks](#open-questions-risks)
38
+
39
+ ## 1. Tech stack
40
+ | Layer | Choice | Version | Notes |
41
+ |-------|--------|---------|-------|
42
+ | Runtime | .NET 9 | … | … |
43
+ | UI | Blazor [Server/WASM/Auto] + TrBlazeUI | … | … |
44
+ | AI/RAG | TechieRag | … | If applicable |
45
+ | DB | SQL Server / SQLite / Postgres | … | … |
46
+ | Vector store | SqliteVec / PgVector / Qdrant | … | If RAG |
47
+ | Auth | … | … | … |
48
+
49
+ ## 2. Component map
50
+ ```mermaid
51
+ flowchart TB
52
+ subgraph UI["Blazor UI"]
53
+ Dash["Dashboard"]
54
+ Settings["Settings"]
55
+ end
56
+ subgraph BE["Backend"]
57
+ API["API"]
58
+ Auth["Auth"]
59
+ Rag["RAG service"]
60
+ end
61
+ subgraph Data["Data"]
62
+ SQL[("SQL")]
63
+ Vec[("Vector")]
64
+ end
65
+ UI --> API
66
+ API --> Auth
67
+ API --> Rag
68
+ Rag --> Vec
69
+ API --> SQL
70
+ ```
71
+
72
+ ## 3. Data flow — primary path
73
+ ```mermaid
74
+ sequenceDiagram
75
+ actor U
76
+ participant UI
77
+ participant API
78
+ participant Svc as Service
79
+ participant DB
80
+ U->>UI: action
81
+ UI->>API: HTTPS
82
+ API->>Svc: call
83
+ Svc->>DB: query
84
+ DB-->>Svc: rows
85
+ Svc-->>API: dto
86
+ API-->>UI: json
87
+ UI-->>U: render
88
+ ```
89
+
90
+ ## 4. Module responsibilities
91
+ | Module | Responsibility | Depends on |
92
+ |--------|----------------|------------|
93
+ | `src/{AppName}.Web` | UI host | Domain, Infra |
94
+ | `src/{AppName}.Domain` | Entities, business rules | (none) |
95
+ | `src/{AppName}.Infrastructure` | EF, external services | Domain |
96
+ | `src/{AppName}.Rag` | TechieRag wiring (if applicable) | Domain |
97
+
98
+ ## 5. Cross-cutting concerns
99
+ - Logging — Serilog file-based logging (rolling file sink under `logs/`, wired at startup in EVERY executable head — web, API, MAUI, desktop, console; app code logs via `ILogger<T>`). This is a TechieFlow standing requirement, not a per-app choice — see Coding Standards §Logging.
100
+ - Error handling — global middleware; ProblemDetails responses
101
+ - Auth — JWT / cookie / Azure AD
102
+ - Caching — IMemoryCache / Redis
103
+ - Telemetry — OpenTelemetry / Application Insights
104
+
105
+ ## 6. Deployment architecture
106
+ ```mermaid
107
+ flowchart LR
108
+ Dev["Dev"] --> CI["GitHub Actions"]
109
+ CI --> Reg["Container Reg"]
110
+ Reg --> AKS["Azure App Service / AKS"]
111
+ AKS --> ProdDB[("SQL")]
112
+ ```
113
+
114
+ ## 7. Architectural decisions (ADR-style log)
115
+ - **ADR-001 — <decision>.** Reason: …
116
+ - **ADR-002 — <decision>.** Reason: …
117
+
118
+ ## 8. Target architecture (brownfield only — if enhancement changes structure)
119
+ ```mermaid
120
+ flowchart TB
121
+ Existing["existing module"] --> New["new / changed module"]
122
+ New --> Removed["removed box (struck through in prose)"]
123
+ ```
124
+ Describe deltas: what's added, what's removed, what's renamed, migration path.
125
+
126
+ ## 9. Open questions / risks
127
+ - …