Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
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