CoolCline
is an agentic coding assistant that combines the best features of Cline, Roo Cline and Bao Cline. Working seamlessly with your Command Line Interface and Editor, it brings you the most powerful AI development experience. Thanks to all their CoolClines
contributors!
Thank you for considering contributing to CoolCline! This guide will help you understand how to participate in project development.
We follow the standard gitflow
workflow (recommended):
Remote and local branches:
main
branch: Stable release versionsdevelop
branch: Latest development version
Local-only branches:
feature/*
branches: New feature developmentdocs/*
branches: Documentation updateshotfix/*
branches: Bug fixes for main branchdevfix/*
branches: Bug fixes for develop branchrelease/*
branches: Release preparation
Click the fork
button to fork the repository to your Gitee or GitHub account.
Note: The develop branch contains the latest version, while the main branch is the release version of the develop branch:
# Execute in command line
# gitee
git clone https://gitee.com/<your-gitee-username>/coolcline.git
# github
git clone https://github.com/<your-github-username>/coolcline.git
# Execute in command line
cd coolcline # Enter project directory
code coolcline # Open project
# Continue in command line or VSCode terminal
git checkout develop # Switch to develop branch
git pull origin develop # Pull latest develop branch
# Create branch like: `feature/<your-feature-name>`, `docs/<your-docs-name>`, `hotfix/<your-hotfix-name>`, `devfix/<your-devfix-name>`, `release/<your-release-name>`
git checkout -b feature/xx develop # Create feature branch from develop
bun is currently more popular than npm, we recommend using bun to install dependencies. Note: if you switch to npm, please modify the commands in
package.json
.
-
Install bun
If you don't have bun yet, please install it first. bun website: https://bun.sh/
macOS install bun:
curl -fsSL https://bun.sh/install | bash
windows install bun:
powershell -c "irm bun.sh/install.ps1 | iex"
-
Install dependencies (required):
# Execute in root directory to install all dependencies
# 'all' will install dependencies for both root and webview-ui/ directories
bun run install:all
- Run tests:
# Execute in root directory
bun run test # Note: not `bun test`
-
Start development environment: Press
F5
(or clickRun
->Start Debugging
in VSCode top menu) to launch a new VSCode window with the extension loaded.Note: If you encounter build issues, you may need to install the esbuild problem matchers extension.
Anyone can contribute code to CoolCline, but we ask that you follow these guidelines:
-
Keep Pull Requests Focused
- Limit PRs to a single feature or bug fix
- Split larger changes into smaller, related PRs
- Break changes into logical commits that can be reviewed independently
-
Code Quality
# Before submitting:
# Execute in root directory to check code style
bun run lint # Address any ESLint warnings or errors before submitting
# Execute in root directory to format code
bun run format # Format code with Prettier
# Follow TypeScript best practices and maintain type safety
-
Testing
- Add tests for new features
- Run
bun run test
to ensure all tests pass - Update existing tests if your changes affect them
- Include both unit tests and integration tests where appropriate
-
Commit Guidelines
- Write clear, descriptive commit messages
- Use conventional commit format (e.g., "feat:", "hotfix:", "devfix:", "release:", "docs:")
- Reference relevant issues in commits using #issue-number
-
Before Submitting
- Rebase your branch on the latest develop branch
- Ensure your branch builds successfully
- Double-check all tests are passing (
bun run test
, note: notbun test
) - Review your changes for any debugging code or console logs
-
Pull Request Description
- Clearly describe what your changes do
- Include steps to test the changes
- List any breaking changes
- Add screenshots for UI changes
By submitting a pull request, you agree that your contributions will be licensed under the same license as the project (Apache 2.0).
Hey: Contributing to CoolCline isn't just about writing code - it's about being part of a community that's shaping the future of AI-assisted development. Let's build something amazing together! 🚀