Curated catalog of AI coding assistants, terminal agents, local LLMs, and automated testing tools
12
4 commits
updated Oct 8, 2026
A curated collection of state-of-the-art AI coding assistants, terminal agents, autonomous software engineering architectures, local code foundation models, and seminal research papers bridging academia and industry.
Modern AI-augmented software engineering has evolved across five distinct autonomy tiers:
flowchart LR
A["Level 1: Autocomplete<br/>(Single-line Next-Token)"] --> B["Level 2: Conversational Copilot<br/>(Chat Panel & Infilling)"]
B --> C["Level 3: Context-Aware IDE<br/>(Repo-Map & AST Retrieval)"]
C --> D["Level 4: Agentic Pair Programmer<br/>(Multi-File Diff & Test Loops)"]
D --> E["Level 5: Autonomous Software Engineer<br/>(SWE-bench Issue Resolution)"]
graph TD
subgraph Inputs["1. Context Ingestion Layer"]
NL["User Task / Issue Prompt"]
AST["Tree-sitter AST Graph"]
LSP["Language Server Protocol (LSP)"]
GIT["Git Commit History & Diffs"]
end
subgraph Engine["2. Orchestration & Model Core"]
PM["Prompt Context Packer"]
FIM["Fill-in-the-Middle (FIM) Engine"]
LLM["Foundation Model (Local / Cloud API)"]
TOOL["Tool & Function Calling Router"]
end
subgraph Execution["3. Execution & Validation Sandbox"]
PATCH["Patch Engine (Diff / Replace)"]
SHELL["Terminal / Bash Sandbox"]
TEST["Test Runner (pytest / cargo / jest)"]
REFLECT["Reflexion / Self-Debugging"]
end
subgraph Output["4. User Interfaces & Effectors"]
IDE["Agentic IDE (Cursor, Windsurf)"]
CLI["Terminal CLI Agent (Aider, Claude Code)"]
PR["PR Review Bot (CodeRabbit)"]
end
NL --> PM
AST --> PM
LSP --> PM
GIT --> PM
PM --> LLM
FIM --> LLM
LLM --> TOOL
TOOL --> PATCH
PATCH --> SHELL
SHELL --> TEST
TEST -- "Traceback Error" --> REFLECT
REFLECT --> PM
TEST -- "Success (Exit 0)" --> Output
PATCH --> IDE
PATCH --> CLI
PATCH --> PR
Modern coding agents (e.g., Aider, SWE-agent, Cursor Composer) operate as closed-loop feedback controllers rather than passive generative models:
sequenceDiagram
autonumber
actor Dev as Developer
participant Agent as Coding Agent
participant Repo as Codebase / Tree-sitter
participant Shell as Terminal Sandbox
participant Git as Git Version Control
Dev->>Agent: Prompt: "Fix race condition in threadpool"
Agent->>Repo: Index AST & Query Symbol Dependency Graph (Repo Map)
Repo-->>Agent: Relevant file slices, type definitions & signatures
Agent->>Agent: Plan multi-file patch (Unified Diff)
Agent->>Shell: Apply edits & run test suite (pytest / cargo test)
alt Tests Pass
Shell-->>Agent: Exit code 0 (All 42 tests passed)
Agent->>Git: Commit atomic diff with descriptive message
Agent-->>Dev: Verified patch ready & committed
else Tests Fail
Shell-->>Agent: Traceback: Assertion error at worker.py:84
Agent->>Agent: Self-Refine & compute error delta (Reflexion)
Agent->>Shell: Apply updated patch & re-run tests
end
How agents assemble large codebases into a constrained context window without naive context dumping:
flowchart TD
Src["Source Code Repository<br/>(100+ Files, 100k+ LoC)"] --> TS["Tree-sitter AST Parser"]
TS --> Extract["Extract Symbols<br/>(Classes, Functions, Methods, Imports)"]
Extract --> CallGraph["Construct Directed Dependency Graph"]
CallGraph --> PR["Run Personalized PageRank<br/>(Biased towards actively edited files)"]
PR --> Rank["Rank Top-K Informative Signatures"]
Rank --> Budget["Token Budget Packing<br/>(Fits 1,024 - 4,096 tokens)"]
Budget --> Prompt["Inject into System Context<br/>('Repo Map')"]
graph TD
subgraph WholeFile["Whole-File Rewrite"]
W1["Model emits full file (1,000+ lines)"]
W2["High latency & high token cost"]
W3["Prone to truncation & syntax loss"]
end
subgraph SearchReplace["Search & Replace Blocks"]
S1["SEARCH block with original lines"]
S2["REPLACE block with modified lines"]
S3["Robust, token-efficient, fast execution"]
end
subgraph UnifiedDiff["Unified Diff (diff -u)"]
U1["Line-numbered hunk headers (@@ -12,4 +12,6 @@)"]
U2["Ultra-compact token footprint"]
U3["Requires strict line arithmetic (High failure rate on smaller LLMs)"]
end
Full-featured development environments built natively around agentic pair programming and multi-file code editing.
Command-line power tools that operate directly inside your terminal, managing git commits and automated terminal feedback.
Pluggable extensions compatible with standard editors (VS Code, Neovim, JetBrains) allowing custom local and remote model backends.
Full-loop autonomous agents that triage GitHub issues, implement features, and run verification test suites independently.
Top-tier open weights you can run locally or deploy on private infrastructure to keep proprietary code completely private.
Review bots that inspect pull requests, catch subtle concurrency bugs, and enforce architectural guidelines.
Tools that automatically write edge cases, integration tests, and unit tests to push test coverage up to 90%+.
Keep system design documents, API specifications, and architecture diagrams in sync with codebases.
A curated bibliography of seminal academic publications establishing the theory, benchmarks, and architectures for AI-assisted programming:
Summary of state-of-the-art results on the standardized SWE-bench Verified benchmark (500 curated real-world GitHub issues):
| Rank | Agent / System Architecture | Base Model | Resolved % ($pass@1$) | Verification Loop | Primary Reference |
|---|---|---|---|---|---|
| 1 | OpenHands + CodeAct | Frontier Model | 53.0% | Docker Test Sandbox | Wang et al. (2024) |
| 2 | SWE-agent + ACI | Frontier Model | 43.2% | Containerized ACI | Yang et al. (2024) |
| 3 | Aider + Architect Loop | Qwen2.5-Coder-32B | 38.4% | Terminal Pytest Loop | Gauthier (2024) |
| 4 | SWE-agent | DeepSeek-Coder-V2 | 35.6% | Execution Feedback | Yang et al. (2024) |
| 5 | Baseline Zero-Shot Prompt | Dense 70B Model | 12.5% | None (Single-Turn) | Jimenez et al. (2024) |
Rather than naively loading entire files into the context window, tools like Aider construct a condensed Repo Map using Tree-sitter:
When modifying code, agents choose between three representations:
diff -u): Compact; requires strict line-number adherence, which can fail with non-specialized models.Want to run an agentic coding assistant with 100% data privacy and zero API costs? Here is the standard local stack:
# 1. Pull the top-tier local coding model using Ollama
ollama run qwen2.5-coder:14b
# 2. Install Aider
pip install aider-chat
# 3. Launch Aider in your git repo with local Ollama
cd /path/to/your/project
aider --model ollama/qwen2.5-coder:14b
Alternatively, configure Continue.dev in VS Code to point to http://localhost:11434 for a native IDE interface.
| Tool / Project | Interface Type | Multi-File Editing | Open Source? | Local Models (Ollama)? | Autonomous Test Loop | Context Strategy |
|---|---|---|---|---|---|---|
| Cursor | Standalone IDE | ✅ (Composer) | ❌ | Partial | ❌ (Manual Run) | Semantic RAG + Index |
| Windsurf | Standalone IDE | ✅ (Cascade) | ❌ | ❌ | ❌ (Manual Run) | Real-Time Flows |
| Aider | CLI / Terminal | ✅ | ✅ | ✅ | ✅ (Automatic) | Tree-sitter Repo Map |
| Cline | VS Code Ext. | ✅ | ✅ | ✅ | ✅ (Terminal Tool) | Tool-based File Read |
| Continue.dev | VS Code / JetBrains | ✅ | ✅ | ✅ | ❌ | Custom Slash Commands |
| OpenHands | Web UI / Docker | ✅ | ✅ | ✅ | ✅ (Docker Sandbox) | Full Event Loop |
| SWE-agent | CLI / Benchmark | ✅ | ✅ | ✅ | ✅ (Containerized) | Agent-Computer Interface |
If you cite or benchmark these foundational tools and literature, use the following entries:
@inproceedings{jimenez2024swebench,
title = {SWE-bench: Can Language Models Resolve Real-World GitHub Issues?},
author = {Jimenez, Carlos E. and Yang, John and Wettig, Alexander and Yao, Shunyu and Pei, Kexin and Press, Ofir and Narasimhan, Karthik},
booktitle = {International Conference on Learning Representations (ICLR)},
year = {2024}
}
@article{chen2021codex,
title = {Evaluating Large Language Models Trained on Code},
author = {Chen, Mark and Tworek, Jerry and Jun, Heewoo and Yuan, Qiming and de Oliveira Pinto, Henrique Ponde and Kaplan, Jared and Edwards, Harri and Burda, Yuri and Joseph, Nicholas and Brockman, Greg and others},
journal = {arXiv preprint arXiv:2107.03374},
year = {2021}
}
@inproceedings{zhang2023repocoder,
title = {RepoCoder: Repository-Level Code Completion Through Iterative Retrieval and Generation},
author = {Zhang, Fengji and Chen, Bei and Zhang, Yue and Liu, Jacky and Lou, Jian-Guang},
booktitle = {Empirical Methods in Natural Language Processing (EMNLP)},
year = {2023}
}
@article{yang2024sweagent,
title = {SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering},
author = {Yang, John and Jimenez, Carlos E. and Wettig, Alexander and Lieret, Kilian and Yao, Shunyu and Narasimhan, Karthik and Press, Ofir},
journal = {arXiv preprint arXiv:2405.15793},
year = {2024}
}
@article{hui2024qwen25coder,
title = {Qwen2.5-Coder Technical Report},
author = {Hui, Binyuan and Yang, Jian and Cui, Zeyu and Yang, Jiaxi and Liu, Dayiheng and Zhang, Lei and Liu, Tianyu and Zhang, Baosong and Yu, Bowen and Dang, Kai and others},
journal = {arXiv preprint arXiv:2409.12186},
year = {2024}
}
@misc{sajjadi2026awesomecoding,
title = {Awesome AI Coding Tools: A Curated Taxonomy of Agents, Architectures, and Research},
author = {Sajjadi, Mahmoud},
year = {2026},
howpublished = {\url{https://github.com/mahmoudsajjadi/awesome-ai-coding-tools}}
}
We welcome community contributions! Please review CONTRIBUTING.md to propose additions or modifications.
This repository is distributed under the MIT License.
Curated catalog of AI coding assistants, terminal agents, local LLMs, and automated testing tools
12
4 commits
updated Oct 8, 2026
A curated collection of state-of-the-art AI coding assistants, terminal agents, autonomous software engineering architectures, local code foundation models, and seminal research papers bridging academia and industry.
Modern AI-augmented software engineering has evolved across five distinct autonomy tiers:
flowchart LR
A["Level 1: Autocomplete<br/>(Single-line Next-Token)"] --> B["Level 2: Conversational Copilot<br/>(Chat Panel & Infilling)"]
B --> C["Level 3: Context-Aware IDE<br/>(Repo-Map & AST Retrieval)"]
C --> D["Level 4: Agentic Pair Programmer<br/>(Multi-File Diff & Test Loops)"]
D --> E["Level 5: Autonomous Software Engineer<br/>(SWE-bench Issue Resolution)"]
graph TD
subgraph Inputs["1. Context Ingestion Layer"]
NL["User Task / Issue Prompt"]
AST["Tree-sitter AST Graph"]
LSP["Language Server Protocol (LSP)"]
GIT["Git Commit History & Diffs"]
end
subgraph Engine["2. Orchestration & Model Core"]
PM["Prompt Context Packer"]
FIM["Fill-in-the-Middle (FIM) Engine"]
LLM["Foundation Model (Local / Cloud API)"]
TOOL["Tool & Function Calling Router"]
end
subgraph Execution["3. Execution & Validation Sandbox"]
PATCH["Patch Engine (Diff / Replace)"]
SHELL["Terminal / Bash Sandbox"]
TEST["Test Runner (pytest / cargo / jest)"]
REFLECT["Reflexion / Self-Debugging"]
end
subgraph Output["4. User Interfaces & Effectors"]
IDE["Agentic IDE (Cursor, Windsurf)"]
CLI["Terminal CLI Agent (Aider, Claude Code)"]
PR["PR Review Bot (CodeRabbit)"]
end
NL --> PM
AST --> PM
LSP --> PM
GIT --> PM
PM --> LLM
FIM --> LLM
LLM --> TOOL
TOOL --> PATCH
PATCH --> SHELL
SHELL --> TEST
TEST -- "Traceback Error" --> REFLECT
REFLECT --> PM
TEST -- "Success (Exit 0)" --> Output
PATCH --> IDE
PATCH --> CLI
PATCH --> PR
Modern coding agents (e.g., Aider, SWE-agent, Cursor Composer) operate as closed-loop feedback controllers rather than passive generative models:
sequenceDiagram
autonumber
actor Dev as Developer
participant Agent as Coding Agent
participant Repo as Codebase / Tree-sitter
participant Shell as Terminal Sandbox
participant Git as Git Version Control
Dev->>Agent: Prompt: "Fix race condition in threadpool"
Agent->>Repo: Index AST & Query Symbol Dependency Graph (Repo Map)
Repo-->>Agent: Relevant file slices, type definitions & signatures
Agent->>Agent: Plan multi-file patch (Unified Diff)
Agent->>Shell: Apply edits & run test suite (pytest / cargo test)
alt Tests Pass
Shell-->>Agent: Exit code 0 (All 42 tests passed)
Agent->>Git: Commit atomic diff with descriptive message
Agent-->>Dev: Verified patch ready & committed
else Tests Fail
Shell-->>Agent: Traceback: Assertion error at worker.py:84
Agent->>Agent: Self-Refine & compute error delta (Reflexion)
Agent->>Shell: Apply updated patch & re-run tests
end
How agents assemble large codebases into a constrained context window without naive context dumping:
flowchart TD
Src["Source Code Repository<br/>(100+ Files, 100k+ LoC)"] --> TS["Tree-sitter AST Parser"]
TS --> Extract["Extract Symbols<br/>(Classes, Functions, Methods, Imports)"]
Extract --> CallGraph["Construct Directed Dependency Graph"]
CallGraph --> PR["Run Personalized PageRank<br/>(Biased towards actively edited files)"]
PR --> Rank["Rank Top-K Informative Signatures"]
Rank --> Budget["Token Budget Packing<br/>(Fits 1,024 - 4,096 tokens)"]
Budget --> Prompt["Inject into System Context<br/>('Repo Map')"]
graph TD
subgraph WholeFile["Whole-File Rewrite"]
W1["Model emits full file (1,000+ lines)"]
W2["High latency & high token cost"]
W3["Prone to truncation & syntax loss"]
end
subgraph SearchReplace["Search & Replace Blocks"]
S1["SEARCH block with original lines"]
S2["REPLACE block with modified lines"]
S3["Robust, token-efficient, fast execution"]
end
subgraph UnifiedDiff["Unified Diff (diff -u)"]
U1["Line-numbered hunk headers (@@ -12,4 +12,6 @@)"]
U2["Ultra-compact token footprint"]
U3["Requires strict line arithmetic (High failure rate on smaller LLMs)"]
end
Full-featured development environments built natively around agentic pair programming and multi-file code editing.
Command-line power tools that operate directly inside your terminal, managing git commits and automated terminal feedback.
Pluggable extensions compatible with standard editors (VS Code, Neovim, JetBrains) allowing custom local and remote model backends.
Full-loop autonomous agents that triage GitHub issues, implement features, and run verification test suites independently.
Top-tier open weights you can run locally or deploy on private infrastructure to keep proprietary code completely private.
Review bots that inspect pull requests, catch subtle concurrency bugs, and enforce architectural guidelines.
Tools that automatically write edge cases, integration tests, and unit tests to push test coverage up to 90%+.
Keep system design documents, API specifications, and architecture diagrams in sync with codebases.
A curated bibliography of seminal academic publications establishing the theory, benchmarks, and architectures for AI-assisted programming:
Summary of state-of-the-art results on the standardized SWE-bench Verified benchmark (500 curated real-world GitHub issues):
| Rank | Agent / System Architecture | Base Model | Resolved % ($pass@1$) | Verification Loop | Primary Reference |
|---|---|---|---|---|---|
| 1 | OpenHands + CodeAct | Frontier Model | 53.0% | Docker Test Sandbox | Wang et al. (2024) |
| 2 | SWE-agent + ACI | Frontier Model | 43.2% | Containerized ACI | Yang et al. (2024) |
| 3 | Aider + Architect Loop | Qwen2.5-Coder-32B | 38.4% | Terminal Pytest Loop | Gauthier (2024) |
| 4 | SWE-agent | DeepSeek-Coder-V2 | 35.6% | Execution Feedback | Yang et al. (2024) |
| 5 | Baseline Zero-Shot Prompt | Dense 70B Model | 12.5% | None (Single-Turn) | Jimenez et al. (2024) |
Rather than naively loading entire files into the context window, tools like Aider construct a condensed Repo Map using Tree-sitter:
When modifying code, agents choose between three representations:
diff -u): Compact; requires strict line-number adherence, which can fail with non-specialized models.Want to run an agentic coding assistant with 100% data privacy and zero API costs? Here is the standard local stack:
# 1. Pull the top-tier local coding model using Ollama
ollama run qwen2.5-coder:14b
# 2. Install Aider
pip install aider-chat
# 3. Launch Aider in your git repo with local Ollama
cd /path/to/your/project
aider --model ollama/qwen2.5-coder:14b
Alternatively, configure Continue.dev in VS Code to point to http://localhost:11434 for a native IDE interface.
| Tool / Project | Interface Type | Multi-File Editing | Open Source? | Local Models (Ollama)? | Autonomous Test Loop | Context Strategy |
|---|---|---|---|---|---|---|
| Cursor | Standalone IDE | ✅ (Composer) | ❌ | Partial | ❌ (Manual Run) | Semantic RAG + Index |
| Windsurf | Standalone IDE | ✅ (Cascade) | ❌ | ❌ | ❌ (Manual Run) | Real-Time Flows |
| Aider | CLI / Terminal | ✅ | ✅ | ✅ | ✅ (Automatic) | Tree-sitter Repo Map |
| Cline | VS Code Ext. | ✅ | ✅ | ✅ | ✅ (Terminal Tool) | Tool-based File Read |
| Continue.dev | VS Code / JetBrains | ✅ | ✅ | ✅ | ❌ | Custom Slash Commands |
| OpenHands | Web UI / Docker | ✅ | ✅ | ✅ | ✅ (Docker Sandbox) | Full Event Loop |
| SWE-agent | CLI / Benchmark | ✅ | ✅ | ✅ | ✅ (Containerized) | Agent-Computer Interface |
If you cite or benchmark these foundational tools and literature, use the following entries:
@inproceedings{jimenez2024swebench,
title = {SWE-bench: Can Language Models Resolve Real-World GitHub Issues?},
author = {Jimenez, Carlos E. and Yang, John and Wettig, Alexander and Yao, Shunyu and Pei, Kexin and Press, Ofir and Narasimhan, Karthik},
booktitle = {International Conference on Learning Representations (ICLR)},
year = {2024}
}
@article{chen2021codex,
title = {Evaluating Large Language Models Trained on Code},
author = {Chen, Mark and Tworek, Jerry and Jun, Heewoo and Yuan, Qiming and de Oliveira Pinto, Henrique Ponde and Kaplan, Jared and Edwards, Harri and Burda, Yuri and Joseph, Nicholas and Brockman, Greg and others},
journal = {arXiv preprint arXiv:2107.03374},
year = {2021}
}
@inproceedings{zhang2023repocoder,
title = {RepoCoder: Repository-Level Code Completion Through Iterative Retrieval and Generation},
author = {Zhang, Fengji and Chen, Bei and Zhang, Yue and Liu, Jacky and Lou, Jian-Guang},
booktitle = {Empirical Methods in Natural Language Processing (EMNLP)},
year = {2023}
}
@article{yang2024sweagent,
title = {SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering},
author = {Yang, John and Jimenez, Carlos E. and Wettig, Alexander and Lieret, Kilian and Yao, Shunyu and Narasimhan, Karthik and Press, Ofir},
journal = {arXiv preprint arXiv:2405.15793},
year = {2024}
}
@article{hui2024qwen25coder,
title = {Qwen2.5-Coder Technical Report},
author = {Hui, Binyuan and Yang, Jian and Cui, Zeyu and Yang, Jiaxi and Liu, Dayiheng and Zhang, Lei and Liu, Tianyu and Zhang, Baosong and Yu, Bowen and Dang, Kai and others},
journal = {arXiv preprint arXiv:2409.12186},
year = {2024}
}
@misc{sajjadi2026awesomecoding,
title = {Awesome AI Coding Tools: A Curated Taxonomy of Agents, Architectures, and Research},
author = {Sajjadi, Mahmoud},
year = {2026},
howpublished = {\url{https://github.com/mahmoudsajjadi/awesome-ai-coding-tools}}
}
We welcome community contributions! Please review CONTRIBUTING.md to propose additions or modifications.
This repository is distributed under the MIT License.