This project uses Bun as the runtime and package manager.
# Install dependencies
bun install
# Run linter
bun run lint
# Format code
bun run format
# Type check
bun run type-check
# Check bundle size
bun run sizeThis project uses automated Git hooks powered by Husky to maintain code quality and security.
- Gitleaks - Scans for secrets, API keys, and credentials
- Biome - Lints and formats staged files automatically
- Commitlint - Validates commit message format
- TypeScript - Type checking to catch errors early
We follow Conventional Commits specification:
<type>(<scope>): <subject>
Available types:
feat: New featurefix: Bug fixdocs: Documentation only changesstyle: Code style changes (formatting, missing semi colons, etc)refactor: Code change that neither fixes a bug nor adds a featureperf: Performance improvementstest: Adding or updating testsbuild: Changes to build system or dependenciesci: CI/CD configuration changeschore: Other changes that don't modify src or test filesrevert: Reverts a previous commit
Examples:
feat: add voice cloning endpoint
feat(video): implement background removal
fix: handle null pointer in transcription
fix(captions): correct timestamp alignment
docs: update API documentation
refactor: simplify audio processing pipeline
perf(image): optimize memory usage
chore: update dependenciesWe use Biome for linting and formatting:
- Automatic formatting on commit via lint-staged
- Manual formatting:
bun run format - Manual linting:
bun run lint
SDK bundle size is monitored via size-limit:
bun run sizeCurrent limits are defined in .size-limit.json.
- Fork the repository
- Create a feature branch:
git checkout -b feat/amazing-feature - Make your changes
- Commit with conventional format:
git commit -m "feat: add amazing feature" - Push to your fork:
git push origin feat/amazing-feature - Open a Pull Request
- ✅ All automated checks must pass
- ✅ Follow conventional commits format
- ✅ Update documentation if needed
- ✅ Add tests for new features
- ✅ Keep bundle size within limits
# Skip all hooks (not recommended)
git commit --no-verify -m "emergency fix"# Reinstall hooks
bun run prepare
chmod +x .husky/*bun run type-checkbun run formatIf gitleaks detects secrets:
- DO NOT bypass the hook
- Remove the secret from your code
- Use environment variables instead
- If already committed, rotate the exposed credentials
Open an issue or reach out to the maintainers.