clear-code-ai-coding-assistants
```markdown
What this skill does
```markdown
---
name: clear-code-ai-coding-assistants
description: Comprehensive guide and comparison resource for open-source AI coding assistants including Cline, OpenCode, OpenHands, Aider, Continue, Tabby, Void, and Goose
triggers:
- set up an open source AI coding assistant
- compare AI coding tools
- install aider for my project
- self-host an AI coding assistant
- open source alternative to GitHub Copilot
- set up Cline in VS Code
- configure OpenHands for my team
- which AI coding assistant should I use
---
# Clear-Code: Open-Source AI Coding Assistants Guide
> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.
Clear-Code is a community-driven resource hub cataloging, comparing, and promoting the best open-source AI coding assistants. This skill gives AI agents the knowledge to help developers install, configure, and effectively use any of the featured tools.
---
## Tool Overview & Quick Selection
| Tool | Interface | Best For | License |
|------|-----------|----------|---------|
| **Cline** | VS Code Extension | Autonomous agent in editor | Apache 2.0 |
| **OpenCode** | Terminal TUI | CLI-first developers | MIT |
| **OpenHands** | Web UI + CLI | Enterprise/team automation | MIT |
| **Aider** | Terminal CLI | Git-integrated pair programming | Apache 2.0 |
| **Continue** | VS Code/JetBrains | Copilot replacement in IDE | Apache 2.0 |
| **Tabby** | Self-hosted server | Private, self-hosted completion | Apache 2.0 |
| **Void** | Standalone editor | Open-source Cursor alternative | — |
| **Goose** | CLI (by Block) | Extensible CLI agent | Apache 2.0 |
---
## 1. Aider — Terminal AI Pair Programmer
### Installation
```bash
# Via pip (recommended)
pip install aider-chat
# Via pipx (isolated environment)
pipx install aider-chat
# Via Homebrew (macOS)
brew install aider
```
### Configuration
```bash
# Set API keys via environment variables
export OPENAI_API_KEY=$OPENAI_API_KEY
export ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY
export GEMINI_API_KEY=$GEMINI_API_KEY
# Or create a .env file in your project root
echo "ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY" >> .env
```
### Key Commands
```bash
# Start aider with Claude Sonnet (recommended)
aider --model claude-sonnet-4-5
# Start with GPT-4o
aider --model gpt-4o
# Start with a specific file loaded
aider src/main.py src/utils.py
# Use a local model via Ollama
aider --model ollama/codellama
# Architect mode (uses two models: one plans, one edits)
aider --architect --model claude-opus-4-5 --editor-model claude-sonnet-4-5
# Watch mode — aider monitors files for AI comments
aider --watch-files
# Voice input mode
aider --voice
# Auto-commit off (review before committing)
aider --no-auto-commits
```
### In-Session Commands
```
# Inside an aider session:
/add src/newfile.py # Add a file to context
/drop src/oldfile.py # Remove a file from context
/ls # List files in context
/diff # Show last diff
/undo # Undo last commit
/run pytest tests/ # Run a shell command
/ask How does this work? # Ask without making edits
/voice # Toggle voice input
/help # Show all commands
```
### Configuration File
```yaml
# .aider.conf.yml in project root or ~/.aider.conf.yml
model: claude-sonnet-4-5
auto-commits: true
dirty-commits: true
attribute-author: true
attribute-committer: true
test-cmd: pytest
lint-cmd: ruff check
auto-lint: true
auto-test: true
```
### Real Usage Example
```bash
# Initialize in a project
cd my-project
git init # Aider requires a git repo
# Start session with relevant files
aider --model claude-sonnet-4-5 src/api.py tests/test_api.py
# Aider prompt examples:
# "Add input validation to the create_user function"
# "Write tests for the payment processing module"
# "Refactor the database connection to use a connection pool"
# "Fix the bug where null values cause a crash on line 47"
```
### Repository Map Usage
```bash
# Aider automatically builds a repo map — you can tune it
aider --map-tokens 2048 # Increase map size for large repos
aider --map-refresh auto # Auto-refresh map as files change
# For monorepos, run from subdirectory
cd packages/backend
aider --model claude-sonnet-4-5
```
---
## 2. Cline — VS Code Autonomous Agent
### Installation
```
1. Open VS Code
2. Go to Extensions (Ctrl+Shift+X)
3. Search "Cline"
4. Install "Cline" by Saoud Rizwan
```
Or install via CLI:
```bash
code --install-extension saoudrizwan.claude-dev
```
### Configuration
After installing, open Cline settings:
1. Click the Cline icon in the sidebar
2. Click the settings gear icon
3. Select your API provider and enter credentials
Supported providers:
- Anthropic (Claude models)
- OpenAI (GPT models)
- Google Gemini
- OpenRouter (access many models)
- Ollama (local models)
- LM Studio (local models)
- AWS Bedrock
- Azure OpenAI
```json
// VS Code settings.json — Cline config
{
"cline.apiProvider": "anthropic",
"cline.apiModelId": "claude-opus-4-5",
// API key set in the Cline UI, not here
}
```
### MCP (Model Context Protocol) Integration
```json
// Add to Cline MCP settings (accessible in Cline UI)
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/project"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "$GITHUB_TOKEN"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "$DATABASE_URL"
}
}
}
}
```
### Effective Cline Prompts
```
# Good Cline task descriptions:
"Create a REST API endpoint for user authentication using JWT tokens.
Use Express.js, add input validation with Zod, and write Jest tests."
"Refactor the payment processing module to handle webhooks from Stripe.
Look at the existing stripe.js file and the webhook handler."
"Debug why the React component in src/components/DataTable.tsx causes
a memory leak. Check the useEffect hooks."
"Set up a complete CI/CD pipeline with GitHub Actions for this Node.js
project. Include lint, test, and deploy stages."
```
### Custom Instructions
```markdown
<!-- Cline custom instructions (set in Cline UI) -->
You are working on a TypeScript Node.js project.
- Always use TypeScript strict mode
- Follow the existing code patterns in src/
- Write tests for all new functions
- Use the project's existing logger (import from src/utils/logger)
- Never modify package.json without asking first
- Prefer async/await over callbacks
```
---
## 3. OpenHands — Self-Hosted AI Software Engineer
### Installation via Docker (Recommended)
```bash
# Pull and run OpenHands
docker pull docker.all-hands.dev/all-hands-ai/openhands:0.40
docker run -it --rm \
--pull=always \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.40-nikolaik \
-e LOG_ALL_EVENTS=true \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.openhands-state:/.openhands-state \
-p 3000:3000 \
--add-host host.docker.internal:host-gateway \
--name openhands-app \
docker.all-hands.dev/all-hands-ai/openhands:0.40
```
Access at: `http://localhost:3000`
### CLI Usage
```bash
# Install CLI
pip install openhands-ai
# Run a task non-interactively
openhands run \
--task "Fix the failing tests in tests/test_api.py" \
--model claude-opus-4-5 \
--api-key $ANTHROPIC_API_KEY \
--workspace /path/to/project
# Run with GitHub issue
openhands run \
--github-token $GITHUB_TOKEN \
--task "Fix issue #123 in this repository" \
--repo owner/repo-name
```
### Python SDK Usage
```python
from openhands import OpenHandsClient
client = OpenHandsClient(
model="claude-opus-4-5",
api_key=os.environ["ANTHROPIC_API_KEY"]
)
# Run an autonomous task
resultRelated in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.