@techierathore/techieflow 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/TechieFlow/agents/analyst.md +0 -5
- package/.claude/commands/TechieFlow/agents/architect.md +0 -6
- package/.claude/commands/TechieFlow/agents/flow-master.md +41 -215
- package/.claude/commands/TechieFlow/agents/verifier.md +23 -64
- package/.claude/commands/TechieFlow/tasks/_metrics-emit-gate.md +24 -117
- package/.claude/commands/TechieFlow/tasks/_smoke-test-policy.md +20 -84
- package/.claude/commands/TechieFlow/tasks/_status-update-gate.md +10 -74
- package/.claude/commands/TechieFlow/tasks/_yolo-mode.md +20 -58
- package/.claude/commands/TechieFlow/tasks/amend-docs.md +20 -143
- package/.claude/commands/TechieFlow/tasks/build-phase.md +14 -224
- package/.claude/commands/TechieFlow/tasks/day1-brownfield.md +31 -505
- package/.claude/commands/TechieFlow/tasks/day1-greenfield.md +28 -213
- package/.claude/commands/TechieFlow/tasks/deploy-checklist.md +19 -0
- package/.claude/commands/TechieFlow/tasks/devguide.md +10 -219
- package/.claude/commands/TechieFlow/tasks/fix-issues.md +10 -129
- package/.claude/commands/TechieFlow/tasks/log-miss.md +19 -158
- package/.claude/commands/TechieFlow/tasks/metrics-report.md +1 -1
- package/.claude/commands/TechieFlow/tasks/mockups.md +12 -117
- package/.claude/commands/TechieFlow/tasks/refresh-status.md +9 -130
- package/.claude/commands/TechieFlow/tasks/split-brd.md +10 -126
- package/.claude/commands/TechieFlow/tasks/triage-and-fix.md +14 -0
- package/.claude/commands/TechieFlow/tasks/triage-issues.md +11 -152
- package/.claude/commands/TechieFlow/tasks/verify-phase.md +36 -572
- package/.opencode/plugin/techieflow.js +39 -12
- package/.tfcore/agents/analyst.md +0 -5
- package/.tfcore/agents/architect.md +0 -6
- package/.tfcore/agents/flow-master.md +41 -215
- package/.tfcore/agents/verifier.md +23 -64
- package/.tfcore/core-config.yaml +10 -0
- package/.tfcore/hooks/block-git.sh +4 -4
- package/.tfcore/hooks/guard-artifacts.sh +2 -2
- package/.tfcore/hooks/guard-build.sh +76 -0
- package/.tfcore/hooks/guard-db.sh +90 -0
- package/.tfcore/hooks/guard-metrics.sh +56 -0
- package/.tfcore/hooks/guard-status-html.sh +116 -71
- package/.tfcore/hooks/guard-status.sh +43 -16
- package/.tfcore/hooks/guard-verify.sh +70 -48
- package/.tfcore/hooks/sweep-artifacts.sh +2 -2
- package/.tfcore/install-manifest.yaml +0 -18
- package/.tfcore/routing.yaml +25 -14
- package/.tfcore/standards/coding-standards-core.md +61 -0
- package/.tfcore/standards/coding-standards-dotnet.md +93 -0
- package/.tfcore/tasks/_metrics-emit-gate.md +24 -117
- package/.tfcore/tasks/_smoke-test-policy.md +20 -84
- package/.tfcore/tasks/_status-update-gate.md +10 -74
- package/.tfcore/tasks/_yolo-mode.md +20 -58
- package/.tfcore/tasks/amend-docs.md +20 -143
- package/.tfcore/tasks/build-phase.md +14 -224
- package/.tfcore/tasks/day1-brownfield.md +31 -505
- package/.tfcore/tasks/day1-greenfield.md +28 -213
- package/.tfcore/tasks/deploy-checklist.md +19 -0
- package/.tfcore/tasks/devguide.md +10 -219
- package/.tfcore/tasks/fix-issues.md +10 -129
- package/.tfcore/tasks/log-miss.md +19 -158
- package/.tfcore/tasks/metrics-report.md +1 -1
- package/.tfcore/tasks/mockups.md +12 -117
- package/.tfcore/tasks/refresh-status.md +9 -130
- package/.tfcore/tasks/split-brd.md +10 -126
- package/.tfcore/tasks/triage-and-fix.md +14 -0
- package/.tfcore/tasks/triage-issues.md +11 -152
- package/.tfcore/tasks/verify-phase.md +36 -572
- package/.tfcore/telemetry/SCHEMA.md +43 -7
- package/.tfcore/telemetry/tf-metrics.sh +152 -17
- package/.tfcore/templates/project-brief-tmpl.yaml +1 -1
- package/.tfcore/templates/stack-defaults/dotnet.md +35 -0
- package/.tfcore/templates/stack-questions.md +77 -0
- package/.tfcore/templates/v4custom/app-agents-md-tmpl.md +3 -4
- package/.tfcore/templates/v4custom/app-architecture-tmpl.md +107 -115
- package/.tfcore/templates/v4custom/app-brd-tmpl.md +108 -184
- package/.tfcore/templates/v4custom/app-checklist-tmpl.md +48 -73
- package/.tfcore/templates/v4custom/app-claude-md-tmpl.md +1 -1
- package/.tfcore/templates/v4custom/app-coding-standards-tmpl.md +52 -0
- package/.tfcore/templates/v4custom/app-deployment-checklist-tmpl.md +86 -0
- package/.tfcore/templates/v4custom/app-devguide-tmpl.md +69 -146
- package/.tfcore/templates/v4custom/app-phases-tmpl.md +35 -0
- package/.tfcore/templates/v4custom/app-productguide-tmpl.md +38 -35
- package/.tfcore/templates/v4custom/app-project-status-tmpl.md +63 -73
- package/.tfcore/templates/v4custom/app-uidesign-tmpl.md +62 -37
- package/.tfcore/templates/v4custom/app-usageguide-tmpl.md +69 -54
- package/.tfcore/templates/v4custom/build-invocation-ladder.md +17 -180
- package/.tfcore/templates/v4custom/build-subagent-prompt.md +17 -0
- package/.tfcore/templates/v4custom/metrics-report-template.md +2 -2
- package/.tfcore/user-guide.md +0 -23
- package/.tfcore/utils/__pycache__/tf-brd-status.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-checklist-edit.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-codex-bind.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-codex-telemetry.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-day1-files.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-devguide-list.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-doc-check.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-log-miss.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-misses-md.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-mockups-locate.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-opencode-audit.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-perf-grade.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-render-html.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-split-brd.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-status-facts.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-triage.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-verify-list.cpython-312.pyc +0 -0
- package/.tfcore/utils/__pycache__/tf-verify-verdict.cpython-312.pyc +0 -0
- package/.tfcore/utils/tf-brd-status.py +176 -0
- package/.tfcore/utils/tf-brd-status.sh +19 -0
- package/.tfcore/utils/tf-build-list.py +191 -0
- package/.tfcore/utils/tf-build-list.sh +20 -0
- package/.tfcore/utils/tf-build.sh +143 -0
- package/.tfcore/utils/tf-cdp-relay.ps1 +64 -0
- package/.tfcore/utils/tf-checklist-edit.py +133 -0
- package/.tfcore/utils/tf-day1-files.py +208 -0
- package/.tfcore/utils/tf-day1-files.sh +20 -0
- package/.tfcore/utils/tf-devguide-list.py +249 -0
- package/.tfcore/utils/tf-devguide-list.sh +18 -0
- package/.tfcore/utils/tf-doc-check.py +1267 -0
- package/.tfcore/utils/tf-doc-check.sh +29 -0
- package/.tfcore/utils/tf-emit.sh +203 -13
- package/.tfcore/utils/tf-fix-close.sh +83 -0
- package/.tfcore/utils/tf-goal.sh +193 -62
- package/.tfcore/utils/tf-harness.sh +4 -9
- package/.tfcore/utils/tf-log-miss.py +197 -0
- package/.tfcore/utils/tf-log-miss.sh +14 -0
- package/.tfcore/utils/tf-misses-md.py +211 -0
- package/.tfcore/utils/tf-misses-md.sh +13 -0
- package/.tfcore/utils/tf-mockups-locate.py +66 -0
- package/.tfcore/utils/tf-mockups-locate.sh +18 -0
- package/.tfcore/utils/tf-opencode-audit.py +23 -7
- package/.tfcore/utils/tf-perf-grade.py +97 -0
- package/.tfcore/utils/tf-perf-grade.sh +12 -0
- package/.tfcore/utils/tf-phase.sh +74 -0
- package/.tfcore/utils/tf-routing-bind.sh +10 -5
- package/.tfcore/utils/tf-routing.sh +6 -7
- package/.tfcore/utils/tf-split-brd.py +304 -0
- package/.tfcore/utils/tf-split-brd.sh +22 -0
- package/.tfcore/utils/tf-status-evidence.sh +68 -0
- package/.tfcore/utils/tf-status-facts.py +309 -0
- package/.tfcore/utils/tf-status-facts.sh +20 -0
- package/.tfcore/utils/tf-triage.py +243 -0
- package/.tfcore/utils/tf-triage.sh +16 -0
- package/.tfcore/utils/tf-verify-boot.sh +250 -0
- package/.tfcore/utils/tf-verify-emit.sh +110 -0
- package/.tfcore/utils/tf-verify-env.sh +88 -0
- package/.tfcore/utils/tf-verify-list.py +270 -0
- package/.tfcore/utils/tf-verify-list.sh +13 -0
- package/.tfcore/utils/tf-verify-screens.mjs +283 -0
- package/.tfcore/utils/tf-verify-screens.sh +22 -0
- package/.tfcore/utils/tf-verify-tests.sh +123 -0
- package/.tfcore/utils/tf-verify-verdict.py +283 -0
- package/.tfcore/utils/tf-verify-verdict.sh +15 -0
- package/.tfcore/utils/tf-yolo.sh +59 -0
- package/README.md +114 -1149
- package/docs/TechieFlow-Installation.md +27 -7
- package/opencode.jsonc +13 -33
- package/package.json +4 -7
- package/scripts/install.mjs +73 -46
- package/scripts/npm-cleanup.mjs +137 -0
- package/scripts/npm-postinstall.mjs +49 -0
- package/.claude/commands/TechieFlow/tasks/advanced-elicitation.md +0 -117
- package/.claude/commands/TechieFlow/tasks/author-brd.md +0 -79
- package/.claude/commands/TechieFlow/tasks/document-project.md +0 -343
- package/.claude/commands/TechieFlow/tasks/execute-checklist.md +0 -86
- package/.claude/commands/TechieFlow/tasks/index-docs.md +0 -173
- package/.claude/commands/TechieFlow/tasks/kb-mode-interaction.md +0 -75
- package/.claude/commands/TechieFlow/tasks/shard-doc.md +0 -185
- package/.codex/config.toml +0 -46
- package/.codex/hooks.json +0 -63
- package/.codex/rules/techieflow.rules +0 -8
- package/.tfcore/hooks/codex-adapter.py +0 -248
- package/.tfcore/tasks/advanced-elicitation.md +0 -117
- package/.tfcore/tasks/author-brd.md +0 -79
- package/.tfcore/tasks/document-project.md +0 -343
- package/.tfcore/tasks/execute-checklist.md +0 -86
- package/.tfcore/tasks/index-docs.md +0 -173
- package/.tfcore/tasks/kb-mode-interaction.md +0 -75
- package/.tfcore/tasks/shard-doc.md +0 -185
- package/.tfcore/utils/tf-codex-bind.py +0 -196
- package/.tfcore/utils/tf-codex-telemetry.py +0 -60
- package/WORKFLOW.html +0 -1986
- package/scripts/test-install.mjs +0 -505
- package/scripts/validate.mjs +0 -163
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
# Index Documentation Task
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
This task maintains the integrity and completeness of the `docs/index.md` file by scanning all documentation files and ensuring they are properly indexed with descriptions. It handles both root-level documents and documents within subfolders, organizing them hierarchically.
|
|
6
|
-
|
|
7
|
-
## Task Instructions
|
|
8
|
-
|
|
9
|
-
You are now operating as a Documentation Indexer. Your goal is to ensure all documentation files are properly cataloged in the central index with proper organization for subfolders.
|
|
10
|
-
|
|
11
|
-
### Required Steps
|
|
12
|
-
|
|
13
|
-
1. First, locate and scan:
|
|
14
|
-
- The `docs/` directory and all subdirectories
|
|
15
|
-
- The existing `docs/index.md` file (create if absent)
|
|
16
|
-
- All markdown (`.md`) and text (`.txt`) files in the documentation structure
|
|
17
|
-
- Note the folder structure for hierarchical organization
|
|
18
|
-
|
|
19
|
-
2. For the existing `docs/index.md`:
|
|
20
|
-
- Parse current entries
|
|
21
|
-
- Note existing file references and descriptions
|
|
22
|
-
- Identify any broken links or missing files
|
|
23
|
-
- Keep track of already-indexed content
|
|
24
|
-
- Preserve existing folder sections
|
|
25
|
-
|
|
26
|
-
3. For each documentation file found:
|
|
27
|
-
- Extract the title (from first heading or filename)
|
|
28
|
-
- Generate a brief description by analyzing the content
|
|
29
|
-
- Create a relative markdown link to the file
|
|
30
|
-
- Check if it's already in the index
|
|
31
|
-
- Note which folder it belongs to (if in a subfolder)
|
|
32
|
-
- If missing or outdated, prepare an update
|
|
33
|
-
|
|
34
|
-
4. For any missing or non-existent files found in index:
|
|
35
|
-
- Present a list of all entries that reference non-existent files
|
|
36
|
-
- For each entry:
|
|
37
|
-
- Show the full entry details (title, path, description)
|
|
38
|
-
- Ask for explicit confirmation before removal
|
|
39
|
-
- Provide option to update the path if file was moved
|
|
40
|
-
- Log the decision (remove/update/keep) for final report
|
|
41
|
-
|
|
42
|
-
5. Update `docs/index.md`:
|
|
43
|
-
- Maintain existing structure and organization
|
|
44
|
-
- Create level 2 sections (`##`) for each subfolder
|
|
45
|
-
- List root-level documents first
|
|
46
|
-
- Add missing entries with descriptions
|
|
47
|
-
- Update outdated entries
|
|
48
|
-
- Remove only entries that were confirmed for removal
|
|
49
|
-
- Ensure consistent formatting throughout
|
|
50
|
-
|
|
51
|
-
### Index Structure Format
|
|
52
|
-
|
|
53
|
-
The index should be organized as follows:
|
|
54
|
-
|
|
55
|
-
```markdown
|
|
56
|
-
# Documentation Index
|
|
57
|
-
|
|
58
|
-
## Root Documents
|
|
59
|
-
|
|
60
|
-
### [Document Title](./document.md)
|
|
61
|
-
|
|
62
|
-
Brief description of the document's purpose and contents.
|
|
63
|
-
|
|
64
|
-
### [Another Document](./another.md)
|
|
65
|
-
|
|
66
|
-
Description here.
|
|
67
|
-
|
|
68
|
-
## Folder Name
|
|
69
|
-
|
|
70
|
-
Documents within the `folder-name/` directory:
|
|
71
|
-
|
|
72
|
-
### [Document in Folder](./folder-name/document.md)
|
|
73
|
-
|
|
74
|
-
Description of this document.
|
|
75
|
-
|
|
76
|
-
### [Another in Folder](./folder-name/another.md)
|
|
77
|
-
|
|
78
|
-
Description here.
|
|
79
|
-
|
|
80
|
-
## Another Folder
|
|
81
|
-
|
|
82
|
-
Documents within the `another-folder/` directory:
|
|
83
|
-
|
|
84
|
-
### [Nested Document](./another-folder/document.md)
|
|
85
|
-
|
|
86
|
-
Description of nested document.
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### Index Entry Format
|
|
90
|
-
|
|
91
|
-
Each entry should follow this format:
|
|
92
|
-
|
|
93
|
-
```markdown
|
|
94
|
-
### [Document Title](relative/path/to/file.md)
|
|
95
|
-
|
|
96
|
-
Brief description of the document's purpose and contents.
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### Rules of Operation
|
|
100
|
-
|
|
101
|
-
1. NEVER modify the content of indexed files
|
|
102
|
-
2. Preserve existing descriptions in index.md when they are adequate
|
|
103
|
-
3. Maintain any existing categorization or grouping in the index
|
|
104
|
-
4. Use relative paths for all links (starting with `./`)
|
|
105
|
-
5. Ensure descriptions are concise but informative
|
|
106
|
-
6. NEVER remove entries without explicit confirmation
|
|
107
|
-
7. Report any broken links or inconsistencies found
|
|
108
|
-
8. Allow path updates for moved files before considering removal
|
|
109
|
-
9. Create folder sections using level 2 headings (`##`)
|
|
110
|
-
10. Sort folders alphabetically, with root documents listed first
|
|
111
|
-
11. Within each section, sort documents alphabetically by title
|
|
112
|
-
|
|
113
|
-
### Process Output
|
|
114
|
-
|
|
115
|
-
The task will provide:
|
|
116
|
-
|
|
117
|
-
1. A summary of changes made to index.md
|
|
118
|
-
2. List of newly indexed files (organized by folder)
|
|
119
|
-
3. List of updated entries
|
|
120
|
-
4. List of entries presented for removal and their status:
|
|
121
|
-
- Confirmed removals
|
|
122
|
-
- Updated paths
|
|
123
|
-
- Kept despite missing file
|
|
124
|
-
5. Any new folders discovered
|
|
125
|
-
6. Any other issues or inconsistencies found
|
|
126
|
-
|
|
127
|
-
### Handling Missing Files
|
|
128
|
-
|
|
129
|
-
For each file referenced in the index but not found in the filesystem:
|
|
130
|
-
|
|
131
|
-
1. Present the entry:
|
|
132
|
-
|
|
133
|
-
```markdown
|
|
134
|
-
Missing file detected:
|
|
135
|
-
Title: [Document Title]
|
|
136
|
-
Path: relative/path/to/file.md
|
|
137
|
-
Description: Existing description
|
|
138
|
-
Section: [Root Documents | Folder Name]
|
|
139
|
-
|
|
140
|
-
Options:
|
|
141
|
-
|
|
142
|
-
1. Remove this entry
|
|
143
|
-
2. Update the file path
|
|
144
|
-
3. Keep entry (mark as temporarily unavailable)
|
|
145
|
-
|
|
146
|
-
Please choose an option (1/2/3):
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
2. Wait for user confirmation before taking any action
|
|
150
|
-
3. Log the decision for the final report
|
|
151
|
-
|
|
152
|
-
### Special Cases
|
|
153
|
-
|
|
154
|
-
1. **Sharded Documents**: If a folder contains an `index.md` file, treat it as a sharded document:
|
|
155
|
-
- Use the folder's `index.md` title as the section title
|
|
156
|
-
- List the folder's documents as subsections
|
|
157
|
-
- Note in the description that this is a multi-part document
|
|
158
|
-
|
|
159
|
-
2. **README files**: Convert `README.md` to more descriptive titles based on content
|
|
160
|
-
|
|
161
|
-
3. **Nested Subfolders**: For deeply nested folders, maintain the hierarchy but limit to 2 levels in the main index. Deeper structures should have their own index files.
|
|
162
|
-
|
|
163
|
-
## Required Input
|
|
164
|
-
|
|
165
|
-
Please provide:
|
|
166
|
-
|
|
167
|
-
1. Location of the `docs/` directory (default: `./docs`)
|
|
168
|
-
2. Confirmation of write access to `docs/index.md`
|
|
169
|
-
3. Any specific categorization preferences
|
|
170
|
-
4. Any files or directories to exclude from indexing (e.g., `.git`, `node_modules`)
|
|
171
|
-
5. Whether to include hidden files/folders (starting with `.`)
|
|
172
|
-
|
|
173
|
-
Would you like to proceed with documentation indexing? Please provide the required input above.
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# KB Mode Interaction Task
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
Provide a user-friendly interface to the TechieFlow knowledge base without overwhelming users with information upfront.
|
|
6
|
-
|
|
7
|
-
## Instructions
|
|
8
|
-
|
|
9
|
-
When entering KB mode (\*kb-mode), follow these steps:
|
|
10
|
-
|
|
11
|
-
### 1. Welcome and Guide
|
|
12
|
-
|
|
13
|
-
Announce entering KB mode with a brief, friendly introduction.
|
|
14
|
-
|
|
15
|
-
### 2. Present Topic Areas
|
|
16
|
-
|
|
17
|
-
Offer a concise list of main topic areas the user might want to explore:
|
|
18
|
-
|
|
19
|
-
**What would you like to know more about?**
|
|
20
|
-
|
|
21
|
-
1. **Setup & Installation** - Getting started with TechieFlow
|
|
22
|
-
2. **Workflows** - Choosing the right workflow for your project
|
|
23
|
-
3. **Web vs IDE** - When to use each environment
|
|
24
|
-
4. **Agents** - Understanding specialized agents and their roles
|
|
25
|
-
5. **Documents** - PRDs, Architecture, Stories, and more
|
|
26
|
-
6. **Agile Process** - How TechieFlow implements Agile methodologies
|
|
27
|
-
7. **Configuration** - Customizing TechieFlow for your needs
|
|
28
|
-
8. **Best Practices** - Tips for effective TechieFlow usage
|
|
29
|
-
|
|
30
|
-
Or ask me about anything else related to TechieFlow!
|
|
31
|
-
|
|
32
|
-
### 3. Respond Contextually
|
|
33
|
-
|
|
34
|
-
- Wait for user's specific question or topic selection
|
|
35
|
-
- Provide focused, relevant information from the knowledge base
|
|
36
|
-
- Offer to dive deeper or explore related topics
|
|
37
|
-
- Keep responses concise unless user asks for detailed explanations
|
|
38
|
-
|
|
39
|
-
### 4. Interactive Exploration
|
|
40
|
-
|
|
41
|
-
- After answering, suggest related topics they might find helpful
|
|
42
|
-
- Maintain conversational flow rather than data dumping
|
|
43
|
-
- Use examples when appropriate
|
|
44
|
-
- Reference specific documentation sections when relevant
|
|
45
|
-
|
|
46
|
-
### 5. Exit Gracefully
|
|
47
|
-
|
|
48
|
-
When user is done or wants to exit KB mode:
|
|
49
|
-
|
|
50
|
-
- Summarize key points discussed if helpful
|
|
51
|
-
- Remind them they can return to KB mode anytime with \*kb-mode
|
|
52
|
-
- Suggest next steps based on what was discussed
|
|
53
|
-
|
|
54
|
-
## Example Interaction
|
|
55
|
-
|
|
56
|
-
**User**: \*kb-mode
|
|
57
|
-
|
|
58
|
-
**Assistant**: I've entered KB mode and have access to the full TechieFlow knowledge base. I can help you with detailed information about any aspect of TechieFlow.
|
|
59
|
-
|
|
60
|
-
**What would you like to know more about?**
|
|
61
|
-
|
|
62
|
-
1. **Setup & Installation** - Getting started with TechieFlow
|
|
63
|
-
2. **Workflows** - Choosing the right workflow for your project
|
|
64
|
-
3. **Web vs IDE** - When to use each environment
|
|
65
|
-
4. **Agents** - Understanding specialized agents and their roles
|
|
66
|
-
5. **Documents** - PRDs, Architecture, Stories, and more
|
|
67
|
-
6. **Agile Process** - How TechieFlow implements Agile methodologies
|
|
68
|
-
7. **Configuration** - Customizing TechieFlow for your needs
|
|
69
|
-
8. **Best Practices** - Tips for effective TechieFlow usage
|
|
70
|
-
|
|
71
|
-
Or ask me about anything else related to TechieFlow!
|
|
72
|
-
|
|
73
|
-
**User**: Tell me about workflows
|
|
74
|
-
|
|
75
|
-
**Assistant**: [Provides focused information about workflows from the KB, then offers to explore specific workflow types or related topics]
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
# Document Sharding Task
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
- Split a large document into multiple smaller documents based on level 2 sections
|
|
6
|
-
- Create a folder structure to organize the sharded documents
|
|
7
|
-
- Maintain all content integrity including code blocks, diagrams, and markdown formatting
|
|
8
|
-
|
|
9
|
-
## Primary Method: Automatic with markdown-tree
|
|
10
|
-
|
|
11
|
-
[[LLM: First, check if markdownExploder is set to true in .tfcore/core-config.yaml. If it is, attempt to run the command: `md-tree explode {input file} {output path}`.
|
|
12
|
-
|
|
13
|
-
If the command succeeds, inform the user that the document has been sharded successfully and STOP - do not proceed further.
|
|
14
|
-
|
|
15
|
-
If the command fails (especially with an error indicating the command is not found or not available), inform the user: "The markdownExploder setting is enabled but the md-tree command is not available. Please either:
|
|
16
|
-
|
|
17
|
-
1. Install @kayvan/markdown-tree-parser globally with: `npm install -g @kayvan/markdown-tree-parser`
|
|
18
|
-
2. Or set markdownExploder to false in .tfcore/core-config.yaml
|
|
19
|
-
|
|
20
|
-
**IMPORTANT: STOP HERE - do not proceed with manual sharding until one of the above actions is taken.**"
|
|
21
|
-
|
|
22
|
-
If markdownExploder is set to false, inform the user: "The markdownExploder setting is currently false. For better performance and reliability, you should:
|
|
23
|
-
|
|
24
|
-
1. Set markdownExploder to true in .tfcore/core-config.yaml
|
|
25
|
-
2. Install @kayvan/markdown-tree-parser globally with: `npm install -g @kayvan/markdown-tree-parser`
|
|
26
|
-
|
|
27
|
-
I will now proceed with the manual sharding process."
|
|
28
|
-
|
|
29
|
-
Then proceed with the manual method below ONLY if markdownExploder is false.]]
|
|
30
|
-
|
|
31
|
-
### Installation and Usage
|
|
32
|
-
|
|
33
|
-
1. **Install globally**:
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
npm install -g @kayvan/markdown-tree-parser
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
2. **Use the explode command**:
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
# For PRD
|
|
43
|
-
md-tree explode docs/prd.md docs/prd
|
|
44
|
-
|
|
45
|
-
# For Architecture
|
|
46
|
-
md-tree explode docs/architecture.md docs/architecture
|
|
47
|
-
|
|
48
|
-
# For any document
|
|
49
|
-
md-tree explode [source-document] [destination-folder]
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
3. **What it does**:
|
|
53
|
-
- Automatically splits the document by level 2 sections
|
|
54
|
-
- Creates properly named files
|
|
55
|
-
- Adjusts heading levels appropriately
|
|
56
|
-
- Handles all edge cases with code blocks and special markdown
|
|
57
|
-
|
|
58
|
-
If the user has @kayvan/markdown-tree-parser installed, use it and skip the manual process below.
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## Manual Method (if @kayvan/markdown-tree-parser is not available or user indicated manual method)
|
|
63
|
-
|
|
64
|
-
### Task Instructions
|
|
65
|
-
|
|
66
|
-
1. Identify Document and Target Location
|
|
67
|
-
|
|
68
|
-
- Determine which document to shard (user-provided path)
|
|
69
|
-
- Create a new folder under `docs/` with the same name as the document (without extension)
|
|
70
|
-
- Example: `docs/prd.md` → create folder `docs/prd/`
|
|
71
|
-
|
|
72
|
-
2. Parse and Extract Sections
|
|
73
|
-
|
|
74
|
-
CRITICAL AEGNT SHARDING RULES:
|
|
75
|
-
|
|
76
|
-
1. Read the entire document content
|
|
77
|
-
2. Identify all level 2 sections (## headings)
|
|
78
|
-
3. For each level 2 section:
|
|
79
|
-
- Extract the section heading and ALL content until the next level 2 section
|
|
80
|
-
- Include all subsections, code blocks, diagrams, lists, tables, etc.
|
|
81
|
-
- Be extremely careful with:
|
|
82
|
-
- Fenced code blocks (```) - ensure you capture the full block including closing backticks and account for potential misleading level 2's that are actually part of a fenced section example
|
|
83
|
-
- Mermaid diagrams - preserve the complete diagram syntax
|
|
84
|
-
- Nested markdown elements
|
|
85
|
-
- Multi-line content that might contain ## inside code blocks
|
|
86
|
-
|
|
87
|
-
CRITICAL: Use proper parsing that understands markdown context. A ## inside a code block is NOT a section header.]]
|
|
88
|
-
|
|
89
|
-
### 3. Create Individual Files
|
|
90
|
-
|
|
91
|
-
For each extracted section:
|
|
92
|
-
|
|
93
|
-
1. **Generate filename**: Convert the section heading to lowercase-dash-case
|
|
94
|
-
- Remove special characters
|
|
95
|
-
- Replace spaces with dashes
|
|
96
|
-
- Example: "## Tech Stack" → `tech-stack.md`
|
|
97
|
-
|
|
98
|
-
2. **Adjust heading levels**:
|
|
99
|
-
- The level 2 heading becomes level 1 (# instead of ##) in the sharded new document
|
|
100
|
-
- All subsection levels decrease by 1:
|
|
101
|
-
|
|
102
|
-
```txt
|
|
103
|
-
- ### → ##
|
|
104
|
-
- #### → ###
|
|
105
|
-
- ##### → ####
|
|
106
|
-
- etc.
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
3. **Write content**: Save the adjusted content to the new file
|
|
110
|
-
|
|
111
|
-
### 4. Create Index File
|
|
112
|
-
|
|
113
|
-
Create an `index.md` file in the sharded folder that:
|
|
114
|
-
|
|
115
|
-
1. Contains the original level 1 heading and any content before the first level 2 section
|
|
116
|
-
2. Lists all the sharded files with links:
|
|
117
|
-
|
|
118
|
-
```markdown
|
|
119
|
-
# Original Document Title
|
|
120
|
-
|
|
121
|
-
[Original introduction content if any]
|
|
122
|
-
|
|
123
|
-
## Sections
|
|
124
|
-
|
|
125
|
-
- [Section Name 1](./section-name-1.md)
|
|
126
|
-
- [Section Name 2](./section-name-2.md)
|
|
127
|
-
- [Section Name 3](./section-name-3.md)
|
|
128
|
-
...
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### 5. Preserve Special Content
|
|
132
|
-
|
|
133
|
-
1. **Code blocks**: Must capture complete blocks including:
|
|
134
|
-
|
|
135
|
-
```language
|
|
136
|
-
content
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
2. **Mermaid diagrams**: Preserve complete syntax:
|
|
140
|
-
|
|
141
|
-
```mermaid
|
|
142
|
-
graph TD
|
|
143
|
-
...
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
3. **Tables**: Maintain proper markdown table formatting
|
|
147
|
-
|
|
148
|
-
4. **Lists**: Preserve indentation and nesting
|
|
149
|
-
|
|
150
|
-
5. **Inline code**: Preserve backticks
|
|
151
|
-
|
|
152
|
-
6. **Links and references**: Keep all markdown links intact
|
|
153
|
-
|
|
154
|
-
7. **Template markup**: If documents contain {{placeholders}} ,preserve exactly
|
|
155
|
-
|
|
156
|
-
### 6. Validation
|
|
157
|
-
|
|
158
|
-
After sharding:
|
|
159
|
-
|
|
160
|
-
1. Verify all sections were extracted
|
|
161
|
-
2. Check that no content was lost
|
|
162
|
-
3. Ensure heading levels were properly adjusted
|
|
163
|
-
4. Confirm all files were created successfully
|
|
164
|
-
|
|
165
|
-
### 7. Report Results
|
|
166
|
-
|
|
167
|
-
Provide a summary:
|
|
168
|
-
|
|
169
|
-
```text
|
|
170
|
-
Document sharded successfully:
|
|
171
|
-
- Source: [original document path]
|
|
172
|
-
- Destination: docs/[folder-name]/
|
|
173
|
-
- Files created: [count]
|
|
174
|
-
- Sections:
|
|
175
|
-
- section-name-1.md: "Section Title 1"
|
|
176
|
-
- section-name-2.md: "Section Title 2"
|
|
177
|
-
...
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
## Important Notes
|
|
181
|
-
|
|
182
|
-
- Never modify the actual content, only adjust heading levels
|
|
183
|
-
- Preserve ALL formatting, including whitespace where significant
|
|
184
|
-
- Handle edge cases like sections with code blocks containing ## symbols
|
|
185
|
-
- Ensure the sharding is reversible (could reconstruct the original from shards)
|
package/.codex/config.toml
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# TechieFlow Codex adapter. Project-local config loads only after the repository
|
|
2
|
-
# is trusted. User authentication, providers, profiles, notifications and OTel
|
|
3
|
-
# remain in ~/.codex/config.toml and are never managed by TechieFlow.
|
|
4
|
-
|
|
5
|
-
sandbox_mode = "workspace-write"
|
|
6
|
-
approval_policy = "on-request"
|
|
7
|
-
|
|
8
|
-
[agents]
|
|
9
|
-
enabled = true
|
|
10
|
-
max_concurrent_threads_per_session = 8
|
|
11
|
-
|
|
12
|
-
[agents.flow_master]
|
|
13
|
-
description = "TechieFlow orchestrator and workflow router."
|
|
14
|
-
config_file = "agents/flow-master.toml"
|
|
15
|
-
|
|
16
|
-
[agents.analyst]
|
|
17
|
-
description = "Business analysis, discovery, BRDs, and mockups."
|
|
18
|
-
config_file = "agents/analyst.toml"
|
|
19
|
-
|
|
20
|
-
[agents.architect]
|
|
21
|
-
description = "Architecture and technical design specialist."
|
|
22
|
-
config_file = "agents/architect.toml"
|
|
23
|
-
|
|
24
|
-
[agents.verifier]
|
|
25
|
-
description = "Independent requirement verifier and evidence grader."
|
|
26
|
-
config_file = "agents/verifier.toml"
|
|
27
|
-
|
|
28
|
-
[agents.tf_builder]
|
|
29
|
-
description = "Implementation worker for one FN/NFR requirement cluster."
|
|
30
|
-
config_file = "agents/tf-builder.toml"
|
|
31
|
-
|
|
32
|
-
[agents.tf_test_writer]
|
|
33
|
-
description = "Black-box verification-test writer for one requirement cluster."
|
|
34
|
-
config_file = "agents/tf-test-writer.toml"
|
|
35
|
-
|
|
36
|
-
[agents.tf_explorer]
|
|
37
|
-
description = "Read-only codebase explorer for focused evidence gathering."
|
|
38
|
-
config_file = "agents/tf-explorer.toml"
|
|
39
|
-
|
|
40
|
-
[agents.trblazeui]
|
|
41
|
-
description = "TrBlazeUI implementation specialist; available when its persona is deployed."
|
|
42
|
-
config_file = "agents/trblazeui.toml"
|
|
43
|
-
|
|
44
|
-
[agents.techierag]
|
|
45
|
-
description = "TechieRag implementation specialist; available when its persona is deployed."
|
|
46
|
-
config_file = "agents/techierag.toml"
|
package/.codex/hooks.json
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"description": "TechieFlow policy guards and session telemetry for Codex.",
|
|
3
|
-
"hooks": {
|
|
4
|
-
"PreToolUse": [
|
|
5
|
-
{
|
|
6
|
-
"matcher": "Bash|Edit|Write|apply_patch",
|
|
7
|
-
"hooks": [
|
|
8
|
-
{
|
|
9
|
-
"type": "command",
|
|
10
|
-
"command": "python3 -c 'import pathlib,runpy,sys; root=next(p for p in (pathlib.Path.cwd(), *pathlib.Path.cwd().parents) if (p / \".tfcore\").is_dir()); sys.argv=[\"codex-adapter.py\", sys.argv[1]]; runpy.run_path(str(root / \".tfcore/hooks/codex-adapter.py\"), run_name=\"__main__\")' pre-tool",
|
|
11
|
-
"timeout": 15,
|
|
12
|
-
"statusMessage": "Checking TechieFlow policy"
|
|
13
|
-
}
|
|
14
|
-
]
|
|
15
|
-
}
|
|
16
|
-
],
|
|
17
|
-
"SessionStart": [
|
|
18
|
-
{
|
|
19
|
-
"hooks": [
|
|
20
|
-
{
|
|
21
|
-
"type": "command",
|
|
22
|
-
"command": "python3 -c 'import pathlib,runpy,sys; root=next(p for p in (pathlib.Path.cwd(), *pathlib.Path.cwd().parents) if (p / \".tfcore\").is_dir()); sys.argv=[\"codex-adapter.py\", sys.argv[1]]; runpy.run_path(str(root / \".tfcore/hooks/codex-adapter.py\"), run_name=\"__main__\")' session-start",
|
|
23
|
-
"timeout": 10
|
|
24
|
-
}
|
|
25
|
-
]
|
|
26
|
-
}
|
|
27
|
-
],
|
|
28
|
-
"UserPromptSubmit": [
|
|
29
|
-
{
|
|
30
|
-
"hooks": [
|
|
31
|
-
{
|
|
32
|
-
"type": "command",
|
|
33
|
-
"command": "python3 -c 'import pathlib,runpy,sys; root=next(p for p in (pathlib.Path.cwd(), *pathlib.Path.cwd().parents) if (p / \".tfcore\").is_dir()); sys.argv=[\"codex-adapter.py\", sys.argv[1]]; runpy.run_path(str(root / \".tfcore/hooks/codex-adapter.py\"), run_name=\"__main__\")' session-start",
|
|
34
|
-
"timeout": 10
|
|
35
|
-
}
|
|
36
|
-
]
|
|
37
|
-
}
|
|
38
|
-
],
|
|
39
|
-
"Stop": [
|
|
40
|
-
{
|
|
41
|
-
"hooks": [
|
|
42
|
-
{
|
|
43
|
-
"type": "command",
|
|
44
|
-
"command": "python3 -c 'import pathlib,runpy,sys; root=next(p for p in (pathlib.Path.cwd(), *pathlib.Path.cwd().parents) if (p / \".tfcore\").is_dir()); sys.argv=[\"codex-adapter.py\", sys.argv[1]]; runpy.run_path(str(root / \".tfcore/hooks/codex-adapter.py\"), run_name=\"__main__\")' stop",
|
|
45
|
-
"timeout": 10,
|
|
46
|
-
"statusMessage": "Checking PROJECT-STATUS.html is current"
|
|
47
|
-
}
|
|
48
|
-
]
|
|
49
|
-
}
|
|
50
|
-
],
|
|
51
|
-
"SessionEnd": [
|
|
52
|
-
{
|
|
53
|
-
"hooks": [
|
|
54
|
-
{
|
|
55
|
-
"type": "command",
|
|
56
|
-
"command": "python3 -c 'import pathlib,runpy,sys; root=next(p for p in (pathlib.Path.cwd(), *pathlib.Path.cwd().parents) if (p / \".tfcore\").is_dir()); sys.argv=[\"codex-adapter.py\", sys.argv[1]]; runpy.run_path(str(root / \".tfcore/hooks/codex-adapter.py\"), run_name=\"__main__\")' session-end",
|
|
57
|
-
"timeout": 3
|
|
58
|
-
}
|
|
59
|
-
]
|
|
60
|
-
}
|
|
61
|
-
]
|
|
62
|
-
}
|
|
63
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
# TechieFlow's owner performs every version-control operation manually.
|
|
2
|
-
prefix_rule(
|
|
3
|
-
pattern = [["git", "gh"]],
|
|
4
|
-
decision = "forbidden",
|
|
5
|
-
justification = "TechieFlow agents never run git or gh; inspect working-tree files and framework artifacts instead.",
|
|
6
|
-
match = ["git status", "git add .", "gh pr view 1", "gh issue list"],
|
|
7
|
-
)
|
|
8
|
-
|