Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
6346118
feat: wip init
zcstarr Feb 12, 2026
539a85b
feat: wip init structure
zcstarr Feb 13, 2026
e34838f
fix: wip add index.ts
zcstarr Feb 13, 2026
e9eb5e7
fix: add remaining generators and remove stale ones
zcstarr Feb 14, 2026
1d01867
chore: add missing generated files
zcstarr Feb 14, 2026
27a3560
fix: add support for persisting version and changelog data
zcstarr Feb 14, 2026
956b5d8
chore: add support for ci
zcstarr Feb 14, 2026
d39a012
fix: adjust workflows to safe guard not generating the package after …
zcstarr Feb 14, 2026
38e217b
feat: wip that shows the generated types and knope semantic workflow
zcstarr Feb 17, 2026
39250c9
fix: go lang spec types
zcstarr Feb 20, 2026
fedcca0
chore: bump temp package for release
zcstarr Feb 20, 2026
188f463
chore: go mod file an bump package.json
zcstarr Feb 20, 2026
8ba5c0e
chore: temp. shift assets to test naming
zcstarr Feb 20, 2026
5ad2133
chore: tmp adjust repo to fork
zcstarr Feb 20, 2026
5624719
fix: build to export js assets alongside ts
zcstarr Feb 20, 2026
3cf7d11
fix: the release workflow
zcstarr Feb 20, 2026
73aa0b2
chore: rename package for test tmp
zcstarr Feb 20, 2026
caf64c4
fix: compile step type validation and version bump spec
zcstarr Feb 20, 2026
e0465f7
chore: fix release logs format
zcstarr Feb 20, 2026
ed92299
chore: refactor to support filtering status
zcstarr Feb 20, 2026
24fce1f
chore: tmp disable rust and python builds
zcstarr Feb 20, 2026
b7efb82
chore: correct missing assets
zcstarr Feb 20, 2026
6c3117f
chore: adjust tmp disable rs and py install test
zcstarr Feb 20, 2026
5dac772
chore: update the knope release flow
zcstarr Feb 20, 2026
6291e6a
chore: fix ci
zcstarr Feb 20, 2026
f84bb88
fix: version bump lint issues
zcstarr Feb 20, 2026
0210a08
chore: fix ci
zcstarr Feb 20, 2026
85019e8
chore: tmp fix go mod to unbreak build
zcstarr Feb 20, 2026
9a9126a
chore: forgot to generate the code
zcstarr Feb 20, 2026
3f33cac
chore: adjust build to handle multiple version release for knope
zcstarr Feb 20, 2026
7dd76c7
chore: ci adjust workflow to create proper pull request
zcstarr Feb 20, 2026
1617b08
chore: adjust the pre release PR
zcstarr Feb 20, 2026
c40fe01
chore: adjust ci for the release PR to skip generated because the cod…
zcstarr Feb 20, 2026
f6f8f8f
chore: fix ci release
zcstarr Feb 20, 2026
7bca872
chore: fix the release tagging so publishing works
zcstarr Feb 20, 2026
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
30 changes: 30 additions & 0 deletions .github/workflows/check-generated.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Check Generated Code

on:
pull_request:
branches: [main]

jobs:
check-generated:
if: github.head_ref != 'release'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install Bun
uses: oven-sh/setup-bun@v2

- name: Install dependencies
run: bun install

- name: Regenerate types
run: bun run generate

- name: Check for stale generated code
run: |
if ! git diff --exit-code generated/; then
echo ""
echo "ERROR: Generated code is out of date."
echo "Run 'bun run generate' locally and commit the result."
exit 1
fi
29 changes: 29 additions & 0 deletions .github/workflows/prepare-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Create Release PR

on:
push:
branches: [main]

permissions:
contents: write

jobs:
prepare-release:
if: "!contains(github.event.head_commit.message, 'chore: prepare release')"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.PAT }}
- name: Configure Git
run: |
git config --global user.name "GitHub Actions"
git config --global user.email "github-actions@github.com"
- name: Install Knope
uses: knope-dev/action@v2.1.2
with:
version: 0.22.3
- run: knope prepare-release --verbose
env:
GITHUB_TOKEN: ${{ secrets.PAT }}
111 changes: 111 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: Release

on:
pull_request:
types: [closed]
branches: [main]

permissions:
contents: write
id-token: write

jobs:
create-release:
if: github.head_ref == 'release' && github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install Knope
uses: knope-dev/action@v2.1.2
with:
version: 0.22.3

- name: Configure Git identity
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

- name: Create GitHub releases
run: knope release --verbose
env:
GITHUB_TOKEN: ${{ secrets.PAT }}

publish-ts:
needs: create-release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: "22"
registry-url: "https://registry.npmjs.org"

- uses: oven-sh/setup-bun@v2

- name: Install dependencies
working-directory: generated/packages/ts
run: bun install

- name: Publish to npm
working-directory: generated/packages/ts
run: bun publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

publish-py:
if: true # set to false to skip PyPI publish
needs: create-release
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install build tools
run: pip install build

- name: Build package
working-directory: generated/packages/py
run: python -m build

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: generated/packages/py/dist/

publish-rs:
if: true # set to false to skip crates.io publish
needs: create-release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@stable

- name: Publish to crates.io
working-directory: generated/packages/rs
run: cargo publish
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

publish-go:
needs: create-release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Verify Go module tag
run: |
echo "Go modules use git tags for versioning."
echo "The tag created by knope release is sufficient for go get."
git tag --list 'go/v*' | tail -5
73 changes: 73 additions & 0 deletions .github/workflows/test-installs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Test Package Installs

on:
push:
branches: [main, "feat/**"]
pull_request:
workflow_dispatch:
inputs:
test-py:
description: "Run Python install test"
type: boolean
default: false
test-rs:
description: "Run Rust check test"
type: boolean
default: false

jobs:
test-ts:
name: TypeScript Install
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install & smoke test
run: |
cd generated/packages/ts
npm install --ignore-scripts
node -e "import('./index.js').then(m => console.log('TS OK:', Object.keys(m)))"
test-go:
name: Go Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.24"
- name: Build
run: |
cd generated/packages/go
go build ./...
echo "Go OK"
test-py:
if: ${{ inputs.test-py == true }}
name: Python Install
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install & smoke test
run: |
cd generated/packages/py
pip install . --quiet
python -c "from open_rpc_spec_types import v1_4, v1_3; print('Py OK')"
test-rs:
if: ${{ inputs.test-rs == true }}
name: Rust Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Check
run: |
cd generated/packages/rs
cargo check
echo "Rust OK"
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -137,3 +137,8 @@ dist
# Vite logs files
vite.config.js.timestamp-*
vite.config.ts.timestamp-*

.cursor

LLMLOG.MD
.DS_Store
12 changes: 12 additions & 0 deletions .prettierc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"endOfLine": "lf",
"bracketSameLine": false,
"arrowParens": "always",
"bracketSpacing": true,
"useTabs": false,
"tabWidth": 2,
"printWidth": 100,
"trailingComma": "esnext",
"singleQuote": true,
"semi": true
}
Loading
Loading