First off, thank you for considering contributing to Claude Code Tool Manager! It's people like you that make this tool better for everyone.
- Code of Conduct
- Getting Started
- Development Setup
- How to Contribute
- Pull Request Process
- Style Guidelines
- Community
This project and everyone participating in it is expected to uphold a welcoming, inclusive environment. Please be respectful and constructive in all interactions.
Before you begin, ensure you have the following installed:
- Node.js 18 or higher
- Rust 1.70 or higher
- Platform-specific dependencies for Tauri
- Windows: Microsoft Visual Studio C++ Build Tools
- macOS: Xcode Command Line Tools
- Linux:
libwebkit2gtk-4.1-dev,libappindicator3-dev,librsvg2-dev,patchelf
-
Fork the repository
Click the "Fork" button on the GitHub repository.
-
Clone your fork
git clone https://github.com/YOUR_USERNAME/claude-code-tool-manager.git cd claude-code-tool-manager -
Install dependencies
npm install
-
Run in development mode
npm run tauri dev
-
Run tests
npm test
Before creating a bug report, please check the existing issues to see if the problem has already been reported.
When creating a bug report, please use our bug report template and include:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected vs actual behavior
- Your operating system and app version
- Any relevant logs or screenshots
Feature requests are welcome! Please use our feature request template and include:
- A clear description of the problem you're trying to solve
- Your proposed solution
- Any alternatives you've considered
-
Find an issue to work on
Look for issues labeled
good first issueorhelp wanted. -
Comment on the issue
Let others know you're working on it to avoid duplicate effort.
-
Create a branch
git checkout -b feature/your-feature-name # or git checkout -b fix/your-bug-fix -
Make your changes
Follow the style guidelines below.
-
Test your changes
npm test npm run check -
Commit your changes
Write clear, concise commit messages:
git commit -m "Add feature: description of what you added" # or git commit -m "Fix: description of what you fixed"
-
Push and create a Pull Request
git push origin feature/your-feature-name
-
Ensure your PR:
- Has a clear title and description
- References any related issues (e.g., "Fixes #123")
- Includes tests for new functionality
- Passes all CI checks
-
PR Review:
- A maintainer will review your PR
- Address any requested changes
- Once approved, your PR will be merged
-
After merging:
- Delete your branch
- Your contribution will be included in the next release
- Use TypeScript for all new code
- Follow the existing component structure in
src/lib/components/ - Use Svelte 5 runes (
$state,$derived,$effect) - Use Tailwind CSS for styling
- Keep components focused and reusable
- Follow Rust idioms and conventions
- Use
Resulttypes for error handling - Document public functions with doc comments
- Keep Tauri commands in
src-tauri/src/commands/ - Keep business logic in
src-tauri/src/services/
- Write clear, self-documenting code
- Add comments for complex logic
- Keep functions small and focused
- Use meaningful variable and function names
claude-code-tool-manager/
├── src/ # SvelteKit frontend
│ ├── lib/
│ │ ├── components/ # Svelte components
│ │ ├── stores/ # Svelte 5 reactive stores
│ │ ├── types/ # TypeScript types
│ │ └── utils/ # Utility functions
│ ├── routes/ # SvelteKit routes
│ └── tests/ # Vitest tests
├── src-tauri/ # Tauri Rust backend
│ └── src/
│ ├── commands/ # Tauri command handlers
│ ├── db/ # Database schema and models
│ └── services/ # Business logic services
└── .github/ # GitHub workflows and templates
- Questions? Open a Discussion
- Found a bug? Open an Issue
- Have an idea? Open a Feature Request
Your contributions help make Claude Code Tool Manager better for everyone. Whether it's fixing a typo, reporting a bug, or implementing a new feature - every contribution matters!