Thank you for your interest in contributing to txKit! This guide will help you get started.
# Clone the repository
git clone https://github.com/txkit/mono.git
cd mono
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Start dev mode
pnpm devpackages/
core/ - Framework-agnostic types, utilities, constants
react/ - React components and hooks
themes/ - CSS themes and visual variants
tx-protocol/ - Open PreparedTransaction protocol (types + zod schemas)
tx-decoder/ - Decode raw EVM calldata into clearSigning trees
ows-adapter/ - Bridge MoonPay Open Wallet Standard <-> PreparedTransaction
x402-adapter/ - Bridge x402 HTTP payments <-> PreparedTransaction
app/
docs/ - Documentation site (Vocs)
landing/ - Marketing landing (Astro)
story/ - Component playground (Vite)
- Create a branch from
main - Make your changes
- Run checks:
pnpm typecheck && pnpm lint && pnpm build - Open a pull request
We use Conventional Commits:
<type>(<scope>): <description>
Types: feat, fix, refactor, style, a11y, docs, chore, perf
Scopes: core, react, themes, docs, story, ci
Examples:
feat(react): add TokenGate component
fix(core): handle undefined chain in getExplorerUrl
docs(react): add TransactionButton usage examples
- No semicolons
- Arrow functions everywhere
typeoverinterface- CSS custom properties with
--txkit-*prefix - WCAG 2.1 AA accessibility compliance required
- See the codebase for detailed patterns
- Keep PRs focused on a single change
- Include a clear description of what and why
- Ensure CI passes (typecheck, lint, build)
- Add/update tests if applicable
- Use the bug report template for bugs
- Use the feature request template for ideas
By contributing, you agree that your contributions will be licensed under the MIT License.