Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
4ff34cd
feat: restructure into monorepo and add Cursor extension
jcendal Sep 9, 2026
19db60d
feat(cursor-vpet): animate sidebar and package monorepo changelog
jcendal Sep 10, 2026
4798b1f
fix(cursor-vpet): fix performance.now binding in sidebar animation
jcendal Sep 10, 2026
203650e
fix(cursor-vpet): fit artwork width to sidebar
jcendal Sep 10, 2026
c9ce726
docs: expand cursor-vpet README and add authorship credits
jcendal Sep 10, 2026
b09a5f1
fix(ci): make prepack, typecheck, and packaging tests pass
jcendal Sep 10, 2026
2b97032
fix(cursor-vpet): read fresh sidebar snapshots and raise stage thresh…
jcendal Sep 11, 2026
093550d
feat: add evolution battles before digi-evolution
jcendal Sep 11, 2026
7d85b25
feat(cursor-vpet): add blinking battle intro and post-battle reveal a…
jcendal Sep 11, 2026
0bd0066
chore(cursor-vpet): remove debug evolution battle preview
jcendal Sep 11, 2026
78cfc3c
feat(cursor-vpet): sync pet database changes across extension windows
jcendal Sep 11, 2026
e154b6e
feat(opencode-vpet): add evolution battle TUI flow and persistence ho…
jcendal Sep 11, 2026
7669efc
fix(cursor-vpet): stabilize evolution battle refresh and DB reads.
jcendal Sep 11, 2026
3b91b30
feat: evolve Digitama directly and split battle from reveal animations.
jcendal Sep 11, 2026
64e8433
refactor(cursor-vpet): add shared utilities and sqlite foundations
jcendal Sep 11, 2026
ef274c7
refactor(cursor-vpet): isolate pure presentation under webview/presen…
jcendal Sep 11, 2026
b63c40d
refactor(cursor-vpet): add VS Code ports and typed webview messages
jcendal Sep 11, 2026
40a4aa2
refactor(cursor-vpet): decompose sidebar into presenter and orchestrator
jcendal Sep 11, 2026
5f75bf6
refactor(cursor-vpet): modular bootstrap and thin extension entrypoint
jcendal Sep 11, 2026
8bdf273
refactor(cursor-vpet): secure panels and move under webview/panels
jcendal Sep 11, 2026
cd5895c
test(cursor-vpet): expand MonsterAnimationController coverage
jcendal Sep 11, 2026
6f910f9
style(cursor-vpet): standardize import grouping order
jcendal Sep 11, 2026
6e5e9ce
test(cursor-vpet): add sidebar and architecture boundary tests
jcendal Sep 11, 2026
326fcf1
style(cursor-vpet): apply biome formatting
jcendal Sep 11, 2026
4632442
refactor(cursor-vpet): centralize constants and expand test coverage
jcendal Sep 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
58 changes: 51 additions & 7 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ jobs:
release:
name: Publish release
runs-on: ubuntu-latest
env:
HAS_OVSX_PAT: ${{ secrets.OVSX_PAT != '' }}
HAS_VSCE_PAT: ${{ secrets.VSCE_PAT != '' }}
permissions:
contents: write
id-token: write
Expand Down Expand Up @@ -52,7 +55,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
with:
node-version: 24
node-version: 24.11.0
registry-url: https://registry.npmjs.org/

- name: Set up Bun
Expand All @@ -71,28 +74,48 @@ jobs:
set -euo pipefail
release_date="$(date -u +%F)"
git tag --list | bun scripts/release-metadata.ts \
--package-json package.json \
--package-json packages/opencode-vpet/package.json \
--changelog CHANGELOG.md \
--bump "$BUMP" \
--date "$release_date"

- name: Sync workspace versions
env:
RELEASE_VERSION: ${{ steps.metadata.outputs.release_version }}
run: |
bun scripts/release-metadata.ts set-package-stable-version packages/vpet-core/package.json "$RELEASE_VERSION"
bun scripts/release-metadata.ts set-package-stable-version packages/cursor-vpet/package.json "$RELEASE_VERSION"

- name: Run release checks
run: bun run release:check

- name: Build cursor-vpet
run: bun run --filter cursor-vpet build

- name: Pack release
id: pack
run: |
set -euo pipefail
package_directory="$RUNNER_TEMP/opencode-vpet-package"
mkdir -p "$package_directory"

tarball_name="$(npm pack --loglevel silent --ignore-scripts \
--pack-destination "$package_directory")"
tarball_name="$(npm pack --loglevel silent \
--pack-destination "$package_directory" \
--workspace @sbugallo/opencode-vpet)"

test -f "$package_directory/$tarball_name"

printf 'tarball_name=%s\n' "$tarball_name" >> "$GITHUB_OUTPUT"

- name: Pack VSIX
id: vsix
run: |
set -euo pipefail
vsix_path="$RUNNER_TEMP/cursor-vpet.vsix"
cd packages/cursor-vpet
npx @vscode/vsce package --no-dependencies -o "$vsix_path"
printf 'vsix_path=%s\n' "$vsix_path" >> "$GITHUB_OUTPUT"

- name: Set up Git
run: |
git config user.name "github-actions[bot]"
Expand All @@ -104,7 +127,7 @@ jobs:
run: |
set -euo pipefail

git add package.json CHANGELOG.md
git add packages/opencode-vpet/package.json packages/vpet-core/package.json packages/cursor-vpet/package.json CHANGELOG.md

git commit -m "chore(release): v$RELEASE_VERSION"

Expand All @@ -116,9 +139,11 @@ jobs:
run: |
set -euo pipefail

bun scripts/release-metadata.ts set-package-version package.json "$NEXT_DEV_VERSION"
bun scripts/release-metadata.ts set-package-version packages/opencode-vpet/package.json "$NEXT_DEV_VERSION"
bun scripts/release-metadata.ts set-package-version packages/vpet-core/package.json "$NEXT_DEV_VERSION"
bun scripts/release-metadata.ts set-package-version packages/cursor-vpet/package.json "$NEXT_DEV_VERSION"

git add package.json
git add packages/opencode-vpet/package.json packages/vpet-core/package.json packages/cursor-vpet/package.json

git commit -m "chore: bump v$NEXT_DEV_VERSION"

Expand Down Expand Up @@ -156,5 +181,24 @@ jobs:
run: |
gh release create "v$RELEASE_VERSION" \
"$TARBALL" \
"${{ steps.vsix.outputs.vsix_path }}" \
--title "v$RELEASE_VERSION" \
--generate-notes

- name: Create Open VSX namespace
if: env.HAS_OVSX_PAT == 'true'
run: npx ovsx create-namespace sbugallo -p "$OVSX_PAT" || true
env:
OVSX_PAT: ${{ secrets.OVSX_PAT }}

- name: Publish release (Open VSX)
if: env.HAS_OVSX_PAT == 'true'
run: npx ovsx publish "${{ steps.vsix.outputs.vsix_path }}" -p "$OVSX_PAT"
env:
OVSX_PAT: ${{ secrets.OVSX_PAT }}

- name: Publish release (VS Code Marketplace)
if: env.HAS_VSCE_PAT == 'true'
run: npx @vscode/vsce publish --packagePath "${{ steps.vsix.outputs.vsix_path }}"
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}
19 changes: 15 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:

- uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
with:
node-version: 24
node-version: 24.11.0

- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2
with:
Expand All @@ -40,10 +40,21 @@ jobs:
run: bun run check

- name: Tests
run: bun test
run: bun run test

- name: Persistence tests
run: bun run test:persistence

- name: Build cursor-vpet
run: bun run --filter cursor-vpet build

- name: Prepack
run: bun run prepack

- name: Pack

- name: Pack npm
working-directory: packages/opencode-vpet
run: npm pack --dry-run --json

- name: Pack VSIX
working-directory: packages/cursor-vpet
run: npx @vscode/vsce package --no-dependencies
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,8 @@ Thumbs.db

# Release workflow artifacts
*.tgz
*.vsix
npm-pack.json
.package.json.publish.bak
packages/opencode-vpet/CHANGELOG.md
packages/cursor-vpet/CHANGELOG.md
4 changes: 4 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Authors sorted by whether or not they're me

Sergio Bugallo Enjamio (https://www.linkedin.com/in/sbugallo/)
Jorge Cendal Prego (https://www.linkedin.com/in/jcendal/)
32 changes: 21 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
<a href="#settings">Settings</a> |
<a href="#storage">Storage</a> |
<a href="#partner-list">Partner list</a> |
<a href="#author">Author</a> |
<a href="#contributors">Contributors</a> |
<a href="#license">License</a> |
<a href="#attributions">Attributions</a>

Expand Down Expand Up @@ -63,8 +65,8 @@ options in that Digimon's line.

Requirements:
- OpenCode `>=1.18.10`
- Node `>=20` to run `npx`
- Bun `>=1.3.5` only for local development
- Node `24.11.0` to run `npx` (pinned via Volta in this repo)
- Bun `1.3.5` for local development and builds (pinned via Volta in this repo)


1. Install both plugins:
Expand Down Expand Up @@ -138,14 +140,14 @@ Default values are:
"notifications": true,
"language": "jp",
"stageThresholds": {
"egg": 500000,
"babyI": 1000000,
"babyII": 2000000,
"child": 4000000,
"adult": 7500000,
"perfect": 12500000,
"ultimate": 20000000,
"superUltimate": 30000000
"egg": 5000000,
"babyI": 10000000,
"babyII": 20000000,
"child": 40000000,
"adult": 75000000,
"perfect": 125000000,
"ultimate": 200000000,
"superUltimate": 300000000
}
}
```
Expand Down Expand Up @@ -816,9 +818,17 @@ To persist your partner, history, and control state, VPet uses a SQLite database
| 7-044 | Ogudomon X | Ogudomon X |
| 7-045 | Chaosdramon | Chaosdramon |

Check out the [Digimon Data List](src/data/digimon-data.ts) for more information about evolution
Check out the [Digimon Data List](packages/vpet-core/src/data/digimon-data.ts) for more information about evolution
lines.

## Author

- [Sergio Bugallo](https://github.com/sbugallo)

## Contributors

- [Jorge Cendal](https://github.com/jcendal)

## License

This project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details.
Expand Down
14 changes: 9 additions & 5 deletions biome.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
"files": {
"includes": [
"src/**",
"tests/**",
"packages/**",
"scripts/**",
"package.json",
"tsconfig*.json",
"!src/data/monster-frame-data.ts",
"!packages/**/dist/**",
"!packages/cursor-vpet/hook-bridge.js",
"!packages/vpet-core/src/data/monster-frame-data.ts",
"!tests/**/*.jsonc",
"!.omo/",
"!dist/",
"!node_modules/",
"!coverage/",
"!**/generated/"
Expand Down Expand Up @@ -44,7 +44,11 @@
},
"overrides": [
{
"includes": ["src/tui/sidebar-card.tsx", "src/tui/vpet-dex-dialog.tsx", "src/tui/vpet-history-dialog.tsx"],
"includes": [
"packages/opencode-vpet/src/tui/sidebar-card.tsx",
"packages/opencode-vpet/src/tui/vpet-dex-dialog.tsx",
"packages/opencode-vpet/src/tui/vpet-history-dialog.tsx"
],
"linter": {
"rules": {
"a11y": {
Expand Down
Loading