TypeScript-first toolkit for Tree-sitter grammars. Generate type-safe SDKs with full IDE support.
| Package | Version | Description |
|---|---|---|
@treant/graphql |
GraphQL parser with TypeScript SDK | |
@treant/cli |
CLI for generating SDKs | |
@treant/generator |
SDK generator | |
@treant/grammar |
Grammar TypeScript types | |
@treant/core |
Core utilities |
This is a monorepo managed with pnpm and Turbo.
We use changesets for managing releases.
-
Stage changes: When you have changes ready to release, run:
pnpm ship:stage
This opens an interactive prompt where you can:
- Select which packages to release
- Choose version bumps (patch/minor/major)
- Add a summary of changes
- Dependencies will automatically cascade (e.g., if
@treant/graphql-sdkupdates,@treant/graphqlwill also be bumped)
-
Ship the release: When ready to publish, run:
pnpm ship:release
This will:
- Build all packages (fails fast if broken)
- Apply version bumps from changesets
- Update CHANGELOG.md files
- Publish to npm
- Create git tags
- Push to GitHub
- Create GitHub releases with changelogs
-
GitHub releases only (if needed):
pnpm ship:release:github
- No changesets are needed during development, just when releasing
- Each package gets its own version, git tag, and GitHub release
- The process respects workspace dependencies and cascades updates automatically