@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.
- package/.claude/commands/TechieFlow/agents/analyst.md +97 -0
- package/.claude/commands/TechieFlow/agents/architect.md +84 -0
- package/.claude/commands/TechieFlow/agents/flow-master.md +217 -0
- package/.claude/commands/TechieFlow/agents/verifier.md +72 -0
- package/.claude/commands/TechieFlow/tasks/_metrics-emit-gate.md +138 -0
- package/.claude/commands/TechieFlow/tasks/_smoke-test-policy.md +98 -0
- package/.claude/commands/TechieFlow/tasks/_status-update-gate.md +78 -0
- package/.claude/commands/TechieFlow/tasks/_yolo-mode.md +77 -0
- package/.claude/commands/TechieFlow/tasks/advanced-elicitation.md +117 -0
- package/.claude/commands/TechieFlow/tasks/amend-docs.md +149 -0
- package/.claude/commands/TechieFlow/tasks/author-brd.md +79 -0
- package/.claude/commands/TechieFlow/tasks/build-phase.md +231 -0
- package/.claude/commands/TechieFlow/tasks/create-deep-research-prompt.md +278 -0
- package/.claude/commands/TechieFlow/tasks/create-doc.md +101 -0
- package/.claude/commands/TechieFlow/tasks/day1-brownfield.md +507 -0
- package/.claude/commands/TechieFlow/tasks/day1-greenfield.md +224 -0
- package/.claude/commands/TechieFlow/tasks/devguide.md +224 -0
- package/.claude/commands/TechieFlow/tasks/document-project.md +343 -0
- package/.claude/commands/TechieFlow/tasks/execute-checklist.md +86 -0
- package/.claude/commands/TechieFlow/tasks/facilitate-brainstorming-session.md +136 -0
- package/.claude/commands/TechieFlow/tasks/fix-issues.md +134 -0
- package/.claude/commands/TechieFlow/tasks/generate-html.md +115 -0
- package/.claude/commands/TechieFlow/tasks/handoff-phase.md +126 -0
- package/.claude/commands/TechieFlow/tasks/index-docs.md +173 -0
- package/.claude/commands/TechieFlow/tasks/kb-mode-interaction.md +75 -0
- package/.claude/commands/TechieFlow/tasks/log-miss.md +160 -0
- package/.claude/commands/TechieFlow/tasks/metrics-report.md +143 -0
- package/.claude/commands/TechieFlow/tasks/mockups.md +122 -0
- package/.claude/commands/TechieFlow/tasks/productguide.md +105 -0
- package/.claude/commands/TechieFlow/tasks/refresh-status.md +135 -0
- package/.claude/commands/TechieFlow/tasks/render-workflow-docs.md +117 -0
- package/.claude/commands/TechieFlow/tasks/shard-doc.md +185 -0
- package/.claude/commands/TechieFlow/tasks/split-brd.md +131 -0
- package/.claude/commands/TechieFlow/tasks/triage-issues.md +157 -0
- package/.claude/commands/TechieFlow/tasks/verify-phase.md +579 -0
- package/.claude/commands/generate-html.md +124 -0
- package/.codex/config.toml +46 -0
- package/.codex/hooks.json +63 -0
- package/.codex/rules/techieflow.rules +8 -0
- package/.opencode/command/generate-html.md +129 -0
- package/.opencode/plugin/techieflow.js +350 -0
- package/.tfcore/TOKEN-GUIDE.md +59 -0
- package/.tfcore/agents/analyst.md +97 -0
- package/.tfcore/agents/architect.md +84 -0
- package/.tfcore/agents/flow-master.md +217 -0
- package/.tfcore/agents/verifier.md +72 -0
- package/.tfcore/checklists/architect-checklist.md +438 -0
- package/.tfcore/core-config.yaml +47 -0
- package/.tfcore/data/brainstorming-techniques.md +36 -0
- package/.tfcore/data/elicitation-methods.md +154 -0
- package/.tfcore/data/techieflow-kb.md +807 -0
- package/.tfcore/data/technical-preferences.md +3 -0
- package/.tfcore/enhanced-ide-development-workflow.md +248 -0
- package/.tfcore/hooks/block-git.sh +301 -0
- package/.tfcore/hooks/codex-adapter.py +248 -0
- package/.tfcore/hooks/guard-artifacts.sh +101 -0
- package/.tfcore/hooks/guard-status-html.sh +102 -0
- package/.tfcore/hooks/guard-status.sh +124 -0
- package/.tfcore/hooks/guard-verify.sh +108 -0
- package/.tfcore/hooks/metrics-session.sh +129 -0
- package/.tfcore/hooks/session-pointer.sh +52 -0
- package/.tfcore/hooks/sweep-artifacts.sh +198 -0
- package/.tfcore/install-manifest.yaml +231 -0
- package/.tfcore/routing.yaml +105 -0
- package/.tfcore/tasks/_metrics-emit-gate.md +138 -0
- package/.tfcore/tasks/_smoke-test-policy.md +98 -0
- package/.tfcore/tasks/_status-update-gate.md +78 -0
- package/.tfcore/tasks/_yolo-mode.md +77 -0
- package/.tfcore/tasks/advanced-elicitation.md +117 -0
- package/.tfcore/tasks/amend-docs.md +149 -0
- package/.tfcore/tasks/author-brd.md +79 -0
- package/.tfcore/tasks/build-phase.md +231 -0
- package/.tfcore/tasks/create-deep-research-prompt.md +278 -0
- package/.tfcore/tasks/create-doc.md +101 -0
- package/.tfcore/tasks/day1-brownfield.md +507 -0
- package/.tfcore/tasks/day1-greenfield.md +224 -0
- package/.tfcore/tasks/devguide.md +224 -0
- package/.tfcore/tasks/document-project.md +343 -0
- package/.tfcore/tasks/execute-checklist.md +86 -0
- package/.tfcore/tasks/facilitate-brainstorming-session.md +136 -0
- package/.tfcore/tasks/fix-issues.md +134 -0
- package/.tfcore/tasks/generate-html.md +115 -0
- package/.tfcore/tasks/handoff-phase.md +126 -0
- package/.tfcore/tasks/index-docs.md +173 -0
- package/.tfcore/tasks/kb-mode-interaction.md +75 -0
- package/.tfcore/tasks/log-miss.md +160 -0
- package/.tfcore/tasks/metrics-report.md +143 -0
- package/.tfcore/tasks/mockups.md +122 -0
- package/.tfcore/tasks/productguide.md +105 -0
- package/.tfcore/tasks/refresh-status.md +135 -0
- package/.tfcore/tasks/render-workflow-docs.md +117 -0
- package/.tfcore/tasks/shard-doc.md +185 -0
- package/.tfcore/tasks/split-brd.md +131 -0
- package/.tfcore/tasks/triage-issues.md +157 -0
- package/.tfcore/tasks/verify-phase.md +579 -0
- package/.tfcore/telemetry/SCHEMA.md +678 -0
- package/.tfcore/telemetry/install-metrics.sh +390 -0
- package/.tfcore/telemetry/pre-commit +94 -0
- package/.tfcore/telemetry/tf-metrics.sh +1415 -0
- package/.tfcore/templates/architecture-tmpl.yaml +650 -0
- package/.tfcore/templates/brainstorming-output-tmpl.yaml +156 -0
- package/.tfcore/templates/brownfield-architecture-tmpl.yaml +476 -0
- package/.tfcore/templates/competitor-analysis-tmpl.yaml +306 -0
- package/.tfcore/templates/front-end-architecture-tmpl.yaml +218 -0
- package/.tfcore/templates/fullstack-architecture-tmpl.yaml +823 -0
- package/.tfcore/templates/market-research-tmpl.yaml +252 -0
- package/.tfcore/templates/project-brief-tmpl.yaml +221 -0
- package/.tfcore/templates/v4custom/app-agents-md-tmpl.md +61 -0
- package/.tfcore/templates/v4custom/app-architecture-tmpl.md +127 -0
- package/.tfcore/templates/v4custom/app-brd-tmpl.md +204 -0
- package/.tfcore/templates/v4custom/app-checklist-tmpl.md +90 -0
- package/.tfcore/templates/v4custom/app-claude-md-tmpl.md +33 -0
- package/.tfcore/templates/v4custom/app-devguide-tmpl.md +167 -0
- package/.tfcore/templates/v4custom/app-editorconfig-tmpl.editorconfig +44 -0
- package/.tfcore/templates/v4custom/app-library-feedback-tmpl.md +31 -0
- package/.tfcore/templates/v4custom/app-productguide-tmpl.md +54 -0
- package/.tfcore/templates/v4custom/app-project-status-tmpl.md +98 -0
- package/.tfcore/templates/v4custom/app-uidesign-tmpl.md +48 -0
- package/.tfcore/templates/v4custom/app-usageguide-tmpl.md +67 -0
- package/.tfcore/templates/v4custom/build-invocation-ladder.md +190 -0
- package/.tfcore/templates/v4custom/html-render-shell.md +502 -0
- package/.tfcore/templates/v4custom/metrics-report-template.md +273 -0
- package/.tfcore/templates/v4custom/opencode-operating-contract.md +56 -0
- package/.tfcore/user-guide.md +633 -0
- package/.tfcore/utils/techieflow-doc-template.md +325 -0
- package/.tfcore/utils/tf-assets.sh +310 -0
- package/.tfcore/utils/tf-codex-bind.py +196 -0
- package/.tfcore/utils/tf-codex-telemetry.py +60 -0
- package/.tfcore/utils/tf-emit.sh +1075 -0
- package/.tfcore/utils/tf-gitignore-audit.sh +281 -0
- package/.tfcore/utils/tf-goal.sh +421 -0
- package/.tfcore/utils/tf-harness.sh +160 -0
- package/.tfcore/utils/tf-mockup-parity.mjs +555 -0
- package/.tfcore/utils/tf-mockup-parity.sh +65 -0
- package/.tfcore/utils/tf-opencode-audit.py +126 -0
- package/.tfcore/utils/tf-perf.sh +241 -0
- package/.tfcore/utils/tf-render-html.py +715 -0
- package/.tfcore/utils/tf-render-html.sh +28 -0
- package/.tfcore/utils/tf-routing-bind.sh +216 -0
- package/.tfcore/utils/tf-routing.sh +247 -0
- package/.tfcore/utils/tf-yolo.sh +119 -0
- package/.tfcore/working-in-the-brownfield.md +606 -0
- package/LICENSE +201 -0
- package/README.md +1212 -0
- package/WORKFLOW.html +1986 -0
- package/docs/TechieFlow-Installation.md +299 -0
- package/opencode.jsonc +929 -0
- package/package.json +60 -0
- package/scripts/install.mjs +992 -0
- package/scripts/test-install.mjs +505 -0
- package/scripts/validate.mjs +155 -0
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
# TechieFlow — Installation
|
|
2
|
+
|
|
3
|
+
| | |
|
|
4
|
+
|---|---|
|
|
5
|
+
| Purpose | Get TechieFlow into a project with one command, on a machine that has never seen it. |
|
|
6
|
+
| Audience | A developer on a fresh machine. No knowledge of npm or of this repository is assumed. |
|
|
7
|
+
| Package | [`@techierathore/techieflow`](https://www.npmjs.com/package/@techierathore/techieflow) on npm |
|
|
8
|
+
| Time | Under ten minutes to a working `*day1-greenfield`. |
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Before you start
|
|
13
|
+
|
|
14
|
+
You need four things on the machine.
|
|
15
|
+
|
|
16
|
+
| Tool | Why | Check |
|
|
17
|
+
|---|---|---|
|
|
18
|
+
| Node.js 20 or newer | Runs the installer. Nothing is added to your project. | `node --version` |
|
|
19
|
+
| bash | The framework's guard hooks and helper scripts run under bash. macOS and Linux have it. On Windows, work inside WSL or Git Bash. | `bash --version` |
|
|
20
|
+
| Python 3.10 or newer | Powers the HTML renderer, the telemetry writer and the guard hooks. An older Python 3 works but skips the Codex files. | `python3 --version` |
|
|
21
|
+
| Claude Code or OpenCode | The harness that runs the agents. Either one. Both work from the same install. | `claude --version` or `opencode --version` |
|
|
22
|
+
|
|
23
|
+
For a .NET project you also need the .NET SDK. Run `dotnet --version` to check.
|
|
24
|
+
|
|
25
|
+
You do not need rsync, git on the command line, or a clone of this repository.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 1. What gets installed
|
|
30
|
+
|
|
31
|
+
The installer copies the framework into hidden folders inside your project. It never adds the framework as a dependency of your application. After it runs there is no `node_modules`, no `package.json` and no lock file that was not there before.
|
|
32
|
+
|
|
33
|
+
| Path | What it is | On update |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| `.tfcore/` | The framework: personas, tasks, templates, hooks, helper scripts. | Refreshed. Two files inside are yours and are kept: `core-config.yaml` and `routing.yaml`. |
|
|
36
|
+
| `.claude/commands/TechieFlow/` | The Claude Code mirror of the personas and tasks. Claude Code only reads this folder. | Refreshed. |
|
|
37
|
+
| `.claude/commands/generate-html.md` | The short `/generate-html` command for Claude Code. | Refreshed. |
|
|
38
|
+
| `.claude/settings.json` | Claude Code permissions: everything allowed except git writes, plus the guard hooks. | Refreshed, with the old file kept as `settings.json.bak`. Pass `--keep-permissions` to keep yours. |
|
|
39
|
+
| `.opencode/plugin/techieflow.js` | The OpenCode plugin that runs the same guard hooks Claude Code runs. | Refreshed. |
|
|
40
|
+
| `.opencode/opencode.jsonc` | The framework's OpenCode configuration. OpenCode reads the personas and tasks straight from `.tfcore/` through it. | Refreshed. |
|
|
41
|
+
| `.opencode/command/generate-html.md` | The short `/generate-html` command for OpenCode. | Added on update only. |
|
|
42
|
+
| `opencode.jsonc` | The root OpenCode configuration, for your own additions. | Refreshed only when it holds nothing of yours, with the old file kept as `opencode.jsonc.bak`. |
|
|
43
|
+
| `.codex/` and `.agents/skills/` | The Codex adapter, generated from the same personas and tasks. | Refreshed. `config.toml` is yours and is kept. |
|
|
44
|
+
| `WORKFLOW.html` | The human workflow guide. Open it in a browser. | Refreshed. |
|
|
45
|
+
| `.tf-scaffold-note.txt` | A note with your next command. Delete it when read. | Left alone. |
|
|
46
|
+
| `docs/metrics/` | Five empty telemetry files and a README. This is your project's history: commit it. | Left alone. |
|
|
47
|
+
| `.gitignore` | Lines that keep the copies above out of your commits. Appended, never rewritten. | Appended. |
|
|
48
|
+
| `.gitattributes` | Line-ending rules and a merge rule for the telemetry files. Appended, never rewritten. | Appended. |
|
|
49
|
+
| `.git/hooks/pre-commit` | Records each commit in `docs/metrics/commits.jsonl`. Only when `.git/` exists. | Refreshed if it is ours. |
|
|
50
|
+
|
|
51
|
+
Both harnesses are set up by the one command. There is no separate step for Claude Code or for OpenCode.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 2. Install into an existing project
|
|
56
|
+
|
|
57
|
+
Open a terminal in the project folder.
|
|
58
|
+
|
|
59
|
+
Step 1. Preview what will happen. Nothing is written.
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
npx @techierathore/techieflow@latest install --dry-run
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Step 2. Install.
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npx @techierathore/techieflow@latest install
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Step 3. Read the note it left.
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
cat .tf-scaffold-note.txt
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Step 4. Start your harness in this folder and run the brownfield day-1 command.
|
|
78
|
+
|
|
79
|
+
Claude Code:
|
|
80
|
+
|
|
81
|
+
```text
|
|
82
|
+
/TechieFlow:agents:analyst *day1-brownfield MyApp
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
OpenCode:
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
/flow-analyst *day1-brownfield MyApp
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Replace `MyApp` with your application's name in PascalCase.
|
|
92
|
+
|
|
93
|
+
The installer warns if it finds no `.csproj` or `.sln` within four folder levels and asks whether to continue. Add `--force` to skip the question.
|
|
94
|
+
|
|
95
|
+
If the project already has `.tfcore/`, install fills in missing files only. Use `update` to refresh.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 3. Start a new project
|
|
100
|
+
|
|
101
|
+
This is the ten-minute path. Use `MyDiary` as the example name.
|
|
102
|
+
|
|
103
|
+
Step 1. Make the folder and step into it.
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
mkdir MyDiary && cd MyDiary
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Step 2. Start the git repository. The framework never runs git for you; this is the one git command you run yourself now, so the commit-telemetry hook has somewhere to live.
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
git init
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Step 3. Install the framework with the greenfield flag. It also creates `src/`, `tests/playwright/` and `tests/unit/`.
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
npx @techierathore/techieflow@latest install --greenfield
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Step 4. Create the .NET solution.
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
dotnet new sln -n MyDiary
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
dotnet new blazor -n MyDiary.Web -o src/MyDiary.Web
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
dotnet sln add src/MyDiary.Web
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Step 5. Add the component library and build once. The build deploys the library's own agent files.
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
dotnet add src/MyDiary.Web package TrBlazeUI
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
dotnet build
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Step 6. Start your harness in this folder. When Claude Code asks whether to trust the folder, answer yes. That accepts the `.claude/settings.json` the installer wrote.
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
claude
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
or
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
opencode
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Step 7. Run day-1.
|
|
158
|
+
|
|
159
|
+
Claude Code:
|
|
160
|
+
|
|
161
|
+
```text
|
|
162
|
+
/TechieFlow:agents:analyst *day1-greenfield MyDiary
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
OpenCode:
|
|
166
|
+
|
|
167
|
+
```text
|
|
168
|
+
/flow-analyst *day1-greenfield MyDiary
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
The analyst asks for the concept once. Answer in a sentence or a few bullets. It then writes the BRD, the architecture, the coding standards, the UI mockups, the checklist and the status file, and renders each document to HTML.
|
|
172
|
+
|
|
173
|
+
Step 8. Commit. The framework does not commit for you.
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
git add -A && git commit -m "Day 1"
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
The hidden framework folders are already in `.gitignore`. What you commit is your documents, your code and `docs/metrics/`.
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## 4. Update
|
|
184
|
+
|
|
185
|
+
When a new version of the package is released, refresh the framework in each project.
|
|
186
|
+
|
|
187
|
+
Step 1. Preview. Nothing is written.
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
npx @techierathore/techieflow@latest update --dry-run
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Step 2. Apply.
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
npx @techierathore/techieflow@latest update
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Step 3. Restart Claude Code or OpenCode so the new task and persona files are loaded.
|
|
200
|
+
|
|
201
|
+
Update overwrites framework files and deletes framework files that no longer ship. It never touches the files listed in section 6.
|
|
202
|
+
|
|
203
|
+
If you have edited `.claude/settings.json` on purpose and want to keep it:
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
npx @techierathore/techieflow@latest update --keep-permissions
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
A project that still has the old `.bmad-core/` folder is migrated in place first. Your `core-config.yaml` is kept and patched.
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## 5. Uninstall
|
|
214
|
+
|
|
215
|
+
Step 1. See what would be removed. Nothing is deleted without `--force`.
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
npx @techierathore/techieflow@latest uninstall
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Step 2. Remove.
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
npx @techierathore/techieflow@latest uninstall --force
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Uninstall removes the framework folders, the framework's `.gitignore` lines and the telemetry commit hook. It keeps `docs/metrics/`, every file it can see you changed, the NuGet-deployed library personas and `.gitattributes`.
|
|
228
|
+
|
|
229
|
+
`.tfcore/core-config.yaml` and `.tfcore/routing.yaml` live inside the framework folder. Copy them out first if you want to keep them.
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## 6. What it does not touch
|
|
234
|
+
|
|
235
|
+
The installer and the updater never write to:
|
|
236
|
+
|
|
237
|
+
- `src/`, `tests/` and any code folder
|
|
238
|
+
- `docs/`, apart from creating `docs/metrics/` once
|
|
239
|
+
- `PROJECT-STATUS.md`, `CLAUDE.md`, `.editorconfig`
|
|
240
|
+
- `.tfcore/core-config.yaml` and `.tfcore/routing.yaml` after the first install
|
|
241
|
+
- `.claude/settings.local.json`
|
|
242
|
+
- `.claude/commands/trblazeui.md`, `.claude/commands/techierag.md` and the same names under `.opencode/command/`. These come from the NuGet packages.
|
|
243
|
+
- `.codex/config.toml` after the first install
|
|
244
|
+
- `opencode.jsonc` at the root when it holds a key of your own
|
|
245
|
+
|
|
246
|
+
Existing lines in `.gitignore` and `.gitattributes` are never rewritten. The managed lines are appended once and recognised on every later run.
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## 7. Flags
|
|
251
|
+
|
|
252
|
+
| Flag | Meaning |
|
|
253
|
+
|---|---|
|
|
254
|
+
| `--target=<folder>` | Work on another folder instead of the current one. |
|
|
255
|
+
| `--dry-run` | Print what would happen. Write nothing. |
|
|
256
|
+
| `--force` | install: skip the "no .csproj found" question. uninstall: really delete. |
|
|
257
|
+
| `--no-gitignore` | Do not edit `.gitignore` or `.gitattributes`. |
|
|
258
|
+
| `--greenfield` | install only: also create `src/`, `tests/playwright/`, `tests/unit/`. |
|
|
259
|
+
| `--keep-permissions` | update only: leave `.claude/settings.json` as it is. |
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## 8. The shell scripts are still there
|
|
264
|
+
|
|
265
|
+
The three shell scripts at the root of the repository still work from a clone. They need rsync, bash and python3.
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
git clone https://github.com/techierathore/TechieFlow.git
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
/path/to/TechieFlow/scaffold-brownfield.sh /path/to/existing-app
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
/path/to/TechieFlow/scaffold-greenfield.sh /path/to/new-app
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
/path/to/TechieFlow/update-framework.sh /path/to/app
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
The installer and the scripts produce the same files. A test in the repository, `scripts/test-install.mjs`, runs both on the same folders and fails on any difference. Choose the route you like. The package route needs no clone and always gives you the released version. The clone route gives you whatever is on the branch you checked out.
|
|
284
|
+
|
|
285
|
+
Do not run `npm install @techierathore/techieflow`. That would add the package to your application. Use `npx`, which runs the installer once and keeps nothing.
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## 9. If something goes wrong
|
|
290
|
+
|
|
291
|
+
| What you see | What to do |
|
|
292
|
+
|---|---|
|
|
293
|
+
| `bash was not found` | On Windows, run the command inside WSL or Git Bash. |
|
|
294
|
+
| `python3 was not found` | Install Python 3 and run the command again. On macOS: `brew install python3`. On Ubuntu or WSL: `sudo apt-get install -y python3`. |
|
|
295
|
+
| `Codex bindings could not be generated` | Your Python is older than 3.10. Everything except the Codex files is installed. Upgrade Python and run `update` to add them. |
|
|
296
|
+
| `Refusing to install into the framework itself` | You ran the command inside a clone of this repository. Pass `--target=<your project>`. |
|
|
297
|
+
| `does not look installed` on update | The folder has no `.tfcore/`. Run `install` first. |
|
|
298
|
+
| Claude Code does not show the `/TechieFlow:agents:analyst` command | Restart Claude Code in the project folder. Check that `.claude/commands/TechieFlow/agents/analyst.md` exists. |
|
|
299
|
+
| OpenCode does not show `/flow-analyst` | Restart OpenCode. Check that `.opencode/opencode.jsonc` exists and that `.tfcore/agents/analyst.md` exists. |
|