Skip to main content

A Claude Code-style AI coding assistant built with LangGraph and GPT-4o

Project description

Coder Buddy - AI-Powered Coding Assistant

PyPI version Python versions License Downloads

A Claude Code-style AI coding assistant built with LangGraph and OpenAI GPT-4o that transforms natural language prompts into complete, working projects. Supports both creating new projects from scratch and modifying existing codebases.

Open Source - Free to use, modify, and distribute under the MIT License.

+-----------------------------------------------------+
|    CCCCC   OOOOO   DDDD    EEEEE   RRRR             |
|   C       O     O  D   D   E       R   R            |
|   C       O     O  D    D  EEEE    RRRR             |
|   C       O     O  D   D   E       R  R             |
|    CCCCC   OOOOO   DDDD    EEEEE   R   R            |
|                                                     |
|           Coder Buddy - AI Assistant                |
+-----------------------------------------------------+

โœจ Features

Core Capabilities

  • ๐Ÿ—๏ธ Multi-Agent Architecture - Specialized agents (Clarifier, Planner, Architect, Coder) orchestrated by LangGraph
  • ๐Ÿค– Multi-Provider Support - Use OpenAI, Anthropic Claude, Google Gemini, Groq, or OpenRouter
  • ๐ŸŽจ Beautiful Terminal UI - Rich formatting with spinners, progress indicators, panels, and syntax highlighting
  • โšก Real-time Streaming - Stream tokens as the AI thinks and writes code
  • ๐Ÿ“บ Live Command Output - Real-time buffered streaming of shell command output (npm install, builds, etc.)
  • ๐Ÿ”„ Build & Edit Modes - Create new projects from scratch OR modify existing codebases
  • ๐Ÿ” Smart Project Discovery - Auto-detects project structure before planning modifications
  • โ“ Intelligent Clarification - Asks clarifying questions for vague prompts
  • ๐Ÿ‘ฅ Human-in-the-Loop - Review and approve/edit plans before implementation
  • ๐Ÿ’ฌ Interactive Chat - Discuss your project with full context awareness
  • ๐Ÿ“ Dynamic Project Folders - Projects created in named directories (e.g., todo-app/, snake-game/)
  • ๐Ÿ› ๏ธ Comprehensive Tools - File operations, pattern matching, content search, shell commands
  • ๐Ÿ” Sandboxed Execution - All operations confined to project root
  • โš™๏ธ Permission System - Strict mode (asks confirmation) or permissive (automatic)

Advanced Features

  • โœ… Plan Confirmation - Review architecture before building
  • โœ๏ธ Edit Instructions - Request changes to plan/architecture mid-workflow
  • ๐ŸŽฏ Precise Editing - edit_file() for exact string replacement
  • ๐Ÿ”Ž File Discovery - glob_files() for pattern matching
  • ๐Ÿ” Content Search - grep() with regex support
  • ๐Ÿ“‹ Post-Completion Options - Chat, continue editing, or start new project
  • ๐Ÿ“– Run Instructions - Detailed step-by-step guide with copy-paste commands
  • ๐Ÿš€ Auto-Launch - Opens projects in browser or starts servers

๐Ÿš€ Installation

Prerequisites

  • Python 3.12+
  • API key for your chosen LLM provider

Option 1: Install from PyPI (Recommended)

pip install coder-buddy

# Set your API key
export OPENAI_API_KEY=sk-your-key-here

# Run
coder-buddy

Option 2: Install from Source

# Clone the repository
git clone https://github.com/garodisk/CodeBuddy.git
cd CodeBuddy

# Install with uv (recommended)
uv sync

# Or install with pip
pip install -e .

# Create .env file with your API key
echo "OPENAI_API_KEY=sk-your-key-here" > .env

๐Ÿค– Supported LLM Providers

Coder Buddy supports multiple LLM providers. Set via environment variables:

Provider Install Command Environment Variables
OpenAI (default) pip install coder-buddy OPENAI_API_KEY
Anthropic Claude pip install coder-buddy[anthropic] ANTHROPIC_API_KEY, LLM_PROVIDER=anthropic
Google Gemini pip install coder-buddy[gemini] GOOGLE_API_KEY, LLM_PROVIDER=gemini
Groq pip install coder-buddy[groq] GROQ_API_KEY, LLM_PROVIDER=groq
OpenRouter pip install coder-buddy OPENROUTER_API_KEY, LLM_PROVIDER=openrouter
All providers pip install coder-buddy[all] Set provider-specific keys

Example: Using Claude

pip install coder-buddy[anthropic]
export ANTHROPIC_API_KEY=sk-ant-your-key
export LLM_PROVIDER=anthropic
coder-buddy

Example: Using Groq (Fast & Free)

pip install coder-buddy[groq]
export GROQ_API_KEY=gsk-your-key
export LLM_PROVIDER=groq
coder-buddy

Custom Model

Override the default model with LLM_MODEL:

export LLM_PROVIDER=openai
export LLM_MODEL=gpt-4-turbo
coder-buddy

๐Ÿ“– Usage

Quick Start

# Install
pip install coder-buddy

# Set your API key (choose one)
export OPENAI_API_KEY=sk-your-key-here      # For OpenAI
# OR
export ANTHROPIC_API_KEY=sk-ant-your-key    # For Claude
export LLM_PROVIDER=anthropic

# Run
coder-buddy

Interactive Mode (Build or Edit)

coder-buddy

This starts the REPL with interactive mode selection:

What would you like to do?

1) Build a new project - Start from scratch
2) Edit an existing project - Modify existing code

Choice [1-2]:

Then describe what you want to build:

What would you like to build?
Describe your project (e.g., 'a todo app with React' or 'snake game in Python')

>

Build Mode Examples:

> Create a snake game in Python with pygame
> Build a REST API with FastAPI and SQLite
> Make a React todo app with Tailwind CSS

Edit Mode Examples:

> Add dark mode toggle to the settings
> Implement JWT authentication
> Add database migration system

Single Prompt Mode

coder-buddy --prompt "Create a calculator web app"

CLI Options

coder-buddy --mode build              # Explicitly use build mode
coder-buddy --mode edit --root ./my-project  # Edit existing project
coder-buddy --permission strict       # Ask before dangerous operations
coder-buddy --permission permissive   # Allow all operations
coder-buddy --recursion-limit 150     # Set graph recursion limit

Commands in REPL

Command Description
/new Start a new project (re-select build/edit mode)
/status Show current mode and settings
/help Show all commands
/clear Clear the screen
/exit Exit the application

Chat Commands (in Chat Mode)

Command Description
/done Exit chat and finish
/continue Continue building this project (switch to edit mode)
/new Start a new project
/help Show chat commands

๐Ÿ—๏ธ Architecture

LangGraph Multi-Agent Flow

graph TD
    A[User Input] --> B[Clarifier Agent]
    B --> C{Vague Prompt?}
    C -->|Yes| D[Ask Clarifications]
    C -->|No| E[Project Discovery]
    D --> E

    E --> F[Planner Agent]
    F --> G{User Confirms Plan?}
    G -->|Edit| F
    G -->|Cancel| END1[End]
    G -->|Proceed| H[Architect Agent]

    H --> I{User Confirms Tasks?}
    I -->|Edit| H
    I -->|Cancel| END2[End]
    I -->|Proceed| J[Coder Agent]

    J --> K[Tools]
    K --> L{More Tasks?}
    L -->|Yes| J
    L -->|No| M[Complete]

    M --> N{What's Next?}
    N -->|Chat| O[Chat Mode]
    N -->|Continue| F
    N -->|New| A
    N -->|Exit| END3[End]

    O --> N

Detailed Agent Pipeline

flowchart TD
    subgraph INPUT["๐ŸŽฏ USER INPUT"]
        A[User Prompt]
    end

    subgraph CLARIFIER["๐Ÿ” CLARIFIER AGENT"]
        B{Vague prompt?}
        C[๐Ÿ’ฌ Ask Questions<br>max 3 Q&A]
    end

    subgraph DISCOVERY["๐Ÿ“ PROJECT DISCOVERY"]
        D["Edit Mode Only:<br>โ€ข Read directory tree<br>โ€ข Find README<br>โ€ข Parse dependencies<br>โ€ข Read main files"]
    end

    subgraph PLANNING["๐Ÿ”„ PLANNING LOOP"]
        E["๐Ÿ“‹ PLANNER AGENT<br>โ€ข Name & description<br>โ€ข Tech stack<br>โ€ข Features list<br>โ€ข Files to create"]
        F{"๐Ÿ‘ค CONFIRM?"}
    end

    subgraph ARCHITECTURE["๐Ÿ”„ ARCHITECTURE LOOP"]
        G["๐Ÿ—๏ธ ARCHITECT AGENT<br>โ€ข Break into tasks<br>โ€ข ONE task per file<br>โ€ข Order by deps"]
        H{"๐Ÿ‘ค CONFIRM?"}
    end

    subgraph IMPLEMENTATION["๐Ÿ”„ IMPLEMENTATION LOOP"]
        I["๐Ÿ’ป CODER AGENT"]
        I1["๐Ÿ› ๏ธ Tools:<br>read_file | write_file | edit_file<br>glob_files | grep | list_files | run_cmd"]
        K["๐Ÿ“„ Files Created/Modified"]
    end

    subgraph COMPLETE["โœ… COMPLETE"]
        L[Project Ready!]
        M{"What's next?"}
    end

    A --> B
    B -->|YES| C
    B -->|NO| D
    C --> D
    D --> E
    E --> F
    F -->|Proceed| G
    F -->|Edit| E
    F -->|Cancel| END1[END]
    G --> H
    H -->|Start| I
    H -->|Modify| G
    H -->|Cancel| END2[END]
    I --> I1
    I1 --> K
    K -->|loop| I
    K -->|done| L
    L --> M
    M -->|Continue| E
    M -->|New| A

    style INPUT fill:#e1f5fe
    style CLARIFIER fill:#fff3e0
    style DISCOVERY fill:#f3e5f5
    style PLANNING fill:#e8f5e9
    style ARCHITECTURE fill:#fff8e1
    style IMPLEMENTATION fill:#fce4ec
    style COMPLETE fill:#c8e6c9

Key Design Principles

Principle Description
๐Ÿ”„ Human-in-the-Loop User confirms/edits at every major step
๐Ÿ“ ONE Task Per File Architect creates exactly one task per file
๐Ÿ” Discovery Before Planning Edit mode reads project structure first
๐Ÿ›ก๏ธ Sandboxed Execution All file ops confined to project root
โš ๏ธ Dangerous Command Blocking Blocks rm -rf, sudo, etc. in strict mode

๐Ÿ”ง Tools

File Operations

Tool Signature Description
read_file (path: str) -> str Read file contents
write_file (path: str, content: str) -> str Write/create files
edit_file (path: str, old_str: str, new_str: str) -> str NEW: Precise string replacement (old_str must appear exactly once)
list_files (directory: str) -> str List files recursively
get_current_directory () -> str Get project root path

Discovery & Search

Tool Signature Description
glob_files (pattern: str, max_results: int = 100) -> str NEW: Find files by glob pattern
grep (pattern: str, path: str, max_results: int = 50, ignore_case: bool) -> str NEW: Search with regex

Execution

Tool Signature Description
run_cmd (cmd: str, cwd: str?, timeout: int?) -> dict Run shell command with real-time output streaming and permission check

Sandbox Protection

All tools use path validation to prevent escape:

def safe_path_for_project(path: str) -> pathlib.Path:
    root = get_project_root()
    p = (root / path).resolve()
    # Ensure p is within root
    if root.resolve() not in p.parents and root.resolve() != p:
        raise ValueError("Attempt to write outside project root")
    return p

This prevents:

  • Path traversal: ../../etc/passwd
  • Absolute paths: /etc/passwd
  • Symlink escape: link โ†’ /etc

๐ŸŽฏ Modes

Build Mode

  • Use Case: Create new projects from scratch
  • Workflow: Plan โ†’ Confirm โ†’ Architect โ†’ Confirm โ†’ Code
  • Tools: Full write access to new project directory
  • Default: Yes
uv run python main.py --mode build

Edit Mode

  • Use Case: Modify existing projects
  • Workflow: Discover โ†’ Plan โ†’ Confirm โ†’ Architect โ†’ Confirm โ†’ Code
  • Tools:
    • read_file() to understand existing code
    • edit_file() for precise modifications
    • glob_files() and grep() to find relevant code
    • write_file() for new files only
  • Special: Project discovery runs first
uv run python main.py --mode edit --root ./my-project

โš™๏ธ Permission Modes

Strict Mode (Default)

  • Asks for confirmation before:
    • Overwriting existing files
    • Running dangerous commands (rm -rf, sudo, etc.)
  • Safe for learning and experimentation
uv run python main.py --permission strict

Permissive Mode

  • Allows all operations without confirmation
  • Faster execution
  • Use only when fully trusting the agent
uv run python main.py --permission permissive

๐Ÿค– Workflow Examples

Example 1: Build Mode with Clarification

> todo app

[!] Your request needs some clarification...

Clarification Questions

Q1. What is the main purpose/goal of this project?
A1: A simple app to manage daily tasks

Q2. What are the key features or functionalities needed?
A2: Add tasks, mark complete, delete, filter by status

Q3. Any specific requirements or constraints?
A3: Should work offline with local storage

[+] Clarifications collected!

[*] Planning project...

Then user reviews plan and can:

  1. โœ“ Proceed with building
  2. โœŽ Edit the plan ("Use React instead")
  3. โœ— Cancel and restart

Example 2: Edit Mode Project Discovery

> Add authentication to the project

[*] Discovering Project Structure

[>] Reading project structure...
[>] Looking for README...
[>] Looking for dependency files...
[>] Looking for main code files...

[+] Project discovery complete! Found 5 key items.

[*] Planning project...

Agent now knows about existing code and suggests modifications to:

  • models/User.js
  • routes/auth.js
  • middleware/authenticate.js

Example 3: Post-Completion Chat

[+] Project generated successfully!

Generated Files
+-- src/
+-- styles/
+-- index.html

๐Ÿ“‚ Project Location
/home/user/projects/my-app

--- How to Run Your Project ---

1. Open Terminal & Navigate to Project:
   cd /home/user/projects/my-app

2. Install Dependencies:
   npm install

3. Start the Server:
   npm start

โœ“ Opened in browser!

--- What's Next? ---

What would you like to do?

1) ๐Ÿ’ฌ Chat - Ask questions about the project
2) ๐Ÿ”ง Continue - Keep building on this project
3) ๐Ÿ†• New Project - Start something new
4) ๐Ÿ‘‹ Exit - Done for now

Choice [1-4]: 1

--- Chat Mode ---

Chat> How do I add a new feature?

You: A feature typically involves...

๐Ÿ“Š State Schema

GraphState (TypedDict)

GraphState
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ user_prompt: str                       โ”‚
โ”‚ plan: Plan                             โ”‚
โ”‚ task_plan: TaskPlan                    โ”‚
โ”‚ coder_state: CoderState                โ”‚
โ”‚ messages: list[BaseMessage]            โ”‚
โ”‚ status: str                            โ”‚
โ”œโ”€ NEW FIELDS โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ mode: str  ("build" | "edit")          โ”‚
โ”‚ project_root: str  (absolute path)     โ”‚
โ”‚ permission_mode: str  ("strict" | ...) โ”‚
โ”‚ edit_instruction: Optional[str]        โ”‚
โ”‚ clarification_questions: Optional[]    โ”‚
โ”‚ clarification_answers: Optional[]      โ”‚
โ”‚ project_context: Optional[str]         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

New Models

class ClarificationRequest(BaseModel):
    questions: list[str]  # 1-3 questions to ask user
    reason: str  # Why these questions are needed

๐Ÿ“ Project Structure

CodeBuddy/
โ”œโ”€โ”€ main.py                 # Entry point, REPL, modes
โ”‚   โ”œโ”€โ”€ main()
โ”‚   โ”œโ”€โ”€ repl()
โ”‚   โ”œโ”€โ”€ run_agent()
โ”‚   โ”œโ”€โ”€ select_mode_interactive()
โ”‚   โ”œโ”€โ”€ chat_about_project()
โ”‚   โ”œโ”€โ”€ post_completion_menu()
โ”‚   โ”œโ”€โ”€ show_run_instructions()
โ”‚   โ””โ”€โ”€ handle_command()
โ”‚
โ”œโ”€โ”€ pyproject.toml          # Project config (uv)
โ”œโ”€โ”€ .env                    # API keys
โ”œโ”€โ”€ README.md               # This file
โ”‚
โ””โ”€โ”€ agent/
    โ”œโ”€โ”€ __init__.py
    โ”‚
    โ”œโ”€โ”€ graph.py            # LangGraph orchestration
    โ”‚   โ”œโ”€โ”€ clarifier_agent()     # NEW: Detect vague prompts
    โ”‚   โ”œโ”€โ”€ discover_project()    # NEW: Read existing project
    โ”‚   โ”œโ”€โ”€ planner_agent()
    โ”‚   โ”œโ”€โ”€ planner_confirm_node()  # NEW: Review plan
    โ”‚   โ”œโ”€โ”€ architect_agent()
    โ”‚   โ”œโ”€โ”€ architect_confirm_node() # NEW: Review architecture
    โ”‚   โ”œโ”€โ”€ coder_agent()
    โ”‚   โ””โ”€โ”€ agent (compiled graph)
    โ”‚
    โ”œโ”€โ”€ states.py           # Pydantic models
    โ”‚   โ”œโ”€โ”€ File
    โ”‚   โ”œโ”€โ”€ Plan
    โ”‚   โ”œโ”€โ”€ ImplementationTask
    โ”‚   โ”œโ”€โ”€ TaskPlan
    โ”‚   โ”œโ”€โ”€ CoderState
    โ”‚   โ”œโ”€โ”€ ClarificationRequest  # NEW
    โ”‚   โ””โ”€โ”€ GraphState
    โ”‚
    โ”œโ”€โ”€ tools.py            # LangChain tools
    โ”‚   โ”œโ”€โ”€ read_file
    โ”‚   โ”œโ”€โ”€ write_file
    โ”‚   โ”œโ”€โ”€ edit_file        # NEW: Precise editing
    โ”‚   โ”œโ”€โ”€ list_files
    โ”‚   โ”œโ”€โ”€ glob_files       # NEW: Pattern matching
    โ”‚   โ”œโ”€โ”€ grep             # NEW: Content search
    โ”‚   โ”œโ”€โ”€ get_current_directory
    โ”‚   โ”œโ”€โ”€ run_cmd (with permission checks)
    โ”‚   โ”œโ”€โ”€ set_permission_mode()
    โ”‚   โ”œโ”€โ”€ is_dangerous_command()
    โ”‚   โ””โ”€โ”€ safe_path_for_project()
    โ”‚
    โ”œโ”€โ”€ prompts.py          # System prompts
    โ”‚   โ”œโ”€โ”€ planner_prompt()      (mode-aware)
    โ”‚   โ”œโ”€โ”€ architect_prompt()    (mode-aware)
    โ”‚   โ””โ”€โ”€ coder_system_prompt() (mode-aware)
    โ”‚
    โ””โ”€โ”€ ui.py               # Terminal UI (Rich)
        โ”œโ”€โ”€ TerminalUI class
        โ”œโ”€โ”€ spinner()
        โ”œโ”€โ”€ stream_text()
        โ”œโ”€โ”€ tool_panel()
        โ”œโ”€โ”€ diff_panel()     # NEW: Show edits
        โ”œโ”€โ”€ file_tree()
        โ”œโ”€โ”€ todo_list()
        โ”œโ”€โ”€ prompt()
        โ”œโ”€โ”€ confirm()
        โ””โ”€โ”€ [colored messages]

๐Ÿ” Permission System

Dangerous Commands

The following patterns are blocked in strict mode:

DANGEROUS_PATTERNS = [
    r"rm\s+-rf",           # rm -rf
    r"sudo\s+",            # sudo
    r"chmod\s+777",        # chmod 777
    r"curl.*\|\s*sh",      # curl | sh
    r"wget.*\|\s*sh",      # wget | sh
    r"dd\s+if=",           # dd if= (disk operations)
    r"mkfs\.",             # mkfs (format disk)
    r":(){ :|:& };:",      # fork bomb
    r">\s*/dev/sd",        # redirect to disk
    r"mv.*\s+/dev/null",   # mv to /dev/null
]

Permission Flow

Agent runs command
    โ†“
Is permission mode "strict"?
    โ”œโ”€ YES โ†’ Check if command matches DANGEROUS_PATTERNS
    โ”‚         โ”œโ”€ YES โ†’ Show warning, ask user confirmation
    โ”‚         โ”‚        โ”œโ”€ User says YES โ†’ Execute
    โ”‚         โ”‚        โ””โ”€ User says NO โ†’ Block
    โ”‚         โ””โ”€ NO โ†’ Execute
    โ””โ”€ NO (permissive) โ†’ Execute immediately

๐ŸŽจ Terminal UI

Built with Rich:

Component Usage Example
Spinner During LLM calls [*] Planning project...
Streaming Real-time output Tokens print as they generate
Panels Tool output [READ] file.py in box
Diff Panel NEW Edit visualization Shows old/new with colors
Trees File listings Project structure
Messages Status updates [+] Success / [!] Warning
Prompts User input > Your request:
Confirmations NEW Yes/No choice Overwrite? [y/N]
Tables Lists Task list with checkboxes

๐Ÿš€ Advanced Features

Clarification System

For vague prompts (< 10 words, no tech stack, generic), automatically asks:

is_vague = (
    word_count < 10 or
    (not has_tech_stack and has_generic_phrases)
)

if is_vague:
    # Ask max 3 clarification questions
    questions = llm.generate_clarifications(prompt)
    # User provides answers
    enhanced_prompt = f"{prompt}\n\nQ&A:\n{qa_pairs}"

Edit File Tool

Enables precise editing in edit mode:

edit_file("models/User.js", old_str=<search>, new_str=<replace>)
# - Must find old_str exactly once
# - Shows diff panel before writing
# - Maintains code consistency

Project Discovery (Edit Mode)

Reads before planning to avoid hallucination:

1. Read directory tree (skip node_modules, .git, etc.)
2. Find and read: README, package.json, main files
3. Pass project_context to planner/architect prompts
4. Agents now suggest edits to REAL files

Human-in-the-Loop

Two confirmation points prevent bad code:

Plan Review:
  1) Proceed
  2) Edit plan ("Use React instead")
  3) Cancel

Architecture Review:
  1) Start building
  2) Modify tasks ("Split User.js into multiple files")
  3) Cancel

๐Ÿ“‹ Roadmap

See docs/PLAN.md for detailed implementation plan.

โœ… Completed (Recent Releases)

  • โœ… Edit mode for existing projects
  • โœ… Clarification agent for vague prompts
  • โœ… Human-in-the-loop confirmations
  • โœ… New tools: edit_file, glob_files, grep
  • โœ… Permission system with dangerous command blocking
  • โœ… Chat mode with project context
  • โœ… Post-completion options (chat/continue/new)
  • โœ… Project discovery before editing
  • โœ… Enhanced run instructions
  • โœ… Build/edit mode selection

๐Ÿ”„ In Progress

  • Streaming improvements
  • Better error recovery
  • Performance optimizations

๐Ÿ“Œ Future Features

  • Git integration (create commits, push to GitHub)
  • Web search integration
  • Custom tool creation
  • Project templates
  • Batch operations
  • Team collaboration

๐Ÿ”‘ Key Concepts

ONE Task Per File Rule

Architect creates exactly ONE task per file to prevent duplication:

โŒ WRONG:
  Task 1: models/User.js - Add email field
  Task 2: models/User.js - Add password hashing

โœ… CORRECT:
  Task 1: models/User.js - Add email field to schema,
          implement password hashing, add validation

Mode-Aware Prompts

Planner, Architect, and Coder prompts change based on mode:

# Build mode: Focus on creating new files
# Edit mode: Focus on existing files, use edit_file()

Message Persistence

Coder maintains full message history across all steps:

Step 1: SystemMessage + HumanMessage(task 1) + AI + Tools
Step 2: [all above] + HumanMessage(task 2) + AI + Tools
Step 3: [all above] + HumanMessage(task 3) + AI + Tools

This gives full context for consistency.


๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

๐Ÿ“„ License

MIT


๐Ÿ™ Acknowledgments


๐Ÿ“ž Support


Built with LangGraph + GPT-4o by the Coder Buddy team

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coder_buddy-0.1.3.tar.gz (42.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

coder_buddy-0.1.3-py3-none-any.whl (36.5 kB view details)

Uploaded Python 3

File details

Details for the file coder_buddy-0.1.3.tar.gz.

File metadata

  • Download URL: coder_buddy-0.1.3.tar.gz
  • Upload date:
  • Size: 42.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for coder_buddy-0.1.3.tar.gz
Algorithm Hash digest
SHA256 59366348692b4642189b80c0f53608413d9aaa1689c2dc5f0e6441f69f2d371f
MD5 b8822eb9742b5b17380fa0df9febe352
BLAKE2b-256 12df977441972ff9a96f46dbf8c28e2241c8d89c4fdcf51291d80e7950519530

See more details on using hashes here.

File details

Details for the file coder_buddy-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: coder_buddy-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for coder_buddy-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 20bc48810a154d9fbdcff8a17b549fdfb8520a844ab14f2281d898352918c19a
MD5 72a09fa59996b05c817b690b6797c4c7
BLAKE2b-256 c63fcce074337ce20194da523c74b924d01a26aeaebc0c85dd643620bcab24b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page