Skip to content

Latest commit

 

History

History
201 lines (127 loc) · 3.26 KB

File metadata and controls

201 lines (127 loc) · 3.26 KB

Contributing to Toka SDK

First of all, thank you for considering contributing to Toka SDK! 🚀
We welcome contributions from developers of all experience levels.

Toka SDK aims to provide a reliable, developer-friendly AI Cost Optimizer.
Your contributions help improve stability, performance, and usability for everyone.


📌 Code of Conduct

By participating in this project, you agree to maintain a respectful and inclusive environment.

Please:

  • Be respectful and constructive in discussions.
  • Provide helpful feedback.
  • Avoid offensive or discriminatory language.

🚀 Getting Started

1️⃣ Fork the Repository

Click the Fork button on GitHub and clone your fork:

git clone https://github.com/YOUR_USERNAME/toka.git
cd toka

2️⃣ Install Dependencies

npm install

3️⃣ Run the Project Locally

npm run build

To run in development mode:

npm run start

🧪 Running Tests

We use Jest for testing.

npm test

Before submitting a pull request, ensure:

  • All tests pass
  • New features include tests (if applicable)
  • No linting errors

🧹 Code Style & Linting

We follow consistent TypeScript and ESLint standards.

Check linting:

npm run lint

Format code:

npm run format

Please ensure your changes are formatted before committing.


🌱 Branching Strategy

Create a new branch for each feature or fix:

git checkout -b feature/your-feature-name

Examples:

  • feature/token-tracking-improvement
  • fix/cost-estimator-bug

📝 Commit Guidelines

Use clear and descriptive commit messages:

  • feat: add redis cache support
  • fix: correct token calculation bug
  • docs: improve README examples
  • refactor: simplify cost estimator logic

We loosely follow Conventional Commits.


🔄 Submitting a Pull Request

  1. Push your branch:

    git push origin feature/your-feature-name
  2. Open a Pull Request on GitHub.

  3. Clearly describe:

    • What you changed
    • Why you changed it
    • Any breaking changes
  4. Link related issues if applicable.


🐛 Reporting Issues

If you find a bug, please open an issue including:

  • Description of the problem
  • Steps to reproduce
  • Expected behavior
  • Node.js version
  • Toka SDK version

Clear issue reports help us resolve problems faster.


💡 Feature Requests

We welcome ideas!

When suggesting a feature:

  • Explain the problem it solves
  • Describe the proposed solution
  • Provide use-case examples

🏗 Areas Where You Can Help

  • Performance optimization
  • Improving cost estimation accuracy
  • Additional AI provider integrations
  • Documentation improvements
  • Example projects
  • Test coverage expansion

📦 Publishing & Versioning

Maintainers follow Semantic Versioning:

  • patch → bug fixes
  • minor → new features (non-breaking)
  • major → breaking changes

❤️ Supporting the Project

If you find Toka SDK useful:

  • ⭐ Star the repository
  • 🐛 Report issues
  • 💡 Suggest improvements
  • 📢 Share it with other developers

Your support helps grow the ecosystem.


🙌 Thank You

Open source thrives because of contributors like you.

Thank you for helping improve Toka SDK!