Thanks for your interest in contributing! This project is in early release — APIs are stabilizing and we welcome contributions.
# Clone
git clone https://github.com/akshitkrnagpal/tsproxy.git
cd tsproxy
# Install
pnpm install
# Start infrastructure
docker compose up -d
# Seed sample data
pnpm seed
# Start all dev servers
pnpm devpackages/
cli/ → @tsproxy/cli (CLI framework)
api/ → @tsproxy/api (HonoJS proxy server)
js/ → @tsproxy/js (search client adapter)
web/ → @tsproxy/react (headless React components)
apps/
web/ → Next.js demo app
docs/ → Nextra documentation site
pnpm dev # Start all dev servers
pnpm build # Build all packages (excludes docs)
pnpm test # Run all tests
pnpm typecheck # Type check all packages
pnpm seed # Seed Typesense with sample data# All tests
pnpm test
# Specific package
pnpm --filter @tsproxy/api test
pnpm --filter @tsproxy/cli testTests require Docker for Typesense. Start it with docker compose up -d.
- Create a branch from
main - Make your changes
- Run
pnpm typecheck && pnpm testto verify - Submit a pull request
- TypeScript with strict mode
- ESM modules
- No default exports (except config files and React pages)
- Minimal dependencies
- Create
packages/web/src/components/YourComponent.tsx - Use the
getOverridepattern for all sub-elements - Export from
packages/web/src/index.ts - Add documentation in
apps/docs/pages/packages/react.mdx
- Create
packages/api/src/routes/your-route.ts - Register in
packages/api/src/index.ts - Add tests in
packages/api/src/__tests__/ - Add documentation in
apps/docs/pages/api-reference/
- Create
packages/cli/src/commands/your-command.ts - Register in
packages/cli/src/index.ts - Add tests in
packages/cli/src/__tests__/ - Update
packages/cli/README.mdand docs
Releases are managed via GitHub Actions. To publish a new version:
- Update
CHANGELOG.md - Go to Actions → Publish → Run workflow → Enter version
- The workflow bumps versions, builds, publishes to npm, and creates a GitHub Release
By contributing, you agree that your contributions will be licensed under the MIT License.