@jakkrichm/create-nexus-devflow 2.0.27 → 2.2.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/README.md +29 -7
- package/dist/bin/create-nexus-devflow.d.ts +5 -1
- package/dist/bin/create-nexus-devflow.js +247 -4
- package/dist/bin/create-nexus-devflow.js.map +1 -1
- package/dist/lib/branch-context.d.ts +39 -0
- package/dist/lib/branch-context.js +196 -0
- package/dist/lib/branch-context.js.map +1 -0
- package/dist/lib/code-graph.d.ts +30 -0
- package/dist/lib/code-graph.js +209 -0
- package/dist/lib/code-graph.js.map +1 -0
- package/dist/lib/context-slicer.d.ts +31 -0
- package/dist/lib/context-slicer.js +234 -0
- package/dist/lib/context-slicer.js.map +1 -0
- package/dist/lib/current-work.js +4 -2
- package/dist/lib/current-work.js.map +1 -1
- package/dist/lib/dashboard-page.d.ts +1 -1
- package/dist/lib/dashboard-page.js +140 -56
- package/dist/lib/dashboard-page.js.map +1 -1
- package/dist/lib/dashboard-snapshot.d.ts +13 -0
- package/dist/lib/dashboard-snapshot.js +24 -6
- package/dist/lib/dashboard-snapshot.js.map +1 -1
- package/dist/lib/dashboard.js +38 -0
- package/dist/lib/dashboard.js.map +1 -1
- package/dist/lib/drift-reconciler.d.ts +38 -0
- package/dist/lib/drift-reconciler.js +155 -0
- package/dist/lib/drift-reconciler.js.map +1 -0
- package/dist/lib/gatekeeper.d.ts +1 -0
- package/dist/lib/gatekeeper.js +30 -1
- package/dist/lib/gatekeeper.js.map +1 -1
- package/dist/lib/git-hooks.js +41 -16
- package/dist/lib/git-hooks.js.map +1 -1
- package/dist/lib/ide-extension.d.ts +38 -0
- package/dist/lib/ide-extension.js +61 -0
- package/dist/lib/ide-extension.js.map +1 -0
- package/dist/lib/mcp.d.ts +36 -0
- package/dist/lib/mcp.js +653 -0
- package/dist/lib/mcp.js.map +1 -0
- package/dist/lib/project-metadata.d.ts +1 -1
- package/dist/lib/project-metadata.js +3 -2
- package/dist/lib/project-metadata.js.map +1 -1
- package/dist/lib/status.d.ts +1 -1
- package/dist/lib/status.js +4 -4
- package/dist/lib/status.js.map +1 -1
- package/dist/lib/swarm-orchestrator.d.ts +31 -0
- package/dist/lib/swarm-orchestrator.js +134 -0
- package/dist/lib/swarm-orchestrator.js.map +1 -0
- package/dist/lib/update.js +7 -3
- package/dist/lib/update.js.map +1 -1
- package/dist/lib/webview-studio.d.ts +8 -0
- package/dist/lib/webview-studio.js +463 -0
- package/dist/lib/webview-studio.js.map +1 -0
- package/dist/lib/workflow-state.js +24 -8
- package/dist/lib/workflow-state.js.map +1 -1
- package/package.json +1 -1
- package/template/.agents/skills/adopt/SKILL.md +58 -5
- package/template/.agents/skills/doctor/SKILL.md +23 -16
- package/template/.agents/skills/implement/SKILL.md +2 -2
- package/template/.agents/skills/onboard/SKILL.md +18 -17
- package/template/.agents/skills/rollback/SKILL.md +1 -1
- package/template/.claude/skills/00-explore/SKILL.md +2 -2
- package/template/.claude/skills/10-define/SKILL.md +2 -2
- package/template/.claude/skills/20-spec/SKILL.md +1 -2
- package/template/.claude/skills/30-plan/SKILL.md +1 -2
- package/template/.claude/skills/40-execute/SKILL.md +2 -2
- package/template/.claude/skills/50-verify/SKILL.md +2 -2
- package/template/.claude/skills/60-report/SKILL.md +2 -2
- package/template/.claude/skills/70-deliver/SKILL.md +2 -2
- package/template/.claude/skills/adopt/SKILL.md +191 -75
- package/template/.claude/skills/audit/SKILL.md +267 -133
- package/template/.claude/skills/autopilot/SKILL.md +226 -167
- package/template/.claude/skills/brainstorm/SKILL.md +62 -0
- package/template/.claude/skills/brief/SKILL.md +93 -92
- package/template/.claude/skills/check/SKILL.md +96 -76
- package/template/.claude/skills/ci/SKILL.md +140 -61
- package/template/.claude/skills/complete/SKILL.md +156 -101
- package/template/.claude/skills/convert-any-to-md/SKILL.md +2 -2
- package/template/.claude/skills/convert-any-to-md/references/setup.md +29 -0
- package/template/.claude/skills/convert-any-to-md/scripts/convert_any_to_md.py +487 -0
- package/template/.claude/skills/convert-any-to-md/scripts/requirements.txt +3 -0
- package/template/.claude/skills/debug/SKILL.md +124 -49
- package/template/.claude/skills/devflow/SKILL.md +9 -3
- package/template/.claude/skills/discovery/SKILL.md +150 -129
- package/template/.claude/skills/doctor/SKILL.md +195 -72
- package/template/.claude/skills/feature/SKILL.md +195 -151
- package/template/.claude/skills/fix/SKILL.md +41 -90
- package/template/.claude/skills/idea/SKILL.md +2 -2
- package/template/.claude/skills/implement/SKILL.md +189 -46
- package/template/.claude/skills/onboard/SKILL.md +216 -85
- package/template/.claude/skills/overview/SKILL.md +44 -29
- package/template/.claude/skills/prototype/SKILL.md +82 -27
- package/template/.claude/skills/release/SKILL.md +119 -130
- package/template/.claude/skills/report-html/SKILL.md +2 -2
- package/template/.claude/skills/rollback/SKILL.md +123 -77
- package/template/.claude/skills/status/SKILL.md +109 -0
- package/template/.claude/skills/test/SKILL.md +2 -2
- package/template/.claude/skills/tests/SKILL.md +126 -0
- package/template/.claude/skills/try/SKILL.md +77 -65
- package/template/AGENTS.md +2 -1
- package/template/devflow/build-plan.md +50 -20
- package/template/devflow/history/features/README.md +5 -0
- package/template/devflow/history/fixes/README.md +5 -0
- package/template/devflow/history/rollbacks/README.md +5 -0
- package/template/devflow/project-plan.md +70 -18
- package/template/devflow/reference/studio.html +504 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: overview
|
|
3
|
-
description: "[
|
|
3
|
+
description: "[devflow][B] Distill user-owned planning docs into `devflow/context/project-overview.md` using a deterministic compiler. The overview is the living source of truth that agents read every session."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# overview - dynamic project overview compiler
|
|
@@ -14,31 +14,34 @@ project-plan.md + build-plan.md + history + codebase signals
|
|
|
14
14
|
-> /feature / fix / check / complete
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
`/overview`
|
|
18
|
-
`devflow/context/project-overview.md` artifact.
|
|
17
|
+
`/overview` updates the living context from planning documents and runtime signals.
|
|
19
18
|
|
|
20
19
|
## Input
|
|
21
20
|
|
|
22
|
-
- `devflow/project-plan.md` -
|
|
23
|
-
- `devflow/build-plan.md` -
|
|
24
|
-
- `devflow/history/HISTORY.md` -
|
|
25
|
-
- `devflow/ideas.md` - backlog pulse
|
|
26
|
-
- `package.json` (if
|
|
21
|
+
- `devflow/project-plan.md` - Product vision, users, stack, constraints, roadmap
|
|
22
|
+
- `devflow/build-plan.md` - Ordered checkbox feature queue
|
|
23
|
+
- `devflow/history/HISTORY.md` - Shipped capability context
|
|
24
|
+
- `devflow/ideas.md` - Current idea pressure and backlog pulse
|
|
25
|
+
- `package.json` (if present) - Verified commands and language/tooling signals
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
If either primary plan file is missing or still placeholder-only, stop and ask for
|
|
28
|
+
actual planning content first.
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
## Step 1 - read and validate planning docs
|
|
31
31
|
|
|
32
|
-
1. Read `project-plan.md` and `build-plan.md`.
|
|
33
|
-
2. Validate
|
|
34
|
-
- checkbox list in `
|
|
35
|
-
- feature-sized
|
|
36
|
-
-
|
|
32
|
+
1. Read `devflow/project-plan.md` and `devflow/build-plan.md`.
|
|
33
|
+
2. Validate shape:
|
|
34
|
+
- `build-plan.md` must be a checkbox list in tracked order (`- [ ]`, `- [x]`).
|
|
35
|
+
- plan items must be feature-sized and executable by `/feature`.
|
|
36
|
+
- unresolved feature mismatch between plan and overview is reported in the final note.
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
pause for user approval before normalizing and writing.
|
|
38
|
+
### Stub plan hard-stop (existing contract)
|
|
40
39
|
|
|
41
|
-
|
|
40
|
+
- If `build-plan.md` is still a template stub but `project-plan.md` contains real features,
|
|
41
|
+
**do not** generate a fake overview from `project-plan.md` alone.
|
|
42
|
+
- Offer normalization first, then ask for approval before writing.
|
|
43
|
+
|
|
44
|
+
## Step 2 - compile overview payload
|
|
42
45
|
|
|
43
46
|
Run:
|
|
44
47
|
|
|
@@ -46,20 +49,32 @@ Run:
|
|
|
46
49
|
npm run overview
|
|
47
50
|
```
|
|
48
51
|
|
|
49
|
-
The
|
|
50
|
-
|
|
52
|
+
The compiler writes:
|
|
53
|
+
|
|
54
|
+
- purpose + architecture summary (from `project-plan.md`)
|
|
55
|
+
- ordered queue (from `build-plan.md`)
|
|
56
|
+
- shipped features snapshot (from `devflow/history/HISTORY.md`)
|
|
57
|
+
- idea status and backlog pulse (from `devflow/ideas.md`)
|
|
58
|
+
- stack/tooling context (from project root signals)
|
|
59
|
+
|
|
60
|
+
The generated output follows `devflow/reference/project-overview-template.md`.
|
|
51
61
|
|
|
52
|
-
|
|
62
|
+
## Step 3 - output and report
|
|
53
63
|
|
|
54
|
-
|
|
64
|
+
After compilation:
|
|
55
65
|
|
|
56
|
-
- sections
|
|
57
|
-
-
|
|
58
|
-
-
|
|
66
|
+
- report what changed in structure and which sections are now `TODO`
|
|
67
|
+
- list conflicts or unresolved questions between the two plans
|
|
68
|
+
- suggest `/feature` as the next action when the queue is ready
|
|
59
69
|
|
|
60
70
|
## Rules
|
|
61
71
|
|
|
62
|
-
-
|
|
63
|
-
- Do not invent
|
|
64
|
-
-
|
|
65
|
-
- Re-run whenever
|
|
72
|
+
- `project-overview.md` is generated, not authored manually.
|
|
73
|
+
- Do not invent features, data models, or stack claims not sourced from inputs.
|
|
74
|
+
- Keep user-owned plans intact unless the user explicitly approved normalization.
|
|
75
|
+
- Re-run `/overview` whenever plan docs or shipped-history change materially.
|
|
76
|
+
|
|
77
|
+
## Formatting
|
|
78
|
+
|
|
79
|
+
- Use concise lists and tables for matrices.
|
|
80
|
+
- Follow `devflow/context/ai-interaction.md` language and tone conventions.
|
|
@@ -1,44 +1,99 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prototype
|
|
3
|
-
description: "[
|
|
4
|
-
disable-model-invocation: true
|
|
3
|
+
description: "[devflow][B] Interactively prototype the look of a project. Asks about the desired look and feel and which pages to draft, proposes a plan, and only then writes throwaway static HTML/CSS mockups to prototypes/ that share one theme (a set of CSS theme variables). A plan-first, pre-build helper that sits outside the spec-driven feature loop, like scaffolding. Use when the user runs /prototype, names screens to mock up, or asks to prototype the layout, theme, or look and feel."
|
|
5
4
|
---
|
|
6
5
|
|
|
7
|
-
#
|
|
6
|
+
# prototype - lock the look before you build
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
Where this sits in the workflow:
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
plan -> /overview -> [prototype] -> /feature -> build
|
|
11
|
+
(you (project- (lock the (one spec (real
|
|
12
|
+
write) overview.md) look) at a time) code)
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
Prototyping is a pre-build step, not a feature. It's fast, visual, and throwaway.
|
|
15
|
+
Its one durable output is the theme: a set of CSS theme variables that port into
|
|
16
|
+
the real app's `globals.css` `@theme` when you build the first UI feature.
|
|
17
|
+
Everything else here gets discarded.
|
|
14
18
|
|
|
15
|
-
|
|
19
|
+
**This skill is plan-first.** Gather the look and the page list, agree on a plan,
|
|
20
|
+
and only then write any files. Never generate mockups before the user approves.
|
|
16
21
|
|
|
17
|
-
|
|
18
|
-
- **UI prototype**: use when the question is about interaction, visual hierarchy, layout, or user flow.
|
|
22
|
+
## Step 1 - read what the plan already says
|
|
19
23
|
|
|
20
|
-
|
|
24
|
+
Pull the stated look and feel and the screen/route list from
|
|
25
|
+
`devflow/context/project-overview.md` (its UI/UX section); fall back to the UI/UX section
|
|
26
|
+
of `devflow/project-plan.md` if the overview isn't generated yet. Use this
|
|
27
|
+
as the starting point, so you're refining the user's intent, not asking from
|
|
28
|
+
scratch.
|
|
21
29
|
|
|
22
|
-
##
|
|
30
|
+
## Step 2 - ask about the look and the pages
|
|
23
31
|
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
- Avoid persistence unless the question is specifically about persistence.
|
|
28
|
-
- Skip polish, broad error handling, and abstractions.
|
|
29
|
-
- Show state clearly after each action or variant switch.
|
|
30
|
-
- Delete, absorb, or explicitly mark the prototype after it answers the question.
|
|
32
|
+
Work in plan mode. Ask the user a short set of questions (use the current tool's
|
|
33
|
+
short user-input prompt for discrete choices when available), seeded with what
|
|
34
|
+
the plan already says:
|
|
31
35
|
|
|
32
|
-
|
|
36
|
+
- **Look and feel** - confirm or adjust the vibe (light/dark, minimal/rich,
|
|
37
|
+
density, editor-like, and so on), and ask for any reference apps or sites they
|
|
38
|
+
want it to feel like.
|
|
39
|
+
- **Color and type** - any accent color or font direction (for example,
|
|
40
|
+
mono-forward for code).
|
|
41
|
+
- **Which pages** - which screens to draft now. Default to the key routes from the
|
|
42
|
+
plan; let the user add, drop, or reorder. Lean to a few, not every screen.
|
|
33
43
|
|
|
34
|
-
The
|
|
44
|
+
Keep it short. The user's answers, plus the plan, are the brief for the mockups.
|
|
35
45
|
|
|
36
|
-
|
|
46
|
+
## Step 3 - propose the plan, then wait
|
|
37
47
|
|
|
38
|
-
|
|
39
|
-
- prototype path and command
|
|
40
|
-
- what was learned
|
|
41
|
-
- decision or remaining uncertainty
|
|
42
|
-
- next DevFlow route
|
|
48
|
+
Present a short plan and stop for approval:
|
|
43
49
|
|
|
44
|
-
|
|
50
|
+
- the theme direction in a sentence or two (the vibe, accent, fonts), and
|
|
51
|
+
- the list of screens you'll mock, one line each on what each will show (the real
|
|
52
|
+
states that exercise the theme, not empty shells).
|
|
53
|
+
|
|
54
|
+
Write nothing until the user approves. Adjust the plan if they push back.
|
|
55
|
+
|
|
56
|
+
## Step 4 - lock one theme
|
|
57
|
+
|
|
58
|
+
Once approved, write a single shared `prototypes/theme.css` that defines the theme
|
|
59
|
+
as CSS variables, following `reference/theme-variables.css`: surfaces, text,
|
|
60
|
+
accent, any component-specific states, font stacks, and a small scale. Derive the
|
|
61
|
+
values from the agreed brief.
|
|
62
|
+
|
|
63
|
+
This file is the deliverable. Keep it the single source of the theme, so tweaking
|
|
64
|
+
it restyles every mockup at once.
|
|
65
|
+
|
|
66
|
+
## Step 5 - mock each screen
|
|
67
|
+
|
|
68
|
+
For each approved screen, write a self-contained `prototypes/<screen>.html` that
|
|
69
|
+
links `theme.css` and lays out that screen with realistic dummy content and the
|
|
70
|
+
states that matter (a typing page mid-type with correct/wrong/pending chars and a
|
|
71
|
+
caret; a dashboard with believable stats and history rows; and so on).
|
|
72
|
+
|
|
73
|
+
- Plain HTML + CSS only. No framework, no build step. A few lines of inline JS for
|
|
74
|
+
a view toggle is fine; nothing more.
|
|
75
|
+
- Pull every color, font, and spacing value from the `theme.css` variables, never
|
|
76
|
+
hard-coded. That's what keeps the look consistent and portable.
|
|
77
|
+
- Realistic placeholder content over lorem ipsum. Desktop-first is enough.
|
|
78
|
+
|
|
79
|
+
## Then stop
|
|
80
|
+
|
|
81
|
+
Tell the user to open the files in a browser and iterate on the look. Point them
|
|
82
|
+
at the concrete next step: run `/feature` on the first UI feature - it detects
|
|
83
|
+
`prototypes/`, links these mockups as the spec's Design reference, and makes
|
|
84
|
+
porting `theme.css` into the app's `@theme` its first build step. When the theme
|
|
85
|
+
feels right the tokens carry into the real stylesheet; the HTML mockups are
|
|
86
|
+
reference and get discarded at that feature's `/complete`.
|
|
87
|
+
|
|
88
|
+
**Commit `prototypes/`, do not ignore it.** `theme.css` is the durable output and
|
|
89
|
+
until it is ported it lives nowhere else, and the mockups are the build reference
|
|
90
|
+
the next feature needs - both must survive a context clear or a switch between
|
|
91
|
+
machines. So do not add `prototypes/` to `.gitignore`; it is short-lived in git
|
|
92
|
+
(born here, discarded at the first UI feature's `/complete`), not throwaway that
|
|
93
|
+
never lands. This skill locks the look, it does not build the app.
|
|
94
|
+
|
|
95
|
+
## Formatting
|
|
96
|
+
|
|
97
|
+
Format the output to match the project's conventions in
|
|
98
|
+
`devflow/context/ai-interaction.md`: concise, scannable markdown, with lists for
|
|
99
|
+
enumerations and tables for matrices rather than dense paragraphs.
|
|
@@ -1,171 +1,160 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: release
|
|
3
|
-
description: "Prepare a
|
|
4
|
-
argument-hint: "[render | vercel | check | config]"
|
|
3
|
+
description: "[devflow][B] Prepare a Blueprint project for deployment to Render or Vercel. Reads the plans, project commands, app config, and current repo state; verifies build, start, output, env, health checks, and provider config; can create or update render.yaml or vercel.json when requested; and stops before any external deploy, service creation, remote env change, push, publish, or destructive action unless the user explicitly approves. Use when the user runs /release, invokes $release, asks for Render setup, Vercel setup, deploy readiness, deployment config, render.yaml, or vercel.json."
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# release - deployment readiness for Render and Vercel
|
|
8
7
|
|
|
9
8
|
Where this sits in the workflow:
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
readiness)
|
|
15
|
-
```
|
|
10
|
+
/complete -> [release] -> deploy with explicit approval
|
|
11
|
+
(feature (config, (human confirms
|
|
12
|
+
finished) checks) external action)
|
|
16
13
|
|
|
17
|
-
`/release` is an optional deployment
|
|
14
|
+
`/release` is an optional deployment prep step. It gets the app ready to ship,
|
|
15
|
+
but it is not a deploy button. It can inspect, recommend, create local config
|
|
16
|
+
files, and run local checks. It must stop before any external provider action
|
|
17
|
+
unless the user gives an explicit yes in the current chat.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Initial targets:
|
|
20
20
|
|
|
21
|
-
- **Render** - static sites, web services, background workers, cron jobs,
|
|
22
|
-
|
|
21
|
+
- **Render** - static sites, web services, background workers, cron jobs, and
|
|
22
|
+
`render.yaml` when useful.
|
|
23
|
+
- **Vercel** - frontend apps, full-stack framework apps, serverless functions,
|
|
24
|
+
and `vercel.json` when useful.
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
## Input
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
Optional scope:
|
|
27
29
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
```
|
|
30
|
+
- no argument: inspect the project and recommend Render or Vercel if the target
|
|
31
|
+
is obvious; otherwise ask which target to prepare
|
|
32
|
+
- `render`: prepare Render readiness and config
|
|
33
|
+
- `vercel`: prepare Vercel readiness and config
|
|
34
|
+
- `check`: read-only deployment readiness report
|
|
35
|
+
- `config`: focus on creating or updating local provider config files
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
If the user asks to deploy, connect a provider, create a remote service, set
|
|
38
|
+
remote env vars, push, publish, or run provider commands that affect a remote,
|
|
39
|
+
pause and ask for explicit confirmation before doing it.
|
|
37
40
|
|
|
38
|
-
|
|
39
|
-
- `render`: prepare Render readiness and local configuration (`render.yaml`).
|
|
40
|
-
- `vercel`: prepare Vercel readiness and local configuration (`vercel.json`).
|
|
41
|
-
- `check`: read-only deployment readiness report (runs local checks without changing files).
|
|
42
|
-
- `config`: focus on creating or updating local provider configuration files.
|
|
41
|
+
## Step 1 - read the project
|
|
43
42
|
|
|
44
|
-
|
|
45
|
-
> **Strict Safety Gate**: If the user asks to deploy, connect a cloud provider, create a remote service, set remote env vars, push, publish, or run CLI commands that affect a remote infrastructure, pause and request explicit user confirmation before executing.
|
|
43
|
+
Read:
|
|
46
44
|
|
|
47
|
-
|
|
45
|
+
- `AGENTS.md`
|
|
46
|
+
- `devflow/project-plan.md`
|
|
47
|
+
- `devflow/build-plan.md`
|
|
48
|
+
- `devflow/context/project-overview.md`
|
|
49
|
+
- `devflow/context/current-feature.md`
|
|
50
|
+
- package or build files such as `package.json`, lockfiles, framework config,
|
|
51
|
+
Dockerfile, `render.yaml`, `vercel.json`, `.env.example`, and README files
|
|
52
|
+
- git branch and working tree status
|
|
48
53
|
|
|
49
|
-
|
|
54
|
+
Identify:
|
|
50
55
|
|
|
51
|
-
|
|
56
|
+
- app type: static frontend, SSR app, API service, worker, CLI, monorepo, or
|
|
57
|
+
hybrid
|
|
58
|
+
- build command, start command, dev command, test command, output directory, and
|
|
59
|
+
package manager
|
|
60
|
+
- runtime needs: Node version, Python version, Docker, database, cache, object
|
|
61
|
+
storage, queues, background jobs, cron, migrations, or file uploads
|
|
62
|
+
- env vars by name only; never print or write secret values
|
|
63
|
+
- health path or smoke test path
|
|
52
64
|
|
|
53
|
-
|
|
54
|
-
- `AGENTS.md` and `devflow/context/project-overview.md`
|
|
55
|
-
- `devflow/project-plan.md` and `devflow/build-plan.md` (if present)
|
|
56
|
-
- `devflow/context/current-feature.md` or recent history
|
|
57
|
-
- Package and build manifests: `package.json`, lockfiles, framework configs, Dockerfile, `render.yaml`, `vercel.json`, `.env.example`, README
|
|
58
|
-
- Git working tree status
|
|
65
|
+
## Step 2 - choose the provider shape
|
|
59
66
|
|
|
60
|
-
|
|
61
|
-
- **App Type**: static frontend, SSR/hybrid app, API service, background worker, CLI, monorepo
|
|
62
|
-
- **Commands & Output**: build command, start command, dev command, test command, output directory (`dist/`, `build/`, `.next/`, `out/`), package manager
|
|
63
|
-
- **Runtime Needs**: Node version, Python version, Docker, database, cache, object storage, background jobs, cron, migrations
|
|
64
|
-
- **Environment Variables**: identify required variables **by name only**; never print, request, or record secret values
|
|
65
|
-
- **Health / Smoke Path**: health endpoint (e.g. `/api/health`, `/healthz`, `/`) or smoke test command
|
|
67
|
+
For **Render**, decide whether the app should be:
|
|
66
68
|
|
|
67
|
-
|
|
69
|
+
- static site
|
|
70
|
+
- web service
|
|
71
|
+
- background worker
|
|
72
|
+
- cron job
|
|
73
|
+
- database paired with a service
|
|
68
74
|
|
|
69
|
-
|
|
75
|
+
For **Vercel**, decide whether the app should be:
|
|
70
76
|
|
|
71
|
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
- **Cron Job**: periodic scheduled jobs
|
|
76
|
-
- **Database**: PostgreSQL or Redis paired with a service
|
|
77
|
+
- framework deployment with auto-detected settings
|
|
78
|
+
- static output deployment
|
|
79
|
+
- serverless or edge function app
|
|
80
|
+
- monorepo project with a root directory
|
|
77
81
|
|
|
78
|
-
|
|
79
|
-
-
|
|
80
|
-
|
|
81
|
-
- **Serverless / Edge Functions**: API routes or standalone serverless functions
|
|
82
|
-
- **Monorepo Project**: root directory specification
|
|
82
|
+
If the provider is a poor fit, say that plainly and recommend the better target.
|
|
83
|
+
Examples: long-running workers usually fit Render better; a mostly frontend
|
|
84
|
+
Next.js or Astro site usually fits Vercel well.
|
|
83
85
|
|
|
84
|
-
|
|
86
|
+
## Step 3 - verify local readiness
|
|
85
87
|
|
|
86
|
-
|
|
88
|
+
Run only local, non-destructive checks that match `AGENTS.md`:
|
|
87
89
|
|
|
88
|
-
|
|
90
|
+
- install check only if dependencies are already present or the user approves an
|
|
91
|
+
install
|
|
92
|
+
- build command
|
|
93
|
+
- test command when declared
|
|
94
|
+
- preview or start command if safe, then smoke test the health path
|
|
95
|
+
- lint or typecheck only when listed in project commands or package scripts
|
|
89
96
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
2. **Build check**: run the project build command (e.g. `npm run build`).
|
|
93
|
-
3. **Test check**: run unit/integration tests when declared (e.g. `npm test`).
|
|
94
|
-
4. **Smoke test**: start local server in test mode or verify health endpoints if safe.
|
|
95
|
-
5. **Lint / Typecheck**: run typecheck/lint when listed in project scripts.
|
|
97
|
+
If a command is missing, report the gap instead of inventing certainty. If a
|
|
98
|
+
command needs secrets, list the env var names needed and skip that check.
|
|
96
99
|
|
|
97
|
-
|
|
100
|
+
## Step 4 - prepare local config
|
|
98
101
|
|
|
99
|
-
|
|
102
|
+
Only create or update local config files when the target is clear or the user
|
|
103
|
+
asked for config.
|
|
100
104
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
Only create or update local configuration files when the target is clear or requested.
|
|
104
|
-
|
|
105
|
-
#### For Render (`render.yaml`)
|
|
106
|
-
Create or update `render.yaml` for repeatable infrastructure:
|
|
107
|
-
```yaml
|
|
108
|
-
services:
|
|
109
|
-
- type: web # or static, worker, cron
|
|
110
|
-
name: my-app
|
|
111
|
-
runtime: node # or python, docker, etc.
|
|
112
|
-
buildCommand: npm run build
|
|
113
|
-
startCommand: npm run start
|
|
114
|
-
staticPublishPath: dist # for static sites
|
|
115
|
-
healthCheckPath: /api/health
|
|
116
|
-
envVars:
|
|
117
|
-
- key: NODE_ENV
|
|
118
|
-
value: production
|
|
119
|
-
- key: DATABASE_URL
|
|
120
|
-
sync: false # prompt in Render dashboard, no secret in code
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
#### For Vercel (`vercel.json`)
|
|
124
|
-
Create `vercel.json` only when default framework auto-detection is insufficient:
|
|
125
|
-
```json
|
|
126
|
-
{
|
|
127
|
-
"buildCommand": "npm run build",
|
|
128
|
-
"outputDirectory": "dist",
|
|
129
|
-
"framework": "vite",
|
|
130
|
-
"rewrites": [
|
|
131
|
-
{ "source": "/(.*)", "destination": "/" }
|
|
132
|
-
]
|
|
133
|
-
}
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
#### For Both Providers
|
|
137
|
-
- Sync `.env.example` with newly required environment variable names (with empty or dummy placeholder values).
|
|
138
|
-
- Add deployment instructions to `README.md` if requested.
|
|
139
|
-
- **Never write secret values into config files or git commits.**
|
|
105
|
+
For **Render**, prefer `render.yaml` when the app needs repeatable setup or has
|
|
106
|
+
more than one service. Include:
|
|
140
107
|
|
|
141
|
-
|
|
108
|
+
- service type
|
|
109
|
+
- build command
|
|
110
|
+
- start command for web services
|
|
111
|
+
- static publish path for static sites
|
|
112
|
+
- health check path when known
|
|
113
|
+
- env var names without values
|
|
114
|
+
- region or plan only if the user specified it
|
|
142
115
|
|
|
143
|
-
|
|
116
|
+
For **Vercel**, create `vercel.json` only when the defaults are not enough.
|
|
117
|
+
Many Vercel projects need no config file. Include:
|
|
144
118
|
|
|
145
|
-
|
|
119
|
+
- build command only when it differs from defaults
|
|
120
|
+
- output directory only when needed
|
|
121
|
+
- rewrites or headers only when the app requires them
|
|
122
|
+
- install command only when the package manager cannot be inferred
|
|
146
123
|
|
|
147
|
-
|
|
148
|
-
## 🚀 Deployment Readiness Packet
|
|
124
|
+
For both providers:
|
|
149
125
|
|
|
150
|
-
-
|
|
151
|
-
-
|
|
152
|
-
|
|
153
|
-
-
|
|
154
|
-
- Build: ✅ PASS
|
|
155
|
-
- Tests: ✅ PASS (X/X tests)
|
|
156
|
-
- Typecheck: ✅ PASS
|
|
157
|
-
- **Required Env Variables**: `DATABASE_URL`, `API_KEY` (names only)
|
|
158
|
-
- **Smoke Test Command / Path**: `/api/health`
|
|
159
|
-
- **Blockers / Warnings**: None (or list any gaps)
|
|
160
|
-
- **Next Action**: Review generated config files. When ready, deploy via Provider Dashboard or CLI.
|
|
161
|
-
```
|
|
126
|
+
- update `.env.example` with required names when useful
|
|
127
|
+
- add a short deployment note to README only if the project already has a
|
|
128
|
+
deployment section or the user asks
|
|
129
|
+
- never write secret values
|
|
162
130
|
|
|
163
|
-
|
|
131
|
+
## Step 5 - report the release packet
|
|
132
|
+
|
|
133
|
+
Finish with a concise packet:
|
|
134
|
+
|
|
135
|
+
- **Target** - Render or Vercel, and why
|
|
136
|
+
- **Shape** - static site, web service, framework app, worker, or hybrid
|
|
137
|
+
- **Config changed** - files created or edited, or "none"
|
|
138
|
+
- **Checks run** - commands and result
|
|
139
|
+
- **Env needed** - names only
|
|
140
|
+
- **Smoke test** - exact path or command to verify after deploy
|
|
141
|
+
- **Blockers** - anything that must be fixed before shipping
|
|
142
|
+
- **Next action** - exact command or provider step, stopping before external
|
|
143
|
+
action unless approved
|
|
144
|
+
|
|
145
|
+
## Rules
|
|
146
|
+
|
|
147
|
+
- Optional only. Do not add `/release` to the mandatory build loop.
|
|
148
|
+
- Do not deploy, create remote services, set remote env vars, push, publish, or
|
|
149
|
+
transmit externally without explicit approval in the current chat.
|
|
150
|
+
- Do not write secret values to files or chat.
|
|
151
|
+
- Do not hide failing builds, missing env vars, or unknown output paths.
|
|
152
|
+
- Do not add provider config if the platform defaults are better.
|
|
153
|
+
- Keep the change small. Deployment setup should not become a full DevOps
|
|
154
|
+
framework.
|
|
164
155
|
|
|
165
|
-
##
|
|
156
|
+
## Formatting
|
|
166
157
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
4. **Lean Configurations**: Do not add unnecessary configuration files if platform zero-config defaults suffice.
|
|
171
|
-
5. **No Hallucinations**: Do not mask failing local builds or unknown output directories; report failures accurately.
|
|
158
|
+
Format the output to match the project's conventions in
|
|
159
|
+
`devflow/context/ai-interaction.md`: concise, scannable markdown, with lists for
|
|
160
|
+
enumerations and tables for matrices rather than dense paragraphs.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: report-html
|
|
3
|
-
description: "[
|
|
3
|
+
description: "[devflow][B] Standalone HTML Report Generator - render an interactive standalone HTML dashboard from current-feature.md or 60-report.md on demand."
|
|
4
4
|
argument-hint: "{running-id or workspace path}"
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -42,4 +42,4 @@ Or execute the renderer to transform Markdown into a styled, standalone HTML doc
|
|
|
42
42
|
Provide:
|
|
43
43
|
- Generated HTML file path: `file:///devflow/runs/{RUNNING_ID}/report.html`
|
|
44
44
|
- Summary of sections rendered (Spec, Plan, Progress, QA Evidence, Release Notes)
|
|
45
|
-
- Instructions to open the file in any browser
|
|
45
|
+
- Instructions to open the file in any browser
|