bigpowers 2.87.7 → 2.88.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/.agents/skills/commit-message/SKILL.md +4 -2
- package/.agents/skills/kickoff-branch/SKILL.md +12 -7
- package/.agents/skills/release-branch/SKILL.md +12 -6
- package/.agents/skills/survey-context/SKILL.md +11 -6
- package/.cline/skills/commit-message/SKILL.md +4 -2
- package/.cline/skills/kickoff-branch/SKILL.md +12 -7
- package/.cline/skills/release-branch/SKILL.md +12 -6
- package/.cline/skills/survey-context/SKILL.md +11 -6
- package/.codebuddy/skills/commit-message/SKILL.md +4 -2
- package/.codebuddy/skills/kickoff-branch/SKILL.md +12 -7
- package/.codebuddy/skills/release-branch/SKILL.md +12 -6
- package/.codebuddy/skills/survey-context/SKILL.md +11 -6
- package/.codex/skills/commit-message/SKILL.md +4 -2
- package/.codex/skills/kickoff-branch/SKILL.md +12 -7
- package/.codex/skills/release-branch/SKILL.md +12 -6
- package/.codex/skills/survey-context/SKILL.md +11 -6
- package/.copilot/skills/commit-message/SKILL.md +4 -2
- package/.copilot/skills/kickoff-branch/SKILL.md +12 -7
- package/.copilot/skills/release-branch/SKILL.md +12 -6
- package/.copilot/skills/survey-context/SKILL.md +11 -6
- package/.cursor/rules/commit-message.mdc +4 -2
- package/.cursor/rules/kickoff-branch.mdc +12 -7
- package/.cursor/rules/release-branch.mdc +12 -6
- package/.cursor/rules/survey-context.mdc +11 -6
- package/.gemini/extensions/bigpowers/commands/prompts/commit-message.md +4 -2
- package/.gemini/extensions/bigpowers/commands/prompts/kickoff-branch.md +12 -7
- package/.gemini/extensions/bigpowers/commands/prompts/release-branch.md +12 -6
- package/.gemini/extensions/bigpowers/commands/prompts/survey-context.md +11 -6
- package/.gemini/extensions/bigpowers/gemini-extension.json +1 -1
- package/.gemini/extensions/bigpowers/skills/commit-message/SKILL.md +4 -2
- package/.gemini/extensions/bigpowers/skills/kickoff-branch/SKILL.md +12 -7
- package/.gemini/extensions/bigpowers/skills/release-branch/SKILL.md +12 -6
- package/.gemini/extensions/bigpowers/skills/survey-context/SKILL.md +11 -6
- package/.hermes/skills/commit-message/SKILL.md +4 -2
- package/.hermes/skills/kickoff-branch/SKILL.md +12 -7
- package/.hermes/skills/release-branch/SKILL.md +12 -6
- package/.hermes/skills/survey-context/SKILL.md +11 -6
- package/.kilocode/rules/commit-message.md +4 -2
- package/.kilocode/rules/kickoff-branch.md +12 -7
- package/.kilocode/rules/release-branch.md +12 -6
- package/.kilocode/rules/survey-context.md +11 -6
- package/.mimocode/skills/commit-message/SKILL.md +4 -2
- package/.mimocode/skills/kickoff-branch/SKILL.md +12 -7
- package/.mimocode/skills/release-branch/SKILL.md +12 -6
- package/.mimocode/skills/survey-context/SKILL.md +11 -6
- package/.opencode/skills/commit-message/SKILL.md +4 -2
- package/.opencode/skills/kickoff-branch/SKILL.md +12 -7
- package/.opencode/skills/release-branch/SKILL.md +12 -6
- package/.opencode/skills/survey-context/SKILL.md +11 -6
- package/.pi/package.json +1 -1
- package/.pi/prompts/commit-message.md +4 -2
- package/.pi/prompts/kickoff-branch.md +12 -7
- package/.pi/prompts/release-branch.md +12 -6
- package/.pi/prompts/survey-context.md +11 -6
- package/.pi/skills/commit-message/SKILL.md +4 -2
- package/.pi/skills/kickoff-branch/SKILL.md +12 -7
- package/.pi/skills/release-branch/SKILL.md +12 -6
- package/.pi/skills/survey-context/SKILL.md +11 -6
- package/.qwen/skills/commit-message/SKILL.md +4 -2
- package/.qwen/skills/kickoff-branch/SKILL.md +12 -7
- package/.qwen/skills/release-branch/SKILL.md +12 -6
- package/.qwen/skills/survey-context/SKILL.md +11 -6
- package/.trae/skills/commit-message/SKILL.md +4 -2
- package/.trae/skills/kickoff-branch/SKILL.md +12 -7
- package/.trae/skills/release-branch/SKILL.md +12 -6
- package/.trae/skills/survey-context/SKILL.md +11 -6
- package/.windsurf/rules/commit-message.md +4 -2
- package/.windsurf/rules/kickoff-branch.md +12 -7
- package/.windsurf/rules/release-branch.md +12 -6
- package/.windsurf/rules/survey-context.md +11 -6
- package/.zcode/skills/commit-message/SKILL.md +4 -2
- package/.zcode/skills/kickoff-branch/SKILL.md +12 -7
- package/.zcode/skills/release-branch/SKILL.md +12 -6
- package/.zcode/skills/survey-context/SKILL.md +11 -6
- package/CHANGELOG.md +14 -0
- package/CONTRIBUTORS.md +48 -0
- package/README.md +27 -0
- package/SKILL-INDEX.md +1 -1
- package/bin/bigpowers.js +8 -0
- package/bin/init.js +39 -0
- package/extensions/omp-hooks.ts +406 -0
- package/hooks/pre/bash.sh +47 -0
- package/package.json +6 -1
- package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
- package/scripts/lib/__pycache__/srp_engine_links.cpython-312.pyc +0 -0
- package/scripts/lib/golden-suite-gates.sh +2 -0
- package/scripts/lib/install-helpers.js +53 -1
- package/scripts/lib/project-runtime.sh +110 -0
- package/scripts/omp-smoke.ts +82 -0
- package/scripts/test-install-helpers.js +88 -0
- package/scripts/test-project-runtime.sh +91 -0
- package/scripts/validate-omp-extension.sh +103 -0
- package/skills/commit-message/SKILL.md +4 -2
- package/skills/kickoff-branch/SKILL.md +12 -7
- package/skills/release-branch/SKILL.md +12 -6
- package/skills/survey-context/SKILL.md +11 -6
- package/skills-lock.json +5 -5
|
@@ -8,6 +8,7 @@ description: "Make the merge/PR/keep/discard decision for a feature branch, veri
|
|
|
8
8
|
<!-- story: e45s15 -->
|
|
9
9
|
<!-- story: e45s32 -->
|
|
10
10
|
<!-- story: e45s39 -->
|
|
11
|
+
<!-- story: e82s02 -->
|
|
11
12
|
<!-- story: e20s02 -->
|
|
12
13
|
|
|
13
14
|
|
|
@@ -30,7 +31,7 @@ Read `specs/state.yaml` key `workflow_mode` (`team-pr` | `solo-git`). Fall back
|
|
|
30
31
|
| **solo-local** | `workflow_mode: solo-git` | Auto: `scripts/land-branch.sh` if present, else fallback (Step 5) |
|
|
31
32
|
| **team-pr** | `workflow_mode: team-pr` (default) | `gh pr create` → `gh pr merge --squash` |
|
|
32
33
|
|
|
33
|
-
If unsure, prefer **solo-local**.
|
|
34
|
+
If unsure, prefer **solo-local**. Also read `state.yaml` `vcs.kind`: Git follows the procedures below; Jujutsu uses workspaces/bookmarks and must not call Git-only landing scripts.
|
|
34
35
|
|
|
35
36
|
## Process
|
|
36
37
|
|
|
@@ -73,16 +74,21 @@ Run `gate-trace` before merge. FAIL blocks merge; CONCERNS requires explicit ove
|
|
|
73
74
|
|
|
74
75
|
Options: **Release (solo-local)** / **Open PR** / **Keep branch** / **Discard**
|
|
75
76
|
|
|
76
|
-
### 5.
|
|
77
|
+
### 5. Integrate
|
|
77
78
|
|
|
78
|
-
Run `commit-message`
|
|
79
|
+
Run `commit-message` first. Git solo-local uses `land-branch.sh`. Jujutsu team mode explicitly advances and pushes a bookmark; `-m` is mandatory for commit/describe operations:
|
|
79
80
|
|
|
80
81
|
```bash
|
|
81
|
-
#
|
|
82
|
+
# Git solo-local
|
|
82
83
|
bash scripts/land-branch.sh <task-slug> "feat(scope): description"
|
|
83
|
-
#
|
|
84
|
+
# Jujutsu team PR
|
|
85
|
+
jj describe -m "feat(scope): description"
|
|
86
|
+
jj bookmark set <task-slug> -r @
|
|
87
|
+
jj git push -b <task-slug>
|
|
84
88
|
```
|
|
85
89
|
|
|
90
|
+
Jujutsu solo-local landing is unsupported: run `bp_require_vcs_operation "$PWD" land-branch` and stop with its remediation instead of invoking the Git backend.
|
|
91
|
+
|
|
86
92
|
### 6. Create PR (team-pr only)
|
|
87
93
|
|
|
88
94
|
Create the pull request with a **literal provenance marker** in the body so agent-generated PRs are identifiable and do not rot silently:
|
|
@@ -131,7 +137,7 @@ bash scripts/wait-for-ci.sh --timeout 600 --interval 30
|
|
|
131
137
|
|
|
132
138
|
### 8. Clean up & return
|
|
133
139
|
|
|
134
|
-
|
|
140
|
+
Git: prune worktree, delete branch, return to main. Jujutsu: `jj workspace forget <workspace>` only after integration; do not delete its bookmark implicitly. Cycle-time: see [REFERENCE.md](REFERENCE.md#cycle-time).
|
|
135
141
|
|
|
136
142
|
Report: "Branch released."
|
|
137
143
|
|
|
@@ -4,6 +4,8 @@ model: haiku
|
|
|
4
4
|
description: "Per-task context bootstrap — reads existing specs/ and tech-architecture docs to map the current lifecycle phase and suggest the next skill. Use at the start of any task, when returning after a break, or when unsure what to do next. For deriving a tech-stack doc from scratch, use map-codebase first."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
# story: e82s02
|
|
8
|
+
|
|
7
9
|
# Survey Context
|
|
8
10
|
|
|
9
11
|
Read the project's current state and give a phase map + next-skill recommendation. This is the "where am I?" skill — run it at the start of every task.
|
|
@@ -51,15 +53,18 @@ Legacy markdown (`specs/archive/STATE.md`, `RELEASE-PLAN.md`) is **not** SoT if
|
|
|
51
53
|
|
|
52
54
|
If `CLAUDE.md` exists at the project root, read it for project context (stack, commands, architecture, conventions).
|
|
53
55
|
|
|
54
|
-
### 4. Check
|
|
56
|
+
### 4. Check VCS state
|
|
57
|
+
|
|
58
|
+
Read `state.yaml` `vcs.kind` (or resolve `auto`). Use native identity:
|
|
55
59
|
|
|
56
60
|
```bash
|
|
57
|
-
|
|
58
|
-
git log --oneline -5
|
|
59
|
-
|
|
61
|
+
# Git
|
|
62
|
+
git status --short; git log --oneline -5; git branch --show-current
|
|
63
|
+
# Jujutsu
|
|
64
|
+
jj status; jj log -r 'mine() & ::@' -n 5
|
|
60
65
|
```
|
|
61
66
|
|
|
62
|
-
|
|
67
|
+
For Jujutsu, compare stable change IDs and bookmarks with the `vcs` block; never interpret colocated Git's detached HEAD as branch state.
|
|
63
68
|
|
|
64
69
|
### 5. Map the lifecycle phase
|
|
65
70
|
|
|
@@ -124,7 +129,7 @@ Loop through all `specs/epics/*/epic.yaml` files and print a summary of story co
|
|
|
124
129
|
|
|
125
130
|
### check-gates (absorbed)
|
|
126
131
|
|
|
127
|
-
Print
|
|
132
|
+
Print `active_flow`, validate YAML, then show `git status` or `jj status` according to `vcs.kind`. Use before handoffs or context transitions.
|
|
128
133
|
|
|
129
134
|
## Handoff
|
|
130
135
|
|
|
@@ -4,6 +4,8 @@ model: haiku
|
|
|
4
4
|
description: "Reviews working-tree changes, then drafts a Conventional Commits title/body and states the semantic-release version bump a single such commit would imply. Also notes which defensive-code categories were touched. Use when the user wants to commit recent work, prepare a Conventional Commits message, or asks for semantic-release / semver-consistent messaging before git commit."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
# story: e82s02
|
|
8
|
+
|
|
7
9
|
# Commit Message
|
|
8
10
|
> **HARD GATE** — **HARD GATE** — Commits must follow Conventional Commits spec (type(scope): description). Do NOT use vague messages like 'fix' or 'updates.' The message must explain the 'why,' not the 'what.'
|
|
9
11
|
|
|
@@ -15,7 +17,7 @@ description: "Reviews working-tree changes, then drafts a Conventional Commits t
|
|
|
15
17
|
|
|
16
18
|
## What "last chat" means
|
|
17
19
|
|
|
18
|
-
- **Primary source of truth:** `git status`, `git diff
|
|
20
|
+
- **Primary source of truth:** Read `state.yaml` `vcs.kind`. Git uses `git status`, `git diff`, and `git diff --cached`; Jujutsu uses `jj status`, `jj diff`, and `jj log -r @`. Run in the repo root.
|
|
19
21
|
- **Context:** use the current conversation to summarize *intent* and to spot **breaking** API/behavior changes that diff alone may not show.
|
|
20
22
|
- If the user tracks a session baseline (e.g. branch, tag, or `git stash create` at start), you may `git diff <baseline>..HEAD` plus uncommitted diffs; otherwise use only the index and working tree.
|
|
21
23
|
|
|
@@ -30,7 +32,7 @@ description: "Reviews working-tree changes, then drafts a Conventional Commits t
|
|
|
30
32
|
7. **Deliver** — Output:
|
|
31
33
|
- Proposed **full commit message** (title + optional body + footers).
|
|
32
34
|
- **Release bump** this commit would drive: `patch` | `minor` | `major` | `none`.
|
|
33
|
-
- Optional `git
|
|
35
|
+
- Optional native command: Git `git commit -m`; Jujutsu `jj commit -m`. Never omit `-m` or run destructive commands unless asked.
|
|
34
36
|
|
|
35
37
|
## Checklist before finalizing
|
|
36
38
|
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: kickoff-branch
|
|
3
3
|
model: haiku
|
|
4
|
-
description: "Create
|
|
4
|
+
description: "Create an isolated Git worktree/branch or Jujutsu workspace, then verify a clean test baseline before code. Use when starting a feature or task."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# story: e51s03
|
|
8
8
|
# story: e20s03
|
|
9
|
+
# story: e82s02
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
# Kickoff Branch
|
|
12
13
|
|
|
13
|
-
> **HARD GATE** — Direct work on `main` or
|
|
14
|
+
> **HARD GATE** — Direct Git work on `main`/`master` or reuse of an unrelated Jujutsu change is prohibited. Create a feature branch/worktree or Jujutsu workspace/change.
|
|
14
15
|
>
|
|
15
16
|
> **HARD GATE** — Do NOT proceed with development until **Preflight** passes on the default branch. Red Preflight blocks branch creation and all forward work — invoke `quick-fix` or `fix-bug` per CONVENTIONS § Discovered Defects.
|
|
16
17
|
|
|
17
|
-
Create an isolated
|
|
18
|
+
Create an isolated Git worktree or Jujutsu workspace before code. **Preflight must be green** first — solo-default owns the whole tree.
|
|
18
19
|
|
|
19
20
|
## Process
|
|
20
21
|
|
|
@@ -22,9 +23,13 @@ Create an isolated working environment before touching any code. **Preflight mus
|
|
|
22
23
|
|
|
23
24
|
Ask if not already known: "What's the name of this feature or task?" Use it as the branch name slug (kebab-case, max 40 chars).
|
|
24
25
|
|
|
25
|
-
### 2.
|
|
26
|
+
### 2. Select the VCS procedure
|
|
26
27
|
|
|
27
|
-
>
|
|
28
|
+
Read `state.yaml` `vcs.kind`. For `jj`, do not run the Git blocks below: verify with `jj status` and `jj log -r '::@' -n 5`, create isolation with `jj workspace add ../<task-slug> -r @`, then run `jj -R ../<task-slug> describe -m "feat: <task>"`. Record the new stable change ID. For `git`, continue below.
|
|
29
|
+
|
|
30
|
+
### 2a. Anchor Git on the default branch (main or master)
|
|
31
|
+
|
|
32
|
+
> **HARD GATE** — Git kickoff MUST start from an updated, clean default branch in the **primary** repository root (not a linked worktree).
|
|
28
33
|
|
|
29
34
|
```bash
|
|
30
35
|
# Detect default branch
|
|
@@ -63,7 +68,7 @@ fi
|
|
|
63
68
|
- **Non-spec dirty files** (src/, scripts/, SKILL.md, …) still enforce the full clean-tree gate.
|
|
64
69
|
- If not on `$DEFAULT` after checkout, stop and fix before continuing.
|
|
65
70
|
|
|
66
|
-
### 3.
|
|
71
|
+
### 3. Git pre-flight & conflict resolution
|
|
67
72
|
|
|
68
73
|
Before creating the worktree, verify the target environment is clean:
|
|
69
74
|
|
|
@@ -83,7 +88,7 @@ git worktree list | grep "<task-slug>"
|
|
|
83
88
|
- **Branch exists:** If the branch exists but no worktree is attached, ask to use the existing branch (`git worktree add ../<task-slug> <task-slug>`) or delete it.
|
|
84
89
|
- **Ghost worktree:** If `git worktree list` shows the path but the directory is missing, run `git worktree prune` to clear the stale metadata. `bash scripts/cleanup-worktrees.sh` does this plus reports any worktree whose branch is already merged or deleted — advisory only, it prints the `git worktree remove`/`git branch -d` commands rather than running them, so review before acting.
|
|
85
90
|
|
|
86
|
-
### 4. Create worktree + branch
|
|
91
|
+
### 4. Create Git worktree + branch
|
|
87
92
|
|
|
88
93
|
```bash
|
|
89
94
|
# From the main repo root (not another worktree)
|
|
@@ -8,6 +8,7 @@ description: "Make the merge/PR/keep/discard decision for a feature branch, veri
|
|
|
8
8
|
<!-- story: e45s15 -->
|
|
9
9
|
<!-- story: e45s32 -->
|
|
10
10
|
<!-- story: e45s39 -->
|
|
11
|
+
<!-- story: e82s02 -->
|
|
11
12
|
<!-- story: e20s02 -->
|
|
12
13
|
|
|
13
14
|
|
|
@@ -30,7 +31,7 @@ Read `specs/state.yaml` key `workflow_mode` (`team-pr` | `solo-git`). Fall back
|
|
|
30
31
|
| **solo-local** | `workflow_mode: solo-git` | Auto: `scripts/land-branch.sh` if present, else fallback (Step 5) |
|
|
31
32
|
| **team-pr** | `workflow_mode: team-pr` (default) | `gh pr create` → `gh pr merge --squash` |
|
|
32
33
|
|
|
33
|
-
If unsure, prefer **solo-local**.
|
|
34
|
+
If unsure, prefer **solo-local**. Also read `state.yaml` `vcs.kind`: Git follows the procedures below; Jujutsu uses workspaces/bookmarks and must not call Git-only landing scripts.
|
|
34
35
|
|
|
35
36
|
## Process
|
|
36
37
|
|
|
@@ -73,16 +74,21 @@ Run `gate-trace` before merge. FAIL blocks merge; CONCERNS requires explicit ove
|
|
|
73
74
|
|
|
74
75
|
Options: **Release (solo-local)** / **Open PR** / **Keep branch** / **Discard**
|
|
75
76
|
|
|
76
|
-
### 5.
|
|
77
|
+
### 5. Integrate
|
|
77
78
|
|
|
78
|
-
Run `commit-message`
|
|
79
|
+
Run `commit-message` first. Git solo-local uses `land-branch.sh`. Jujutsu team mode explicitly advances and pushes a bookmark; `-m` is mandatory for commit/describe operations:
|
|
79
80
|
|
|
80
81
|
```bash
|
|
81
|
-
#
|
|
82
|
+
# Git solo-local
|
|
82
83
|
bash scripts/land-branch.sh <task-slug> "feat(scope): description"
|
|
83
|
-
#
|
|
84
|
+
# Jujutsu team PR
|
|
85
|
+
jj describe -m "feat(scope): description"
|
|
86
|
+
jj bookmark set <task-slug> -r @
|
|
87
|
+
jj git push -b <task-slug>
|
|
84
88
|
```
|
|
85
89
|
|
|
90
|
+
Jujutsu solo-local landing is unsupported: run `bp_require_vcs_operation "$PWD" land-branch` and stop with its remediation instead of invoking the Git backend.
|
|
91
|
+
|
|
86
92
|
### 6. Create PR (team-pr only)
|
|
87
93
|
|
|
88
94
|
Create the pull request with a **literal provenance marker** in the body so agent-generated PRs are identifiable and do not rot silently:
|
|
@@ -131,7 +137,7 @@ bash scripts/wait-for-ci.sh --timeout 600 --interval 30
|
|
|
131
137
|
|
|
132
138
|
### 8. Clean up & return
|
|
133
139
|
|
|
134
|
-
|
|
140
|
+
Git: prune worktree, delete branch, return to main. Jujutsu: `jj workspace forget <workspace>` only after integration; do not delete its bookmark implicitly. Cycle-time: see [REFERENCE.md](REFERENCE.md#cycle-time).
|
|
135
141
|
|
|
136
142
|
Report: "Branch released."
|
|
137
143
|
|
|
@@ -4,6 +4,8 @@ model: haiku
|
|
|
4
4
|
description: "Per-task context bootstrap — reads existing specs/ and tech-architecture docs to map the current lifecycle phase and suggest the next skill. Use at the start of any task, when returning after a break, or when unsure what to do next. For deriving a tech-stack doc from scratch, use map-codebase first."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
# story: e82s02
|
|
8
|
+
|
|
7
9
|
# Survey Context
|
|
8
10
|
|
|
9
11
|
Read the project's current state and give a phase map + next-skill recommendation. This is the "where am I?" skill — run it at the start of every task.
|
|
@@ -51,15 +53,18 @@ Legacy markdown (`specs/archive/STATE.md`, `RELEASE-PLAN.md`) is **not** SoT if
|
|
|
51
53
|
|
|
52
54
|
If `CLAUDE.md` exists at the project root, read it for project context (stack, commands, architecture, conventions).
|
|
53
55
|
|
|
54
|
-
### 4. Check
|
|
56
|
+
### 4. Check VCS state
|
|
57
|
+
|
|
58
|
+
Read `state.yaml` `vcs.kind` (or resolve `auto`). Use native identity:
|
|
55
59
|
|
|
56
60
|
```bash
|
|
57
|
-
|
|
58
|
-
git log --oneline -5
|
|
59
|
-
|
|
61
|
+
# Git
|
|
62
|
+
git status --short; git log --oneline -5; git branch --show-current
|
|
63
|
+
# Jujutsu
|
|
64
|
+
jj status; jj log -r 'mine() & ::@' -n 5
|
|
60
65
|
```
|
|
61
66
|
|
|
62
|
-
|
|
67
|
+
For Jujutsu, compare stable change IDs and bookmarks with the `vcs` block; never interpret colocated Git's detached HEAD as branch state.
|
|
63
68
|
|
|
64
69
|
### 5. Map the lifecycle phase
|
|
65
70
|
|
|
@@ -124,7 +129,7 @@ Loop through all `specs/epics/*/epic.yaml` files and print a summary of story co
|
|
|
124
129
|
|
|
125
130
|
### check-gates (absorbed)
|
|
126
131
|
|
|
127
|
-
Print
|
|
132
|
+
Print `active_flow`, validate YAML, then show `git status` or `jj status` according to `vcs.kind`. Use before handoffs or context transitions.
|
|
128
133
|
|
|
129
134
|
## Handoff
|
|
130
135
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# [2.88.0](https://github.com/danielvm-git/bigpowers/compare/v2.87.8...v2.88.0) (2026-09-01)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **e82:** upstream fork innovations — Jujutsu VCS, OMP plugin, community credit ([#118](https://github.com/danielvm-git/bigpowers/issues/118)) ([274894f](https://github.com/danielvm-git/bigpowers/commit/274894fe794fc4db380ba4d011e05ef5b8cbd3d0))
|
|
7
|
+
|
|
8
|
+
## [2.87.8](https://github.com/danielvm-git/bigpowers/compare/v2.87.7...v2.87.8) (2026-09-01)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **cli:** bigpowers init provisions scripts/ + specs/ into consumer projects ([#117](https://github.com/danielvm-git/bigpowers/issues/117)) ([37bc0bf](https://github.com/danielvm-git/bigpowers/commit/37bc0bf72875cd66898d35138870982c8af2d310)), closes [#116](https://github.com/danielvm-git/bigpowers/issues/116) [#116](https://github.com/danielvm-git/bigpowers/issues/116) [#114](https://github.com/danielvm-git/bigpowers/issues/114) [#116](https://github.com/danielvm-git/bigpowers/issues/116) [#114](https://github.com/danielvm-git/bigpowers/issues/114)
|
|
14
|
+
|
|
1
15
|
## [2.87.7](https://github.com/danielvm-git/bigpowers/compare/v2.87.6...v2.87.7) (2026-09-01)
|
|
2
16
|
|
|
3
17
|
|
package/CONTRIBUTORS.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# story: e82s04
|
|
2
|
+
# Contributors
|
|
3
|
+
|
|
4
|
+
This file records external contributors whose work has been adapted or
|
|
5
|
+
upstreamed into bigpowers. Code authored inside this repository is committed
|
|
6
|
+
directly by [@danielvm-git](https://github.com/danielvm-git).
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Community Contributors
|
|
11
|
+
|
|
12
|
+
### Kevin Oberlies — [favilo/bigpowers](https://github.com/favilo/bigpowers)
|
|
13
|
+
|
|
14
|
+
**Contribution: Jujutsu VCS support + configurable project-runtime library (e82s01, e82s02)**
|
|
15
|
+
|
|
16
|
+
Kevin built and maintained a fork that introduced two cohesive capabilities:
|
|
17
|
+
|
|
18
|
+
1. **`scripts/lib/project-runtime.sh`** — a configurable project-settings library
|
|
19
|
+
(`bp_specs_path`, `bp_vcs_kind`) that reads from `.bigpowers/config.yaml` or
|
|
20
|
+
environment variables, with auto-detection of Jujutsu repos via `.jj/`.
|
|
21
|
+
Enables bigpowers to operate in consumer projects with non-standard specs
|
|
22
|
+
directories or VCS backends.
|
|
23
|
+
|
|
24
|
+
2. **Jujutsu-aware lifecycle skills** — updated `commit-message`, `kickoff-branch`,
|
|
25
|
+
`release-branch`, and `survey-context` to read `state.yaml` `vcs.kind` and
|
|
26
|
+
branch on native `jj` commands vs. Git, including `jj workspace add` for
|
|
27
|
+
isolation, `jj bookmark set` for releases, and colocated-repo detection.
|
|
28
|
+
|
|
29
|
+
Discovered via fork audit on 2026-09-01.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### XcluEzy7 — [XcluEzy7/bigpowers](https://github.com/XcluEzy7/bigpowers)
|
|
34
|
+
|
|
35
|
+
**Contribution: OMP plugin extension (e82s03)**
|
|
36
|
+
|
|
37
|
+
XcluEzy7 built a native [oh-my-pi](https://github.com/oh-my-pi) OMP plugin that:
|
|
38
|
+
|
|
39
|
+
- Discovers every skill in `skills/` at runtime and registers each as a slash command.
|
|
40
|
+
- Exposes a unified `bigpowers_skill` LLM tool with `list`/`get`/`run` operations.
|
|
41
|
+
- Ports bigpowers' git-safety pre-tool-use hook into OMP's `tool_call` event API,
|
|
42
|
+
blocking dangerous patterns and enforcing Conventional Commits.
|
|
43
|
+
|
|
44
|
+
The upstream port (in `extensions/omp-hooks.ts`) rebases the discovery logic onto
|
|
45
|
+
the current `skills/<name>/SKILL.md` source layout. The model-frontmatter stripping
|
|
46
|
+
and foreign AGENTS.md content from the original branch were not carried over.
|
|
47
|
+
|
|
48
|
+
Discovered via fork audit on 2026-09-01.
|
package/README.md
CHANGED
|
@@ -216,6 +216,25 @@ pi install .
|
|
|
216
216
|
pi install npm:bigpowers
|
|
217
217
|
```
|
|
218
218
|
|
|
219
|
+
### Provision a consumer project (`bigpowers init`)
|
|
220
|
+
|
|
221
|
+
pi's package contract registers **skills and prompts only** — it has no resource
|
|
222
|
+
type for arbitrary project files, and no lifecycle script runs on install. Skills
|
|
223
|
+
reference the package's `scripts/*.sh` tooling project-relative (e.g.
|
|
224
|
+
`bash scripts/run-skill-verify.sh`, verify gates like `test -f scripts/... &&
|
|
225
|
+
test -d specs/bugs`), so after installing the package, run **one command per
|
|
226
|
+
consumer project** to provision what the skills expect:
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
cd <your-project>
|
|
230
|
+
npx bigpowers init # or: bigpowers init
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
This symlinks `<project>/scripts` → the installed package's `scripts/` tree and
|
|
234
|
+
scaffolds `specs/bugs/` + `specs/verifications/`. It refuses (never clobbers) a
|
|
235
|
+
`scripts/` you already own; `bigpowers init --remove` undoes it. The same step
|
|
236
|
+
applies to `npm i -g bigpowers` / `npx bigpowers setup` consumers.
|
|
237
|
+
|
|
219
238
|
**What you get:**
|
|
220
239
|
- **pi skills** in `.pi/skills/` (one per SKILL.md) — loaded automatically into pi's system prompt as `<available_skills>`
|
|
221
240
|
- **pi prompt templates** in `.pi/prompts/` — slash commands like `/survey-context`, `/plan-work`
|
|
@@ -366,6 +385,14 @@ This project is a synthesis of decades of software engineering thought. It would
|
|
|
366
385
|
- **Jarek Wasowski** for identifying Spec-Driven Development (SDD) as the missing link for AI agents.
|
|
367
386
|
- **AkitaOnRails** for adapting classical clean code principles to the reality of the AI token economy.
|
|
368
387
|
|
|
388
|
+
### Community Contributors
|
|
389
|
+
|
|
390
|
+
bigpowers has been shaped by contributors who extended it in their own forks.
|
|
391
|
+
See [CONTRIBUTORS.md](CONTRIBUTORS.md) for the full list.
|
|
392
|
+
|
|
393
|
+
- **[Kevin Oberlies (favilo)](https://github.com/favilo/bigpowers)** — Jujutsu VCS support across lifecycle skills + `project-runtime.sh` configurable settings library.
|
|
394
|
+
- **[XcluEzy7](https://github.com/XcluEzy7/bigpowers)** — OMP plugin extension (`extensions/omp-hooks.ts`): native skill discovery, slash commands, and git-safety hooks for the oh-my-pi runtime.
|
|
395
|
+
|
|
369
396
|
---
|
|
370
397
|
|
|
371
398
|
## 📄 License
|
package/SKILL-INDEX.md
CHANGED
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
| 31 | Build | `extract-design` | "Extract a Google DESIGN.md file from an HTML prototype (claude.ai/design or any | ✅ Active |
|
|
60
60
|
| 32 | Build | `guard-git` | Block dangerous git commands (push, force push, reset --hard, clean, branch -D, | ✅ Active |
|
|
61
61
|
| 33 | Build | `hook-commits` | Set up pre-commit hooks with lint-staged (Prettier), type checking, and tests in | ✅ Active |
|
|
62
|
-
| 34 | Build | `kickoff-branch` | Create
|
|
62
|
+
| 34 | Build | `kickoff-branch` | Create an isolated Git worktree/branch or Jujutsu workspace, then verify a clean | ✅ Active |
|
|
63
63
|
| 35 | Build | `orchestrate-project` | Meta-skill that enforces the 6-phase core loop (discover → elaborate → plan | ✅ Active |
|
|
64
64
|
| 36 | Build | `publish-package` | "Package registry publishing for npm, crates.io, PyPI, and Homebrew. Verifies pr | ✅ Active |
|
|
65
65
|
| 37 | Build | `quick-fix` | "Streamlined fast-path for trivial data-only fixes — no TDD, no branching cere | ✅ Active |
|
package/bin/bigpowers.js
CHANGED
|
@@ -75,6 +75,13 @@ if (cmd === 'setup' || cmd === 'install') {
|
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
+
if (cmd === 'init') {
|
|
79
|
+
// Provision the CURRENT project (cwd): scripts/ link + specs/ scaffolding (#116)
|
|
80
|
+
const initScript = path.join(ROOT, 'bin', 'init.js');
|
|
81
|
+
require(initScript);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
|
|
78
85
|
if (cmd === 'update') {
|
|
79
86
|
// Pull the newest release first (global installs), then re-sync + refresh symlinks.
|
|
80
87
|
selfUpdateGlobalPackage();
|
|
@@ -106,6 +113,7 @@ bigpowers — agent skills for spec-driven, test-first development
|
|
|
106
113
|
|
|
107
114
|
Commands:
|
|
108
115
|
bigpowers setup Install skills into ~/.claude/skills/
|
|
116
|
+
bigpowers init Provision the CURRENT project: scripts/ link + specs/ scaffolding (run per project)
|
|
109
117
|
bigpowers update Fetch the latest release (global installs) + re-sync and refresh symlinks
|
|
110
118
|
bigpowers status Show installed version and skill count (warns if a newer release exists)
|
|
111
119
|
bigpowers help This message
|
package/bin/init.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// bigpowers init — provision the CURRENT project (cwd) for skill tooling.
|
|
3
|
+
// story: BUG-2026-08-31-pi-scripts-provisioning (#116)
|
|
4
|
+
//
|
|
5
|
+
// Package installs (pi install npm:bigpowers, npm i -g, npx) register skills
|
|
6
|
+
// but never provision a project-local scripts/ tree — pi's package contract
|
|
7
|
+
// has no resource type for project files and no lifecycle script runs — so
|
|
8
|
+
// SKILL.md commands (`bash scripts/*.sh`) and `→ verify:` gates fail in every
|
|
9
|
+
// consumer project. `bigpowers init` (or `npx bigpowers init`) links the
|
|
10
|
+
// package's scripts/ into the project and scaffolds specs/{bugs,verifications}.
|
|
11
|
+
|
|
12
|
+
'use strict';
|
|
13
|
+
|
|
14
|
+
const path = require('path');
|
|
15
|
+
|
|
16
|
+
const ROOT = path.dirname(path.dirname(__filename));
|
|
17
|
+
const { initProject, initProjectRemove } = require('../scripts/lib/install-helpers.js');
|
|
18
|
+
|
|
19
|
+
if (process.argv.includes('--remove')) {
|
|
20
|
+
initProjectRemove(ROOT);
|
|
21
|
+
console.log('bigpowers init --remove: removed the managed scripts/ link');
|
|
22
|
+
console.log(' (and specs/ scaffolding dirs only where untouched).');
|
|
23
|
+
process.exit(0);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
try {
|
|
27
|
+
const result = initProject(ROOT);
|
|
28
|
+
if (result.skipped === 'cwd-is-package') {
|
|
29
|
+
console.log('bigpowers init: already inside the bigpowers package — nothing to provision.');
|
|
30
|
+
} else {
|
|
31
|
+
console.log('bigpowers init: linked scripts/ → package scripts tree.');
|
|
32
|
+
console.log('bigpowers init: ensured specs/bugs/ + specs/verifications/ scaffolding.');
|
|
33
|
+
console.log('Skill commands and verify gates (fix-bug, verify-work, wire-ci, …) now resolve here.');
|
|
34
|
+
}
|
|
35
|
+
} catch (e) {
|
|
36
|
+
// e.g. Refusing to replace a user-owned scripts/ — surface it, don't stack-trace.
|
|
37
|
+
console.error(`bigpowers init: ${e.message}`);
|
|
38
|
+
process.exit(1);
|
|
39
|
+
}
|