gigaplan 0.1.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.
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: gigaplan
3
+ description: Turn an implementation plan, design doc, or multi-step technical proposal into a browser-based review page instead of pasting it into chat as prose or asking the user to read it in the terminal — numbered collapsible sections, per-step inline comments, a review-coverage sidebar, and a finish-your-review panel that returns a structured verdict (approve / approve with comments / request changes) via CLI polling, so the plan can be revised and re-reviewed in a loop until approved. Use this whenever about to hand a plan back for review — finishing plan-mode output, proposing a migration or refactor, or any change with more than a couple of steps — even if the user never asked for a "review tool" by name. Always write the plan as plain Markdown first, never HTML; gigaplan does all the rendering and theming itself.
4
+ user-invocable: true
5
+ ---
6
+
7
+ gigaplan is a local, single-purpose review tool: it takes a plan written in plain
8
+ Markdown and opens it in the user's browser as a themed review page — each `##`
9
+ section gets a number, a collapse toggle, and a "Reviewed" checkbox; every
10
+ paragraph, list item, code fence, and heading is individually commentable; a
11
+ sidebar tracks review coverage and lists every comment left so far; and a
12
+ "Finish your review" panel collects an overall comment plus a verdict (Approve /
13
+ Request changes) before submitting.
14
+
15
+ The hard rule: never hand-author HTML for a plan, even if it would look nicer.
16
+ All HTML, CSS, and interactivity are gigaplan's own code, written once — that's
17
+ what keeps a review cheap in tokens for the agent and pleasant to read for the
18
+ reviewer. If the task is a diagram, a comparison, or some other visual artifact
19
+ that isn't a plan under review, use whatever general-purpose artifact tooling
20
+ the project has instead — gigaplan only knows how to render and review plans.
21
+
22
+ ## Workflow
23
+
24
+ 1. **Write the plan as a plain `.md` file.** Prefer `.gigaplan/plans/<slug>.md`
25
+ inside the project being worked on (see "Plan file conventions" below). Use
26
+ real Markdown structure — a `##` heading per step, bullet or numbered lists
27
+ for details — since gigaplan turns each `##` into its own reviewable section
28
+ and anchors comments individually to every heading, paragraph, list item,
29
+ code fence, and table; a plan that's one giant paragraph gives the reviewer
30
+ nothing specific to comment on.
31
+ 2. **Open it for review:** run `npx -y gigaplan review <path-to-plan.md>`. This
32
+ opens (or reuses) a browser tab. Tell the user in one short sentence that the
33
+ plan is open for review in their browser — do not restate the plan's content
34
+ in chat; the browser page is the plan.
35
+ 3. **Wait for the review:** run `npx -y gigaplan poll <path-to-plan.md>`. This
36
+ blocks until the user submits a review. Just call it and wait; don't do other
37
+ work in the meantime.
38
+ 4. **Read the verdict.**
39
+ - If `approved` and there are no comments (or only informational ones),
40
+ proceed to implementation and run `npx -y gigaplan end <path-to-plan.md>`.
41
+ - Otherwise (`request changes`, or any unresolved comments even under
42
+ `approved`), revise the plan file **in place at the same path** —
43
+ address every comment, don't silently drop any — then go back to step 2.
44
+ Re-running `review` on the same path reopens the same browser tab rather
45
+ than opening a new one, and the tab live-reloads as soon as the file is
46
+ saved.
47
+ 5. **Repeat** steps 2-4 until approved.
48
+
49
+ ## Plan file conventions
50
+
51
+ gigaplan itself is path-agnostic — it takes whatever path is passed — but prefer
52
+ `.gigaplan/plans/<slug>.md` inside the target project, not some other
53
+ agent-internal plan/scratch file (an editor's own "plan mode" output, a
54
+ temp-file convention, etc.) that this skill shouldn't assume is active or
55
+ stable across a revise-and-reloop cycle.
56
+ Edit the **same file in place** across loop iterations — not `plan-v2.md`,
57
+ `plan-v3.md`, ... — since the review session is keyed by the file's path; a new
58
+ path means a new, unrelated session.
59
+
60
+ ## Commands & rules
61
+
62
+ ```
63
+ gigaplan review <path> Open (or reuse) the browser review session for this plan file.
64
+ Prints "Opened for review: <url>" on success.
65
+
66
+ gigaplan poll <path> Block until a review is submitted; print it as compact markdown:
67
+
68
+ # Review: <approved|request changes>
69
+
70
+ ## Overall comment
71
+ <text, or "(none)">
72
+
73
+ ## Comments
74
+ ### On "<heading breadcrumb>"
75
+ <comment body>
76
+ [repeated per comment; the whole "## Comments" section is omitted if there are none]
77
+
78
+ gigaplan end <path> Mark the review session done. Does not stop the shared
79
+ local server (it shuts itself down after a period of
80
+ inactivity independent of any single session).
81
+ ```
82
+
83
+ - All three commands take the plan file's path as their only argument; no other
84
+ flags are needed for the core loop.
85
+ - Every command runs via `npx -y gigaplan ...` — no global install required.
86
+ - If a comment is flagged as being on content that changed since it was written
87
+ (the plan was edited again before the comment was addressed), treat it as
88
+ still applying to the *current* version of that section unless the comment
89
+ itself is now clearly moot.
90
+
91
+ ## What this is not
92
+
93
+ Not for trivial one-line changes, a plan that's already been approved, or
94
+ non-plan content (a diagram, a comparison table, a general HTML artifact).
95
+ gigaplan is a plan reviewer, not a general HTML artifact tool, a diagramming
96
+ tool, or a way to render arbitrary content in a browser — don't reach for it
97
+ just because it opens a browser tab.