Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
- Docker Desktop installed and running
- Node.js 18.x or 20.x
- npm 9.x or later
-
Clone the repository
git clone https://github.com/KennethEhmsen/ci-co.git cd ci-co -
Start the platform
docker compose up -d
-
Install dependencies
cd shared && npm install && npm run build && cd .. cd mcp-server && npm install && npm run build && cd .. cd cicd-agent && npm install && npm run build && cd ..
-
Run tests
cd shared && npm test && cd .. cd mcp-server && npm test && cd .. cd cicd-agent && npm test && cd ..
ci-co/
├── shared/ # Shared library (handlers, config, utilities)
├── mcp-server/ # Claude Code MCP server
├── cicd-agent/ # CLI security agent
├── scripts/ # PowerShell utility scripts
└── .github/ # GitHub Actions and templates
- Check if the issue already exists in GitHub Issues
- If not, create a new issue using the Bug Report template
- Include:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Node.js version, Docker version)
- Check existing issues and discussions
- Create a new issue using the Feature Request template
- Describe the use case and proposed solution
-
Fork the repository
-
Create a feature branch
git checkout -b feature/your-feature-name
-
Make your changes
- Follow the existing code style
- Add tests for new functionality
- Update documentation as needed
-
Run tests
npm test -
Commit your changes
git commit -m "Add: brief description of changes" -
Push to your fork
git push origin feature/your-feature-name
-
Create a Pull Request
- Use a clear, descriptive title
- Reference any related issues
- Describe your changes
- Use TypeScript for all new code
- Enable strict mode
- Use meaningful variable and function names
- Add JSDoc comments for public APIs
Use conventional commit format:
type: brief description
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentation changestest: Adding or updating testsrefactor: Code refactoringchore: Maintenance tasks
- Write unit tests for new functionality
- Maintain test coverage above 80%
- Use descriptive test names
- Mock external dependencies
- Be respectful and inclusive
- Focus on constructive feedback
- Help others learn and grow
If you have questions, feel free to:
- Open a GitHub Discussion
- Create an issue with the
questionlabel
By contributing, you agree that your contributions will be licensed under the MIT License.