DevMate is a CLI based developer assistant built as a tool using AI agent. It can read, understand and modify files within a workspace by chaining structured tool calls.
DevMate is designed to explore how AI agents can go beyond simple chat and take meaningful actions in a real development environment.
Instead of returning text responses, DevMate:
- Inspects project files.
- Reasons about tasks.
- Applies changes directly to code.
- Agent loop with iterative reasoning.
- Tool system (readFile, listFiles, editFile).
- Workspace aware file operations.
- Code editing (replace, delete, insert in progress).
- Structured logging of agent decisions and tool usage.
DevMate runs an agent loop that:
- Receives a user request.
- Decides whether to call a tool or respond.
- Executes tool calls (e.g. reading or editing files).
- Feeds results back into the loop.
- Repeats until the task is complete.
The system separates:
- AI decision making (what to do).
- Tool execution (how it’s done safely).
listFiles– returns a structured view of the workspace.readFile– reads file contents.editFile– modifies files using replace/delete operations (insert in progress).
- Node.js
- JavaScript (ES modules)
- File system API (
fs/promises) - Gemini API (tool calling)
git clone <your-repo>
cd devmate
npm install
npm startTesting is currently done through manual function calls and CLI interaction. Planned improvements include structured test cases for tool reliability.
- Smarter code edits (scoped / context-aware).
- Insert operation support.
- Improved error handling and recovery.
- More advanced tools (search, refactor, etc.).
This project explores building AI systems that can safely interact with real codebases, focusing on:
- Reliability over novelty.
- Clear separation of concerns.
- Incremental improvement of agent capabilities.