Thank you for your interest in contributing to the Tawk Agents SDK! This document provides guidelines and instructions for contributing.
Be respectful, inclusive, and constructive in all interactions.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/agents-sdk.git - Install dependencies:
npm install - Create a branch:
git checkout -b feature/your-feature-name
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test
# Run specific test
npm run test:basic- TypeScript: All code must be written in TypeScript
- Formatting: We use Prettier (run
npm run format) - Linting: We use ESLint (run
npm run lint) - Types: Prefer explicit types, avoid
anywhen possible
All new features must include tests:
// tests/your-feature.test.ts
import { Agent, run } from '../src';
describe('Your Feature', () => {
it('should work correctly', async () => {
const agent = new Agent({
name: 'Test',
instructions: 'Test instructions'
});
const result = await run(agent, 'test input');
expect(result.finalOutput).toBeDefined();
});
});Use clear, descriptive commit messages:
feat: add new handoff feature
fix: resolve session memory leak
docs: update README with examples
perf: optimize tool result extraction
test: add tests for guardrails
- Update README.md with details of changes if needed
- Add tests for new functionality
- Ensure all tests pass:
npm test - Ensure build succeeds:
npm run build - Update documentation if needed
- Submit PR with clear description
- 🐛 Bug fixes
- ✨ New features
- 📚 Documentation improvements
- ⚡ Performance optimizations
- 🧪 Additional tests
- 🌐 Examples and tutorials
Open an issue or reach out to support@tawk.to
Thank you for contributing!