@stylusnexus/work-plan 2026.6.15 → 2026.6.18
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 +14 -12
- package/VERSION +1 -1
- package/package.json +1 -5
- package/skills/work-plan/SKILL.md +2 -0
- package/skills/work-plan/commands/auto_triage.py +187 -35
- package/skills/work-plan/commands/batch_slot.py +58 -33
- package/skills/work-plan/commands/brief.py +29 -3
- package/skills/work-plan/commands/dedupe_tiers.py +104 -0
- package/skills/work-plan/commands/export.py +29 -4
- package/skills/work-plan/commands/handoff.py +90 -26
- package/skills/work-plan/commands/hygiene.py +24 -9
- package/skills/work-plan/commands/set_next_up.py +64 -8
- package/skills/work-plan/commands/slot.py +53 -24
- package/skills/work-plan/commands/which_repo.py +52 -0
- package/skills/work-plan/lib/cwd_repo.py +133 -0
- package/skills/work-plan/lib/drift.py +6 -1
- package/skills/work-plan/lib/export_model.py +27 -4
- package/skills/work-plan/lib/heuristic_triage.py +134 -0
- package/skills/work-plan/lib/membership_guard.py +152 -0
- package/skills/work-plan/lib/plan_worktree.py +37 -0
- package/skills/work-plan/lib/tracks.py +64 -2
- package/skills/work-plan/tests/test_auto_triage.py +103 -0
- package/skills/work-plan/tests/test_batch_slot.py +19 -2
- package/skills/work-plan/tests/test_brief_autoscope.py +126 -0
- package/skills/work-plan/tests/test_cwd_repo.py +164 -0
- package/skills/work-plan/tests/test_dedupe_tiers.py +147 -0
- package/skills/work-plan/tests/test_drift.py +32 -0
- package/skills/work-plan/tests/test_export.py +63 -0
- package/skills/work-plan/tests/test_export_command.py +56 -0
- package/skills/work-plan/tests/test_handoff_suggest_next.py +130 -0
- package/skills/work-plan/tests/test_heuristic_triage.py +114 -0
- package/skills/work-plan/tests/test_membership_guard.py +116 -0
- package/skills/work-plan/tests/test_register_which_repo.py +22 -0
- package/skills/work-plan/tests/test_set_next_up.py +95 -0
- package/skills/work-plan/tests/test_shared_rebase_guard.py +154 -0
- package/skills/work-plan/tests/test_slot.py +94 -2
- package/skills/work-plan/tests/test_slot_move.py +10 -1
- package/skills/work-plan/work_plan.py +17 -7
- package/scripts/npm-check-deps.js +0 -44
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// Postinstall check for the @stylusnexus/work-plan npm package.
|
|
3
|
-
//
|
|
4
|
-
// The work-plan CLI is pure Python and shells out to three external tools at
|
|
5
|
-
// runtime. npm can't install them (they're not npm packages), so we just check
|
|
6
|
-
// they're on PATH and print a friendly heads-up if any are missing. This NEVER
|
|
7
|
-
// fails the install — a missing tool is the user's to fix, and the CLI prints
|
|
8
|
-
// its own clear error if one is absent when actually run.
|
|
9
|
-
|
|
10
|
-
const { execSync } = require("node:child_process");
|
|
11
|
-
|
|
12
|
-
const TOOLS = [
|
|
13
|
-
{ cmd: "python3", why: "runs the CLI", hint: "https://www.python.org/downloads/ (or `brew install python`)" },
|
|
14
|
-
{ cmd: "yq", why: "parses config + frontmatter (mikefarah/yq, the Go one — NOT the python yq)", hint: "brew install yq · https://github.com/mikefarah/yq" },
|
|
15
|
-
{ cmd: "gh", why: "reads GitHub issue state", hint: "brew install gh · https://cli.github.com" },
|
|
16
|
-
];
|
|
17
|
-
|
|
18
|
-
function have(cmd) {
|
|
19
|
-
try {
|
|
20
|
-
const probe = process.platform === "win32" ? `where ${cmd}` : `command -v ${cmd}`;
|
|
21
|
-
execSync(probe, { stdio: "ignore", shell: true });
|
|
22
|
-
return true;
|
|
23
|
-
} catch {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
try {
|
|
29
|
-
const missing = TOOLS.filter((t) => !have(t.cmd));
|
|
30
|
-
if (missing.length) {
|
|
31
|
-
const lines = [
|
|
32
|
-
"",
|
|
33
|
-
" work-plan installed. It needs a few tools on your PATH that npm can't install:",
|
|
34
|
-
...missing.map((t) => ` • ${t.cmd} — ${t.why}\n ${t.hint}`),
|
|
35
|
-
"",
|
|
36
|
-
" (The CLI will tell you specifically if one is missing when you run it.)",
|
|
37
|
-
"",
|
|
38
|
-
];
|
|
39
|
-
console.warn(lines.join("\n"));
|
|
40
|
-
}
|
|
41
|
-
} catch {
|
|
42
|
-
// Never let the check itself break the install.
|
|
43
|
-
}
|
|
44
|
-
process.exit(0);
|