Contributing
Thank you for your interest in contributing! This guide will help you get started.
Development Setup
Prerequisites
- Go 1.23+
- Node.js 18+
- Claude Code CLI (for testing MCP integration)
Build from Source
bash
# Clone the repository
git clone https://github.com/znlnzi/claude-config-studio.git
cd claude-config-studio
# Build MCP server
make mcp
# Run tests
go test ./internal/luoshu/ -v
# Install locally
make installProject Structure
cmd/mcp-server/ # MCP server entry point
internal/luoshu/ # Core logic (memory, search, indexing)
internal/templatedata/ # Built-in templates
dist/skills/ # Global skills (luoshu.setup, luoshu.config)
npm/ # npm package for distributionHow to Contribute
Reporting Issues
- Check existing issues first to avoid duplicates
- Include reproduction steps, expected vs actual behavior
- Attach relevant logs or screenshots
Submitting Changes
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes following the code style below
- Add tests for new functionality
- Ensure all tests pass:
go test ./internal/... - Ensure the build succeeds:
make mcp - Commit with Conventional Commits:
feat:new featurefix:bug fixdocs:documentationrefactor:code restructuringtest:adding testschore:build/tooling
- Open a Pull Request
Code Style
- Follow standard Go conventions (
gofmt,go vet) - Keep functions under 50 lines
- Keep files under 800 lines
- Write meaningful error messages
- Add tests for new functionality (target 80%+ coverage)
Adding Templates
Templates are defined in internal/templatedata/. To add a new template:
- Create the template definition in the appropriate file
- Register it in
catalog.go - Build and verify:
go build ./cmd/mcp-server/
Adding MCP Tools
MCP tools are defined in cmd/mcp-server/. Follow the existing patterns for tool registration and handler implementation.
Code of Conduct
Be respectful and constructive. We are all here to build something useful together.
License
By contributing, you agree that your contributions will be licensed under the MIT License.