ultimate-pi 0.2.5 → 0.2.6

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.
Files changed (31) hide show
  1. package/.pi/PACKAGING.md +35 -0
  2. package/.pi/prompts/harness-setup.md +48 -10
  3. package/.pi/{settings.json → settings.example.json} +1 -1
  4. package/CHANGELOG.md +9 -0
  5. package/package.json +35 -6
  6. package/.pi/harness/browser.json +0 -5
  7. package/.pi/harness/debates/README.md +0 -9
  8. package/.pi/harness/incidents/README.md +0 -6
  9. package/.pi/harness/release-readiness-report.md +0 -128
  10. package/.pi/harness/router/README.md +0 -35
  11. package/.pi/harness/router/apply-router-proposal.mjs +0 -153
  12. package/.pi/harness/router/proposals/canary-proposal.json +0 -96
  13. package/.pi/harness/router/propose-router-tuning.mjs +0 -149
  14. package/.pi/harness/runs/019e272f-3eef-7107-9712-ce281de55707-1778773891854/events.jsonl +0 -2
  15. package/.pi/harness/runs/019e272f-3eef-7107-9712-ce281de55707-1778773891854/trace.json +0 -17
  16. package/.pi/harness/runs/019e272f-3eef-7107-9712-ce281de55707-1778773912057/events.jsonl +0 -2
  17. package/.pi/harness/runs/019e272f-3eef-7107-9712-ce281de55707-1778773912057/trace.json +0 -17
  18. package/.pi/harness/runs/019e2732-8651-74e5-9f5d-4d06c3105f25-1778774086096/events.jsonl +0 -6
  19. package/.pi/harness/runs/019e2732-8651-74e5-9f5d-4d06c3105f25-1778774086096/trace.json +0 -42
  20. package/.pi/harness/runs/019e2732-8651-74e5-9f5d-4d06c3105f25-1778774136101/events.jsonl +0 -1
  21. package/.pi/harness/runs/019e2758-b332-771b-ad6f-54d0d8478768-1778776600591/events.jsonl +0 -2
  22. package/.pi/harness/runs/019e2758-b332-771b-ad6f-54d0d8478768-1778776600591/trace.json +0 -17
  23. package/.pi/harness/runs/README.md +0 -6
  24. package/.pi/harness/runs/budget-events.jsonl +0 -4
  25. package/.pi/harness/runs/canary-candidate-router.json +0 -72
  26. package/.pi/harness/runs/canary-evidence.json +0 -9
  27. package/.pi/harness/runs/index.jsonl +0 -4
  28. package/.pi/model-router.json +0 -95
  29. package/.pi/npm/.gitignore +0 -2
  30. package/.pi/prompts/release.md +0 -225
  31. package/firecrawl/.env +0 -53
@@ -1,225 +0,0 @@
1
- ---
2
- description: Release a new version — bump version, generate changelog, tag, and push to trigger GitHub Actions CI/CD publish.
3
- argument-hint: "[patch|minor|major] [--dry-run]"
4
- ---
5
-
6
- # release — Version Bump + Changelog + Tag + Push
7
-
8
- Releases a new version by bumping `package.json`, generating a `CHANGELOG.md` entry from commits since the last tag, committing, tagging, and pushing the tag. The push triggers `.github/workflows/publish-github-packages.yml` and `.github/workflows/publish-npm.yml`.
9
-
10
- ## Step 0 — Parse arguments
11
-
12
- Read `$ARGUMENTS`. First positional arg is the bump type:
13
-
14
- | Arg | Semver | When |
15
- |-----|--------|------|
16
- | `patch` | 0.1.X → 0.1.(X+1) | Bug fixes, small changes, chores |
17
- | `minor` | 0.X.0 → 0.(X+1).0 | New features, dep additions |
18
- | `major` | X.0.0 → (X+1).0.0 | Breaking changes |
19
-
20
- If no bump type given: scan commits since last tag for conventional commit prefixes to infer:
21
-
22
- ```bash
23
- git log $(git describe --tags --abbrev=0 2>/dev/null || echo "")..HEAD --format="%s" 2>/dev/null
24
- ```
25
-
26
- Inference rules:
27
- - Any `feat!:` or `BREAKING CHANGE` → **major**
28
- - Any `feat:` → **minor**
29
- - Everything else (`fix:`, `chore:`, `docs:`, `refactor:`, etc.) → **patch**
30
-
31
- If no commits since last tag, warn: "No commits since last tag. Nothing to release." and stop.
32
-
33
- Present the inferred bump type to user. If they passed one explicitly, use that. If `--dry-run`, show what would happen without making changes.
34
-
35
- ## Step 1 — Read current version
36
-
37
- ```bash
38
- node -e "console.log(require('./package.json').version)"
39
- ```
40
-
41
- Store as `$CURRENT_VERSION`.
42
-
43
- Compute `$NEW_VERSION`:
44
-
45
- ```bash
46
- # Pseudo-code — use node for precision
47
- NEW_VERSION=$(node -e "
48
- const [maj,min,pat] = '$CURRENT_VERSION'.split('.').map(Number);
49
- const bump = '$BUMP_TYPE';
50
- if (bump === 'major') console.log((maj+1)+'.0.0');
51
- else if (bump === 'minor') console.log(maj+'.'+(min+1)+'.0');
52
- else console.log(maj+'.'+min+'.'+(pat+1));
53
- ")
54
- ```
55
-
56
- ## Step 2 — Pre-flight checks
57
-
58
- ```bash
59
- # Must be in a git repo
60
- git rev-parse --is-inside-work-tree || { echo "Not a git repo. Abort."; exit 1; }
61
-
62
- # Must have a remote
63
- git remote -v | grep -q origin || { echo "No origin remote. Abort."; exit 1; }
64
-
65
- # Must be on a clean working tree
66
- git diff --quiet && git diff --cached --quiet || { echo "Working tree is dirty. Commit or stash changes first."; exit 1; }
67
-
68
- # Must be on a branch that can push (not detached HEAD)
69
- git symbolic-ref -q HEAD || { echo "Detached HEAD. Switch to a branch first."; exit 1; }
70
- ```
71
-
72
- ## Step 3 — Generate changelog
73
-
74
- Gather commits since last tag:
75
-
76
- ```bash
77
- LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
78
- if [ -z "$LAST_TAG" ]; then
79
- COMMITS=$(git log --oneline --no-merges HEAD)
80
- else
81
- COMMITS=$(git log --oneline --no-merges ${LAST_TAG}..HEAD)
82
- fi
83
- ```
84
-
85
- Parse conventional commit prefixes to group:
86
-
87
- | Prefix | Changelog Section |
88
- |--------|-------------------|
89
- | `feat!:` | ⚠️ Breaking Changes |
90
- | `feat:` | ✨ Features |
91
- | `fix:` | 🐛 Fixes |
92
- | `perf:` | ⚡ Performance |
93
- | `refactor:` | ♻️ Refactoring |
94
- | `docs:` | 📖 Documentation |
95
- | `style:` | 🎨 Style |
96
- | `test:` | ✅ Tests |
97
- | `chore:` | 🔧 Chores |
98
- | `ci:` | 🔄 CI/CD |
99
- | `build:` | 📦 Build |
100
- | everything else | 🔧 Chores |
101
-
102
- Generate the changelog entry:
103
-
104
- ```markdown
105
- ## [v$NEW_VERSION] — $(date +%Y-%m-%d)
106
-
107
- ### $SECTION_NAME
108
-
109
- - $commit_message (no prefix, just the description)
110
-
111
- ...
112
- ```
113
-
114
- If `CHANGELOG.md` exists, prepend the new entry after the `# Changelog` heading. If not, create it:
115
-
116
- ```markdown
117
- # Changelog
118
-
119
- All notable changes to this project are documented in this file.
120
-
121
- ## [v$NEW_VERSION] — $(date +%Y-%m-%d)
122
-
123
- ### $SECTION
124
-
125
- - $entry
126
-
127
- ...
128
- ```
129
-
130
- ## Step 4 — Bump version in package.json
131
-
132
- ```bash
133
- npm pkg set version="$NEW_VERSION"
134
- ```
135
-
136
- Verify:
137
- ```bash
138
- node -e "const v = require('./package.json').version; console.log(v === '$NEW_VERSION' ? '✓ version bumped to $NEW_VERSION' : '✗ version mismatch')"
139
- ```
140
-
141
- ## Step 5 — Dry run check
142
-
143
- If `--dry-run` flag: print summary and stop. Do NOT commit, tag, or push.
144
-
145
- ```
146
- DRY RUN — no changes made.
147
- Version: $CURRENT_VERSION → $NEW_VERSION
148
- Bump: $BUMP_TYPE
149
- Commits since $LAST_TAG: $COMMIT_COUNT
150
- Files that would change:
151
- - package.json (version)
152
- - CHANGELOG.md (new entry)
153
- Tag that would be created: v$NEW_VERSION
154
- ```
155
-
156
- ## Step 6 — Commit version bump + changelog
157
-
158
- ```bash
159
- git add package.json CHANGELOG.md
160
-
161
- git commit -m "chore(release): bump to v$NEW_VERSION" -m "- Bump version in package.json
162
- - Add changelog entry for v$NEW_VERSION
163
-
164
- Commits included:
165
- $(echo "$COMMITS" | sed 's/^/- /')" -m "Co-authored-by: pi-mono <261679550+pi-mono@users.noreply.github.com>"
166
- ```
167
-
168
- Use the co-author from `.pi/auto-commit.json` if available, otherwise use the default pi-mono co-author.
169
-
170
- ## Step 7 — Create and push tag
171
-
172
- ```bash
173
- git tag -a "v$NEW_VERSION" -m "Release v$NEW_VERSION — $BUMP_TYPE bump
174
-
175
- $(echo "$COMMITS" | sed 's/^/- /')"
176
-
177
- git push origin "v$NEW_VERSION"
178
- ```
179
-
180
- **Important**: Push only the tag, not the branch. The workflows trigger on `v*` tag push.
181
- - `publish-github-packages.yml` → publishes `@aryaniyaps/ultimate-pi` to GitHub Packages
182
- - `publish-npm.yml` → publishes `ultimate-pi` to npm registry
183
-
184
- Optionally also push the commit if user wants the branch updated:
185
- ```bash
186
- git push origin $(git branch --show-current)
187
- ```
188
-
189
- Ask user: "Push the version-bump commit to the current branch too? [Y/n]"
190
-
191
- ## Step 8 — Report
192
-
193
- ```
194
- ✓ Released v$NEW_VERSION ($BUMP_TYPE)
195
- Tag: v$NEW_VERSION — pushed to origin
196
- Workflows triggered:
197
- - .github/workflows/publish-github-packages.yml
198
- - .github/workflows/publish-npm.yml
199
- Commit: $(git rev-parse --short HEAD)
200
- Changelog: CHANGELOG.md updated
201
- Monitor: https://github.com/aryaniyaps/ultimate-pi/actions
202
- ```
203
-
204
- ## Guard Rails
205
-
206
- - **Clean tree required**: Block if uncommitted changes exist.
207
- - **No duplicate tags**: Block if `v$NEW_VERSION` tag already exists locally or on remote.
208
- - **No empty releases**: Block if no commits since last tag.
209
- - **Valid semver only**: Block if current version doesn't parse as `X.Y.Z`.
210
- - **Dry run safe**: `--dry-run` prints planned changes without modifying anything.
211
- - **Manual workflow dispatch**: If workflows support `workflow_dispatch`, user can re-trigger manually from GitHub Actions UI if push fails.
212
- - **Co-author idempotent**: Falls back to default pi-mono if `.pi/auto-commit.json` is missing.
213
-
214
- ## Error Handling
215
-
216
- | Error | Action |
217
- |-------|--------|
218
- | No commits since last tag | Report, suggest making changes first. Stop. |
219
- | Dirty working tree | Report dirty files. Suggest `git stash` or commit. Stop. |
220
- | Tag already exists | Report conflict. User must delete old tag or bump differently. Stop. |
221
- | No origin remote | Report. Suggest `git remote add origin <url>`. Stop. |
222
- | Detached HEAD | Report. Suggest `git checkout main`. Stop. |
223
- | Invalid semver | Report current version string. Stop. |
224
- | npm pkg set fails | Check Node.js and npm version. Report error. Stop. |
225
- | git push fails | Check auth. Report error. Suggest manual push. |
package/firecrawl/.env DELETED
@@ -1,53 +0,0 @@
1
- # ===== Required ENVS ======
2
- PORT=3002
3
- HOST=0.0.0.0
4
- USE_DB_AUTHENTICATION=false
5
-
6
- # ===== Optional ENVS ======
7
- # No OpenAI key - skipping AI features for now
8
- # OPENAI_API_KEY=
9
-
10
- # Experimental: Use Ollama
11
- # OLLAMA_BASE_URL=http://localhost:11434/api
12
- # MODEL_NAME=deepseek-r1:7b
13
- # MODEL_EMBEDDING_NAME=nomic-embed-text
14
-
15
- # Experimental: Use any OpenAI-compatible API
16
- # OPENAI_BASE_URL=https://example.com/v1
17
- # OPENAI_API_KEY=
18
-
19
-
20
- ## === Proxy ===
21
- # PROXY_SERVER can be a full URL (e.g. http://0.1.2.3:1234) or just an IP and port combo (e.g. 0.1.2.3:1234)
22
- # Do not uncomment PROXY_USERNAME and PROXY_PASSWORD if your proxy is unauthenticated
23
- # PROXY_SERVER=
24
- # PROXY_USERNAME=
25
- # PROXY_PASSWORD=
26
-
27
- ## === /search API ===
28
- # SearXNG instance running alongside Firecrawl in docker-compose
29
- SEARXNG_ENDPOINT=http://searxng:8080
30
- # You can also customize the engines and categories parameters, but the defaults should also work just fine.
31
- # SEARXNG_ENGINES=
32
- # SEARXNG_CATEGORIES=
33
-
34
- # Supabase not configured (self-hosted doesn't support it yet)
35
- # SUPABASE_ANON_TOKEN=
36
- # SUPABASE_URL=
37
- # SUPABASE_SERVICE_TOKEN=
38
-
39
- # Set if you'd like to send posthog events like job logs
40
- POSTHOG_API_KEY="phc_O0BBrJ4z9O9h0aoydmZSS1oOPY5ARKKcILbybCL9DWs"
41
- POSTHOG_HOST="https://us.i.posthog.com"
42
-
43
- # Change this for security in production
44
- BULL_AUTH_KEY=CHANGEME
45
-
46
- # PostgreSQL
47
- POSTGRES_USER=postgres
48
- POSTGRES_PASSWORD=postgres
49
- POSTGRES_DB=postgres
50
-
51
- # Auto-configured by docker-compose
52
- # REDIS_URL=redis://redis:6379
53
- # PLAYWRIGHT_MICROSERVICE_URL=http://playwright-service:3000/scrape