bigpowers 2.34.1 → 2.35.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/.pi/package.json +2 -2
- package/.pi/prompts/deploy.md +53 -28
- package/.pi/prompts/develop-tdd.md +5 -80
- package/.pi/prompts/migrate-spec.md +273 -197
- package/.pi/prompts/publish-package.md +125 -67
- package/.pi/prompts/release-branch.md +85 -69
- package/.pi/prompts/security-review.md +323 -0
- package/.pi/prompts/smoke-test.md +98 -58
- package/.pi/prompts/using-bigpowers.md +2 -2
- package/.pi/prompts/validate-contracts.md +169 -54
- package/.pi/prompts/wire-ci.md +147 -89
- package/.pi/skills/deploy/SKILL.md +53 -28
- package/.pi/skills/develop-tdd/SKILL.md +5 -80
- package/.pi/skills/migrate-spec/SKILL.md +273 -197
- package/.pi/skills/publish-package/SKILL.md +125 -67
- package/.pi/skills/release-branch/SKILL.md +85 -69
- package/.pi/skills/security-review/SKILL.md +324 -0
- package/.pi/skills/smoke-test/SKILL.md +98 -58
- package/.pi/skills/using-bigpowers/SKILL.md +2 -2
- package/.pi/skills/validate-contracts/SKILL.md +169 -54
- package/.pi/skills/wire-ci/SKILL.md +147 -89
- package/CHANGELOG.md +14 -0
- package/README.md +4 -4
- package/SKILL-INDEX.md +2 -2
- package/deploy/REFERENCE.md +82 -0
- package/deploy/SKILL.md +3 -63
- package/develop-tdd/SKILL.md +5 -80
- package/migrate-spec/REFERENCE.md +268 -0
- package/migrate-spec/SKILL.md +5 -199
- package/package.json +2 -2
- package/publish-package/REFERENCE.md +239 -0
- package/publish-package/SKILL.md +8 -192
- package/release-branch/REFERENCE.md +83 -0
- package/release-branch/SKILL.md +2 -69
- package/scripts/generate-reference-tables.sh +1 -0
- package/scripts/sync-skills.sh +4 -1
- package/security-review/REFERENCE-confidence-rubric.md +85 -0
- package/security-review/REFERENCE-false-positives.md +68 -0
- package/security-review/REFERENCE-vuln-categories.md +103 -0
- package/security-review/SKILL.md +63 -0
- package/skills-lock.json +14 -9
- package/smoke-test/REFERENCE.md +162 -0
- package/smoke-test/SKILL.md +5 -130
- package/using-bigpowers/SKILL.md +2 -2
- package/validate-contracts/REFERENCE.md +183 -0
- package/validate-contracts/SKILL.md +6 -77
- package/wire-ci/REFERENCE.md +257 -0
- package/wire-ci/SKILL.md +8 -210
package/.pi/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bigpowers",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.35.0",
|
|
4
|
+
"description": "71 skills — 70 agent skills for spec-driven, test-first software development by solo developers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package"
|
|
7
7
|
],
|
package/.pi/prompts/deploy.md
CHANGED
|
@@ -86,6 +86,53 @@ exit 1
|
|
|
86
86
|
|
|
87
87
|
After invoking the deploy command, poll for completion:
|
|
88
88
|
|
|
89
|
+
See [REFERENCE.md](REFERENCE.md)
|
|
90
|
+
|
|
91
|
+
Use exponential backoff for retries on transient failures:
|
|
92
|
+
|
|
93
|
+
See [REFERENCE.md](REFERENCE.md)
|
|
94
|
+
|
|
95
|
+
### 6. Baseline smoke test
|
|
96
|
+
|
|
97
|
+
See [REFERENCE.md](REFERENCE.md)
|
|
98
|
+
|
|
99
|
+
For comprehensive health-checking, chain to the `smoke-test` skill:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# After deploy success
|
|
103
|
+
bash scripts/run-smoke.sh "$DEPLOY_URL"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
# Deploy — Reference
|
|
109
|
+
|
|
110
|
+
## Configuration
|
|
111
|
+
|
|
112
|
+
| Variable | Default | Description |
|
|
113
|
+
|----------|---------|-------------|
|
|
114
|
+
| `ARTIFACT_DIR` | `dist` | Build output directory |
|
|
115
|
+
| `DEPLOY_URL` | *(required)* | Live URL for smoke test |
|
|
116
|
+
| `DEPLOY_TIMEOUT` | `300` | Max wait for deploy completion (seconds) |
|
|
117
|
+
| `DEPLOY_POLL_INTERVAL` | `30` | Polling interval (seconds) |
|
|
118
|
+
| `RETRY_MAX` | `3` | Max deploy retry attempts |
|
|
119
|
+
| `BUILD_COMMAND` | *(auto-detect)* | Override build command |
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Verification
|
|
125
|
+
|
|
126
|
+
→ verify: `test -f deploy/SKILL.md && grep -q 'name: deploy' deploy/SKILL.md && echo OK`
|
|
127
|
+
→ verify: `grep -qi 'build\|artifact\|deploy\|smoke' deploy/SKILL.md && echo OK`
|
|
128
|
+
→ verify: `grep -ci 'package.json\|Cargo.toml\|Makefile\|manifest' deploy/SKILL.md | awk '{if($1>=1) print "OK"; else print "FAIL"}'`
|
|
129
|
+
→ verify: `grep -ci 'timeout\|poll\|status\|retry\|backoff' deploy/SKILL.md | awk '{if($1>=2) print "OK"; else print "FAIL"}'`
|
|
130
|
+
→ verify: `grep -q 'curl.*DEPLOY_URL\|smoke\|health' deploy/SKILL.md && echo OK`
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Reference block 1
|
|
135
|
+
|
|
89
136
|
```bash
|
|
90
137
|
DEPLOY_TIMEOUT="${DEPLOY_TIMEOUT:-300}" # seconds (default 5 minutes)
|
|
91
138
|
DEPLOY_POLL_INTERVAL="${DEPLOY_POLL_INTERVAL:-30}" # seconds
|
|
@@ -108,7 +155,9 @@ while true; do
|
|
|
108
155
|
done
|
|
109
156
|
```
|
|
110
157
|
|
|
111
|
-
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Reference block 2
|
|
112
161
|
|
|
113
162
|
```bash
|
|
114
163
|
RETRY_MAX="${RETRY_MAX:-3}"
|
|
@@ -125,7 +174,9 @@ for attempt in $(seq 1 "$RETRY_MAX"); do
|
|
|
125
174
|
done
|
|
126
175
|
```
|
|
127
176
|
|
|
128
|
-
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Reference block 3
|
|
129
180
|
|
|
130
181
|
```bash
|
|
131
182
|
DEPLOY_URL="${DEPLOY_URL:?DEPLOY_URL must be set}"
|
|
@@ -136,29 +187,3 @@ else
|
|
|
136
187
|
exit 1
|
|
137
188
|
fi
|
|
138
189
|
```
|
|
139
|
-
|
|
140
|
-
For comprehensive health-checking, chain to the `smoke-test` skill:
|
|
141
|
-
|
|
142
|
-
```bash
|
|
143
|
-
# After deploy success
|
|
144
|
-
bash scripts/run-smoke.sh "$DEPLOY_URL"
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## Configuration
|
|
148
|
-
|
|
149
|
-
| Variable | Default | Description |
|
|
150
|
-
|----------|---------|-------------|
|
|
151
|
-
| `ARTIFACT_DIR` | `dist` | Build output directory |
|
|
152
|
-
| `DEPLOY_URL` | *(required)* | Live URL for smoke test |
|
|
153
|
-
| `DEPLOY_TIMEOUT` | `300` | Max wait for deploy completion (seconds) |
|
|
154
|
-
| `DEPLOY_POLL_INTERVAL` | `30` | Polling interval (seconds) |
|
|
155
|
-
| `RETRY_MAX` | `3` | Max deploy retry attempts |
|
|
156
|
-
| `BUILD_COMMAND` | *(auto-detect)* | Override build command |
|
|
157
|
-
|
|
158
|
-
## Verification
|
|
159
|
-
|
|
160
|
-
→ verify: `test -f deploy/SKILL.md && grep -q 'name: deploy' deploy/SKILL.md && echo OK`
|
|
161
|
-
→ verify: `grep -qi 'build\|artifact\|deploy\|smoke' deploy/SKILL.md && echo OK`
|
|
162
|
-
→ verify: `grep -ci 'package.json\|Cargo.toml\|Makefile\|manifest' deploy/SKILL.md | awk '{if($1>=1) print "OK"; else print "FAIL"}'`
|
|
163
|
-
→ verify: `grep -ci 'timeout\|poll\|status\|retry\|backoff' deploy/SKILL.md | awk '{if($1>=2) print "OK"; else print "FAIL"}'`
|
|
164
|
-
→ verify: `grep -q 'curl.*DEPLOY_URL\|smoke\|health' deploy/SKILL.md && echo OK`
|
|
@@ -69,70 +69,15 @@ After all tests pass: extract duplication, deepen modules, apply SOLID principle
|
|
|
69
69
|
|
|
70
70
|
After every behavior cycle, run the verify command from the active epic task. Show evidence before declaring the step done.
|
|
71
71
|
|
|
72
|
-
### 6a. CI dry-run sub-step (when modifying workflows)
|
|
73
|
-
|
|
74
|
-
If this cycle modified files in `.github/workflows/`, run a CI dry-run before pushing:
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
# 1. Check for workflow file changes
|
|
78
|
-
CHANGED_WORKFLOWS=$(git diff --name-only HEAD | grep '\.github/workflows/' || true)
|
|
79
|
-
if [ -n "$CHANGED_WORKFLOWS" ]; then
|
|
80
|
-
echo "==> CI dry-run: workflow files changed"
|
|
81
|
-
echo " $CHANGED_WORKFLOWS"
|
|
82
|
-
|
|
83
|
-
# 2. Validate YAML syntax
|
|
84
|
-
if command -v yamllint &>/dev/null; then
|
|
85
|
-
for f in $CHANGED_WORKFLOWS; do
|
|
86
|
-
yamllint "$f" && echo " OK: $f passes YAML lint" || echo " WARN: $f has YAML issues"
|
|
87
|
-
done
|
|
88
|
-
else
|
|
89
|
-
# Fallback: Python YAML parse
|
|
90
|
-
for f in $CHANGED_WORKFLOWS; do
|
|
91
|
-
python3 -c "import yaml; yaml.safe_load(open('$f'))" 2>/dev/null && \
|
|
92
|
-
echo " OK: $f YAML syntax valid" || \
|
|
93
|
-
echo " FAIL: $f has YAML syntax errors"
|
|
94
|
-
done
|
|
95
|
-
fi
|
|
96
|
-
|
|
97
|
-
# 3. Run actionlint if available
|
|
98
|
-
if command -v actionlint &>/dev/null; then
|
|
99
|
-
for f in $CHANGED_WORKFLOWS; do
|
|
100
|
-
actionlint "$f" && echo " OK: $f passes actionlint" || echo " WARN: $f has actionlint issues"
|
|
101
|
-
done
|
|
102
|
-
fi
|
|
103
|
-
|
|
104
|
-
# 4. Check common pitfalls
|
|
105
|
-
for f in $CHANGED_WORKFLOWS; do
|
|
106
|
-
# Missing permissions block
|
|
107
|
-
if ! grep -q 'permissions:' "$f"; then
|
|
108
|
-
echo " WARNING: $f missing permissions block — add one for security"
|
|
109
|
-
fi
|
|
110
|
-
# npm publish without NPM_TOKEN
|
|
111
|
-
if grep -q 'npm publish\|npx semantic-release' "$f" && ! grep -q 'NPM_TOKEN' "$f"; then
|
|
112
|
-
echo " WARNING: $f has npm publish/semantic-release but no NPM_TOKEN in secrets"
|
|
113
|
-
fi
|
|
114
|
-
# Hardcoded Node versions
|
|
115
|
-
if grep -q 'node-version: [0-9]' "$f"; then
|
|
116
|
-
echo " NOTE: $f has hardcoded Node version — consider node-version-file: .nvmrc"
|
|
117
|
-
fi
|
|
118
|
-
done
|
|
119
|
-
|
|
120
|
-
# 5. Suggest local dry-run
|
|
121
|
-
if command -v act &>/dev/null; then
|
|
122
|
-
echo " SUGGESTION: Run 'act push --dry-run' to test workflows locally"
|
|
123
|
-
fi
|
|
124
|
-
fi
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Checklist:
|
|
128
|
-
- [ ] YAML syntax validated for all changed workflow files
|
|
129
|
-
- [ ] No missing permissions, secrets, or hardcoded versions flagged
|
|
130
|
-
- [ ] Local dry-run suggested if `act` is available
|
|
131
|
-
|
|
132
72
|
### 7. Manual Verification Handover
|
|
133
73
|
|
|
134
74
|
Once all tests pass: locate the Verification Script in the active epic capsule, present it to the user step-by-step, and wait for confirmation of behavioral correctness.
|
|
135
75
|
|
|
76
|
+
|
|
77
|
+
### 6a. CI dry-run sub-step
|
|
78
|
+
|
|
79
|
+
If this cycle modified files in `.github/workflows/`, run the CI dry-run procedure documented in [REFERENCE.md](REFERENCE.md#ci-dry-run).
|
|
80
|
+
|
|
136
81
|
## Checklist Per Cycle
|
|
137
82
|
|
|
138
83
|
```
|
|
@@ -148,26 +93,6 @@ Once all tests pass: locate the Verification Script in the active epic capsule,
|
|
|
148
93
|
[ ] verify: command passes
|
|
149
94
|
```
|
|
150
95
|
|
|
151
|
-
## --config mode
|
|
152
|
-
|
|
153
|
-
For pure-config tasks (update package.json, edit YAML, tweak manifest) where there is no test infrastructure to write against. The RED state is "verify command fails"; GREEN is "verify command passes."
|
|
154
|
-
|
|
155
|
-
**When to use:** task has a runnable `verify:` command and the deliverable is a config file change with no new behavior to unit-test. Invoke as `develop-tdd --config`.
|
|
156
|
-
|
|
157
|
-
**Cycle:**
|
|
158
|
-
|
|
159
|
-
```
|
|
160
|
-
RED: Run verify command → it fails (expected)
|
|
161
|
-
GREEN: Apply config change → verify passes
|
|
162
|
-
COMMIT: commit: chore(<scope>): <change>
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
**Rules:**
|
|
166
|
-
- Skips test-writing phase entirely — do NOT write a test file for config tasks.
|
|
167
|
-
- `verify:` command is **required** and must be runnable (no placeholder).
|
|
168
|
-
- Commit message follows Conventional Commits (`chore:` or `feat:` as appropriate).
|
|
169
|
-
- Still runs full `verify-work` after all tasks complete.
|
|
170
|
-
|
|
171
96
|
## Handoff
|
|
172
97
|
|
|
173
98
|
Gate: READY -> next: verify-work
|