Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/christopherwoodall_source-agent.json
T

1 line
37 KiB
JSON

{"repo": "christopherwoodall/source-agent", "files": {".github/README.md": {"fa7de81c88de8c2571d2f2a9066ae79188610464": {"t": 1785747050.9560149, "n": 3620, "h": "7445584efb942a60", "c": "<p align=\"center\">\n\n[![CI][ci-badge]][ci-url]\n[![Release][release-badge]][release-url]\n[![PyPI Status Badge][pypi-badge]][pypi-url]\n\n</p>\n\n[ci-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yml\n[pypi-badge]: https://badge.fury.io/py/source-agent.svg\n[pypi-url]: https://pypi.org/project/source-agent/\n[release-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml/badge.svg\n[release-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml\n\n# Source Agent\nA simple coding agent.\n\n## How it Works\n**Source Agent** operates as a stateless entity, guided by clear directives and external context. Its behavior is primarily defined by **`AGENTS.md`**, which serves as the core system prompt. \n\n![](https://github.com/christopherwoodall/source-agent/blob/main/.github/docs/example4.gif?raw=true)\n\n---\n\n## Installation\n### Quick Start\n```bash\n# Clone the repository\ngit clone https://github.com/christopherwoodall/source-agent\ncd source-agent\n\n# Create virtual environment (recommended)\npython -m venv .venv\nsource .venv/bin/activate # On Windows: .venv\\Scripts\\activate\n\n# Install in development mode\npip install --editable \".[developer]\"\n\n# Verify the installation\nsource-agent --help\n```\n\n### Basic Usage\n```bash\n# Analyze the current codebase\nsource-agent --prompt \"Analyze this codebase and identify potential improvements\"\n\n# Analyze with specific focus\nsource-agent --prompt \"Review the authentication system for security issues\"\n```\n\n### Advanced Usage\n```bash\n# Use OpenAI with GPT-4\nsource-agent \\\n --provider openai \\\n --model gpt-4o \\\n --temperature 0.1 \\\n --prompt \"Create unit tests for the utils.py file\"\n\n# Use Claude for code review\nsource-agent \\\n --provider anthropic \\\n --model claude-3-5-sonnet \\\n --prompt \"Review the error handling in this codebase\"\n```\n\n### Interactive Mode\n```bash\nsource-agent --interactive\n```\n\n![](https://github.com/christopherwoodall/source-agent/blob/main/.github/docs/example3.gif?raw=true)\n\n---\n\n## Supported Providers\n\nSource Agent supports multiple AI providers. Set the corresponding environment variable:\n\n| Provider | Environment Variable |\n|----------|---------------------|\n| OpenRouter | `OPENROUTER_API_KEY` |\n| OpenAI | `OPENAI_API_KEY` |\n| Anthropic | `ANTHROPIC_API_KEY` |\n| Google | `GEMINI_API_KEY` |\n| Mistral | `MISTRAL_API_KEY` |\n| DeepSeek | `DEEPSEEK_API_KEY` |\n| Cerebras | `CEREBRAS_API_KEY` |\n| Groq | `GROQ_API_KEY` |\n| Vercel | `VERCEL_API_KEY` |\n| xAI | `XAI_API_KEY` |\n\n---\n\n## Available Tools\nSource Agent provides these built-in tools for code analysis:\n\n- **file_list_tool** - List files/directories in a given path (respects .gitignore)\n- **file_read_tool** - Read contents of any file\n- **file_write_tool** - Write content to a file (creates/overwrites)\n- **file_delete_tool** - Safely delete a file\n- **file_search_tool** - Search files by name pattern and optionally search within files using text/regex\n- **directory_create_tool** - Create directories (with optional parent creation)\n- **directory_delete_tool** - Safely delete directories (recursive option available)\n- **calculate_expression** - Evaluate mathematical expressions (supports sqrt, pi, etc.)\n- **web_search_tool** - Search the web using DuckDuckGo (returns snippets and optional page content)\n- **msg_complete_tool** - REQUIRED tool to signal task completion and exit the agent loop\n\nThese tools are automatically available to the AI agent during analysis.\n"}, "8435f45ac137a7d7f51de7f69114525eb2319001": {"t": 1785770114.3752954, "n": 3464, "h": "9807b7e47d448a0c", "c": "<p align=\"center\">\n\n[![CI][ci-badge]][ci-url]\n[![Release][release-badge]][release-url]\n[![PyPI Status Badge][pypi-badge]][pypi-url]\n\n</p>\n\n[ci-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yml\n[pypi-badge]: https://badge.fury.io/py/source-agent.svg\n[pypi-url]: https://pypi.org/project/source-agent/\n[release-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml/badge.svg\n[release-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml\n\n# Source Agent\nA simple coding agent.\n\n## How it Works\n**Source Agent** operates as a stateless entity, guided by clear directives and external context. Its behavior is primarily defined by **`AGENTS.md`**, which serves as the core system prompt. \n\n![](docs/example4.gif)\n\n---\n\n## Installation\n### Quick Start\n```bash\n# Clone the repository\ngit clone https://github.com/christopherwoodall/source-agent\ncd source-agent\n\n# Create virtual environment (recommended)\npython -m venv .venv\nsource .venv/bin/activate # On Windows: .venv\\Scripts\\activate\n\n# Install in development mode\npip install --editable \".[developer]\"\n\n# Verify the installation\nsource-agent --help\n```\n\n### Basic Usage\n```bash\n# Analyze the current codebase\nsource-agent --prompt \"Analyze this codebase and identify potential improvements\"\n\n# Analyze with specific focus\nsource-agent --prompt \"Review the authentication system for security issues\"\n```\n\n### Advanced Usage\n```bash\n# Use OpenAI with GPT-4\nsource-agent \\\n --provider openai \\\n --model gpt-4o \\\n --temperature 0.1 \\\n --prompt \"Create unit tests for the utils.py file\"\n\n# Use Claude for code review\nsource-agent \\\n --provider anthropic \\\n --model claude-3-5-sonnet \\\n --prompt \"Review the error handling in this codebase\"\n```\n\n### Interactive Mode\n```bash\nsource-agent --interactive\n```\n\n![](docs/example3.gif)\n\n---\n\n## Supported Providers\n\nSource Agent supports multiple AI providers. Set the corresponding environment variable:\n\n| Provider | Environment Variable |\n|----------|---------------------|\n| OpenRouter | `OPENROUTER_API_KEY` |\n| OpenAI | `OPENAI_API_KEY` |\n| Anthropic | `ANTHROPIC_API_KEY` |\n| Google | `GEMINI_API_KEY` |\n| Mistral | `MISTRAL_API_KEY` |\n| DeepSeek | `DEEPSEEK_API_KEY` |\n| Cerebras | `CEREBRAS_API_KEY` |\n| Groq | `GROQ_API_KEY` |\n| Vercel | `VERCEL_API_KEY` |\n| xAI | `XAI_API_KEY` |\n\n---\n\n## Available Tools\nSource Agent provides these built-in tools for code analysis:\n\n- **file_list_tool** - List files/directories in a given path (respects .gitignore)\n- **file_read_tool** - Read contents of any file\n- **file_write_tool** - Write content to a file (creates/overwrites)\n- **file_delete_tool** - Safely delete a file\n- **file_search_tool** - Search files by name pattern and optionally search within files using text/regex\n- **directory_create_tool** - Create directories (with optional parent creation)\n- **directory_delete_tool** - Safely delete directories (recursive option available)\n- **calculate_expression** - Evaluate mathematical expressions (supports sqrt, pi, etc.)\n- **web_search_tool** - Search the web using DuckDuckGo (returns snippets and optional page content)\n- **msg_complete_tool** - REQUIRED tool to signal task completion and exit the agent loop\n\nThese tools are automatically available to the AI agent during analysis.\n"}, "fd09126936d2d9da76d06f99418aad9f9f3e9984": {"t": 1785770115.7324557, "n": 4217, "h": "cd93dbd50b0d7fb2", "c": "<p align=\"center\">\n\n[![CI][ci-badge]][ci-url]\n[![Release][release-badge]][release-url]\n[![PyPI Status Badge][pypi-badge]][pypi-url]\n\n</p>\n\n[ci-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yml\n[pypi-badge]: https://badge.fury.io/py/source-agent.svg\n[pypi-url]: https://pypi.org/project/source-agent/\n[release-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml/badge.svg\n[release-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml\n\n# Source Agent\nA simple coding agent.\n\n## How it Works\n**Source Agent** operates as a stateless entity, guided by clear directives and external context. Its behavior is primarily defined by **`AGENTS.md`**, which serves as the core system prompt. \n\n![](docs/example.gif)\n\n---\n\n## Prerequisites\n- Python 3.10 or higher\n- An API key from one of the supported AI providers (see [Supported Providers](#supported-providers))\n- Git (for .gitignore support)\n\n---\n\n## Installation\n### Quick Start\n```bash\n# Clone the repository\ngit clone https://github.com/christopherwoodall/source-agent\ncd source-agent\n\n# Create virtual environment (recommended)\npython -m venv .venv\nsource .venv/bin/activate # On Windows: .venv\\Scripts\\activate\n\n# Install in development mode\npip install -e \".[developer]\"\n\n# Verify the installation\nsource-agent --help\n```\n\n### Basic Usage\n```bash\n# Analyze the current codebase\nsource-agent --prompt \"Analyze this codebase and identify potential improvements\"\n\n# Analyze with specific focus\nsource-agent --prompt \"Review the authentication system for security issues\"\n```\n\n### Advanced Usage\n```bash\n# Use OpenAI with GPT-4\nsource-agent \\\n --provider openai \\\n --model gpt-4o \\\n --temperature 0.1 \\\n --prompt \"Create unit tests for the utils.py file\"\n\n# Use Claude for code review\nsource-agent \\\n --provider anthropic \\\n --model claude-3-5-sonnet \\\n --prompt \"Review the error handling in this codebase\"\n```\n\n### Interactive Mode\n```bash\nsource-agent --interactive\n```\n\n![](docs/example3.gif)\n\n---\n\n## Supported Providers\n\nSource Agent supports multiple AI providers. Set the corresponding environment variable:\n\n| Provider | Environment Variable |\n|----------|---------------------|\n| OpenRouter | `OPENROUTER_API_KEY` |\n| OpenAI | `OPENAI_API_KEY` |\n| Anthropic | `ANTHROPIC_API_KEY` |\n| Google | `GEMINI_API_KEY` |\n| Mistral | `MISTRAL_API_KEY` |\n| DeepSeek | `DEEPSEEK_API_KEY` |\n| Cerebras | `CEREBRAS_API_KEY` |\n| Groq | `GROQ_API_KEY` |\n| Vercel | `VERCEL_API_KEY` |\n| xAI | `XAI_API_KEY` |\n\n---\n\n## Available Tools\nSource Agent provides these built-in tools for code analysis:\n\n- **file_list_tool** - List files/directories in a given path (respects .gitignore)\n- **file_read_tool** - Read contents of any file\n- **file_write_tool** - Write content to a file (creates/overwrites)\n- **file_delete_tool** - Safely delete a file\n- **file_search_tool** - Search files by name pattern and optionally search within files using text/regex\n- **directory_create_tool** - Create directories (with optional parent creation)\n- **directory_delete_tool** - Safely delete directories (recursive option available)\n- **calculate_expression** - Evaluate mathematical expressions (supports sqrt, pi, etc.)\n- **web_search_tool** - Search the web using DuckDuckGo (returns snippets and optional page content)\n- **msg_complete_tool** - REQUIRED tool to signal task completion and exit the agent loop\n\nThese tools are automatically available to the AI agent during analysis.\n\n---\n\n## Core Architecture\n- **Entry Point**: `src/source_agent/entrypoint.py` - CLI interface with argument parsing\n- **Agent Engine**: `src/source_agent/agents/code.py` - OpenAI-compatible client with tool integration\n- **System Prompt**: `AGENTS.md` - Defines agent behavior, roles, and constraints\n\n### Project Structure\n\n```\nsource-agent/\n├── src/source_agent/\n│ ├── entrypoint.py # CLI interface\n│ ├── agents/\n│ │ └── code.py # Main agent logic\n│ └── tools/ # File system tools\n└── AGENTS.md # System prompt & behavior rules\n```\n"}, "22e3b7b5ae7e93a9197668027b11840d9689e813": {"t": 1785770117.132759, "n": 4194, "h": "dabb6fe09b330768", "c": "<p align=\"center\">\n\n[![CI][ci-badge]][ci-url]\n[![Release][release-badge]][release-url]\n[![PyPI Status Badge][pypi-badge]][pypi-url]\n\n</p>\n\n[ci-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yml\n[pypi-badge]: https://badge.fury.io/py/source-agent.svg\n[pypi-url]: https://pypi.org/project/source-agent/\n[release-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml/badge.svg\n[release-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml\n\n# Source Agent\nA simple coding agent.\n\n## How it Works\n**Source Agent** operates as a stateless entity, guided by clear directives and external context. Its behavior is primarily defined by **`AGENTS.md`**, which serves as the core system prompt. \n\n![](docs/example.gif)\n\n---\n\n## Prerequisites\n- Python 3.10 or higher\n- An API key from one of the supported AI providers (see [Supported Providers](#supported-providers))\n- Git (for .gitignore support)\n\n---\n\n## Installation\n### Quick Start\n```bash\n# Clone the repository\ngit clone https://github.com/christopherwoodall/source-agent\ncd source-agent\n\n# Create virtual environment (recommended)\npython -m venv .venv\nsource .venv/bin/activate # On Windows: .venv\\Scripts\\activate\n\n# Install in development mode\npip install -e \".[developer]\"\n\n# Verify the installation\nsource-agent --help\n```\n\n### Basic Usage\n```bash\n# Analyze the current codebase\nsource-agent --prompt \"Analyze this codebase and identify potential improvements\"\n\n# Analyze with specific focus\nsource-agent --prompt \"Review the authentication system for security issues\"\n```\n\n### Advanced Usage\n```bash\n# Use OpenAI with GPT-4\nsource-agent \\\n --provider openai \\\n --model gpt-4o \\\n --temperature 0.1 \\\n --prompt \"Create unit tests for the utils.py file\"\n\n# Use Claude for code review\nsource-agent \\\n --provider anthropic \\\n --model claude-3-5-sonnet \\\n --prompt \"Review the error handling in this codebase\"\n```\n\n### Interactive Mode\n```bash\nsource-agent --interactive\n```\n\n---\n\n## Supported Providers\n\nSource Agent supports multiple AI providers. Set the corresponding environment variable:\n\n| Provider | Environment Variable |\n|----------|---------------------|\n| OpenRouter | `OPENROUTER_API_KEY` |\n| OpenAI | `OPENAI_API_KEY` |\n| Anthropic | `ANTHROPIC_API_KEY` |\n| Google | `GEMINI_API_KEY` |\n| Mistral | `MISTRAL_API_KEY` |\n| DeepSeek | `DEEPSEEK_API_KEY` |\n| Cerebras | `CEREBRAS_API_KEY` |\n| Groq | `GROQ_API_KEY` |\n| Vercel | `VERCEL_API_KEY` |\n| xAI | `XAI_API_KEY` |\n\n---\n\n## Available Tools\nSource Agent provides these built-in tools for code analysis:\n\n- **file_list_tool** - List files/directories in a given path (respects .gitignore)\n- **file_read_tool** - Read contents of any file\n- **file_write_tool** - Write content to a file (creates/overwrites)\n- **file_delete_tool** - Safely delete a file\n- **file_search_tool** - Search files by name pattern and optionally search within files using text/regex\n- **directory_create_tool** - Create directories (with optional parent creation)\n- **directory_delete_tool** - Safely delete directories (recursive option available)\n- **calculate_expression** - Evaluate mathematical expressions (supports sqrt, pi, etc.)\n- **web_search_tool** - Search the web using DuckDuckGo (returns snippets and optional page content)\n- **task_mark_complete** - REQUIRED tool to signal task completion and exit the agent loop\n\nThese tools are automatically available to the AI agent during analysis.\n\n---\n\n## Core Architecture\n- **Entry Point**: `src/source_agent/entrypoint.py` - CLI interface with argument parsing\n- **Agent Engine**: `src/source_agent/agents/code.py` - OpenAI-compatible client with tool integration\n- **System Prompt**: `AGENTS.md` - Defines agent behavior, roles, and constraints\n\n### Project Structure\n\n```\nsource-agent/\n├── src/source_agent/\n│ ├── entrypoint.py # CLI interface\n│ ├── agents/\n│ │ └── code.py # Main agent logic\n│ └── tools/ # File system tools\n└── AGENTS.md # System prompt & behavior rules\n```\n"}, "f78cb0740e5477c798bbb6d780ecd553c906b232": {"t": 1785770118.435773, "n": 4133, "h": "ea79401c393e6b02", "c": "<p align=\"center\">\n\n[![CI][ci-badge]][ci-url]\n[![Release][release-badge]][release-url]\n[![PyPI Status Badge][pypi-badge]][pypi-url]\n\n</p>\n\n[ci-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yml\n[pypi-badge]: https://badge.fury.io/py/source-agent.svg\n[pypi-url]: https://pypi.org/project/source-agent/\n[release-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml/badge.svg\n[release-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml\n\n# Source Agent\nA simple coding agent.\n\n## How it Works\n**Source Agent** operates as a stateless entity, guided by clear directives and external context. Its behavior is primarily defined by **`AGENTS.md`**, which serves as the core system prompt. \n\n![](docs/example.gif)\n\n---\n\n## Prerequisites\n- Python 3.10 or higher\n- An API key from one of the supported AI providers (see [Supported Providers](#supported-providers))\n- Git (for .gitignore support)\n\n---\n\n## Installation\n### Quick Start\n```bash\n# Clone the repository\ngit clone https://github.com/christopherwoodall/source-agent\ncd source-agent\n\n# Create virtual environment (recommended)\npython -m venv .venv\nsource .venv/bin/activate # On Windows: .venv\\Scripts\\activate\n\n# Install in development mode\npip install -e \".[developer]\"\n\n# Verify the installation\nsource-agent --help\n```\n\n### Basic Usage\n```bash\n# Analyze the current codebase\nsource-agent --prompt \"Analyze this codebase and identify potential improvements\"\n\n# Analyze with specific focus\nsource-agent --prompt \"Review the authentication system for security issues\"\n```\n\n### Advanced Usage\n```bash\n# Use OpenAI with GPT-4\nsource-agent \\\n --provider openai \\\n --model gpt-4o \\\n --temperature 0.1 \\\n --prompt \"Create unit tests for the utils.py file\"\n\n# Use Claude for code review\nsource-agent \\\n --provider anthropic \\\n --model claude-3-5-sonnet \\\n --prompt \"Review the error handling in this codebase\"\n```\n\n---\n\n## Supported Providers\n\nSource Agent supports multiple AI providers. Set the corresponding environment variable:\n\n| Provider | Environment Variable |\n|----------|---------------------|\n| OpenRouter | `OPENROUTER_API_KEY` |\n| OpenAI | `OPENAI_API_KEY` |\n| Anthropic | `ANTHROPIC_API_KEY` |\n| Google | `GEMINI_API_KEY` |\n| Mistral | `MISTRAL_API_KEY` |\n| DeepSeek | `DEEPSEEK_API_KEY` |\n| Cerebras | `CEREBRAS_API_KEY` |\n| Groq | `GROQ_API_KEY` |\n| Vercel | `VERCEL_API_KEY` |\n| xAI | `XAI_API_KEY` |\n\n---\n\n## Available Tools\nSource Agent provides these built-in tools for code analysis:\n\n- **file_list_tool** - List files/directories in a given path (respects .gitignore)\n- **file_read_tool** - Read contents of any file\n- **file_write_tool** - Write content to a file (creates/overwrites)\n- **file_delete_tool** - Safely delete a file\n- **file_search_tool** - Search files by name pattern and optionally search within files using text/regex\n- **directory_create_tool** - Create directories (with optional parent creation)\n- **directory_delete_tool** - Safely delete directories (recursive option available)\n- **calculate_expression** - Evaluate mathematical expressions (supports sqrt, pi, etc.)\n- **web_search_tool** - Search the web using DuckDuckGo (returns snippets and optional page content)\n- **task_mark_complete** - REQUIRED tool to signal task completion and exit the agent loop\n\nThese tools are automatically available to the AI agent during analysis.\n\n---\n\n## Core Architecture\n- **Entry Point**: `src/source_agent/entrypoint.py` - CLI interface with argument parsing\n- **Agent Engine**: `src/source_agent/agents/code.py` - OpenAI-compatible client with tool integration\n- **System Prompt**: `AGENTS.md` - Defines agent behavior, roles, and constraints\n\n### Project Structure\n\n```\nsource-agent/\n├── src/source_agent/\n│ ├── entrypoint.py # CLI interface\n│ ├── agents/\n│ │ └── code.py # Main agent logic\n│ └── tools/ # File system tools\n└── AGENTS.md # System prompt & behavior rules\n```\n"}, "c9dd466f4c71849350800c13b1ec8b18238aee73": {"t": 1785770120.0542746, "n": 3764, "h": "4ab31f8f3da51ae7", "c": "<p align=\"center\">\n\n[![CI][ci-badge]][ci-url]\n[![Release][release-badge]][release-url]\n[![PyPI Status Badge][pypi-badge]][pypi-url]\n\n</p>\n\n[ci-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yml\n[pypi-badge]: https://badge.fury.io/py/source-agent.svg\n[pypi-url]: https://pypi.org/project/source-agent/\n[release-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml/badge.svg\n[release-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml\n\n# Source Agent\nA simple coding agent.\n\n## How it Works\n**Source Agent** operates as a stateless entity, guided by clear directives and external context. Its behavior is primarily defined by **`AGENTS.md`**, which serves as the core system prompt. **`CHANGELOG.md`** provides essential historical context and sense-making rationale. \n\n![](docs/example.gif)\n\n---\n\n## Prerequisites\n- Python 3.10 or higher\n- An API key from one of the supported AI providers (see [Supported Providers](#supported-providers))\n- Git (for .gitignore support)\n\n---\n\n## Installation\n### Quick Start\n```bash\n# Clone the repository\ngit clone https://github.com/christopherwoodall/source-agent\ncd source-agent\n\n# Create virtual environment (recommended)\npython -m venv .venv\nsource .venv/bin/activate # On Windows: .venv\\Scripts\\activate\n\n# Install in development mode\npip install -e \".[developer]\"\n\n# Verify the installation\nsource-agent --help\n```\n\n### Basic Usage\n```bash\n# Analyze the current codebase\nsource-agent --prompt \"Analyze this codebase and identify potential improvements\"\n\n# Analyze with specific focus\nsource-agent --prompt \"Review the authentication system for security issues\"\n```\n\n### Advanced Usage\n```bash\n# Use OpenAI with GPT-4\nsource-agent \\\n --provider openai \\\n --model gpt-4o \\\n --temperature 0.1 \\\n --prompt \"Create unit tests for the utils.py file\"\n\n# Use Claude for code review\nsource-agent \\\n --provider anthropic \\\n --model claude-3-5-sonnet \\\n --prompt \"Review the error handling in this codebase\"\n```\n\n---\n\n## Supported Providers\n\nSource Agent supports multiple AI providers. Set the corresponding environment variable:\n\n| Provider | Environment Variable |\n|----------|---------------------|\n| OpenRouter | `OPENROUTER_API_KEY` |\n| OpenAI | `OPENAI_API_KEY` |\n| Anthropic | `ANTHROPIC_API_KEY` |\n| Google | `GEMINI_API_KEY` |\n| Mistral | `MISTRAL_API_KEY` |\n| DeepSeek | `DEEPSEEK_API_KEY` |\n| Cerebras | `CEREBRAS_API_KEY` |\n| Groq | `GROQ_API_KEY` |\n| Vercel | `VERCEL_API_KEY` |\n| xAI | `XAI_API_KEY` |\n\n---\n\n## Available Tools\nSource Agent provides these built-in tools for code analysis:\n\n- **`ls`** - List files and directories (respects .gitignore)\n- **`cat`** - Read file contents with security checks\n- **`find`** - Find files by pattern (glob) in directory tree\n- **`grep`** - Search for text/regex in files\n- **`mkdir`** - Create directories\n- **`write`** - Write content to files\n\nThese tools are automatically available to the AI agent during analysis.\n\n---\n\n## Core Architecture\n- **Entry Point**: `src/source_agent/entrypoint.py` - CLI interface with argument parsing\n- **Agent Engine**: `src/source_agent/agents/code.py` - OpenAI-compatible client with tool integration\n- **System Prompt**: `AGENTS.md` - Defines agent behavior, roles, and constraints\n\n### Project Structure\n\n```\nsource-agent/\n├── src/source_agent/\n│ ├── entrypoint.py # CLI interface\n│ ├── agents/\n│ │ └── code.py # Main agent logic\n│ └── tools/ # File system tools\n├── AGENTS.md # System prompt & behavior rules\n└── CHANGELOG.md # Development history\n```\n"}, "cb2cf799a89b7e9990617f53925bf98b04638645": {"t": 1785770121.5083597, "n": 1676, "h": "25c5cfa5c9168957", "c": "<p align=\"center\">\n\n[![CI][ci-badge]][ci-url]\n[![Release][release-badge]][release-url]\n[![PyPI Status Badge][pypi-badge]][pypi-url]\n\n</p>\n\n[ci-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yml\n[pypi-badge]: https://badge.fury.io/py/source-agent.svg\n[pypi-url]: https://pypi.org/project/source-agent/\n[release-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml/badge.svg\n[release-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml\n\n# Source Agent\nA simple coding agent.\n\n## How it Works\n**Source Agent** operates as a stateless entity, guided by clear directives and external context. Its behavior is primarily defined by **`AGENTS.md`**, which serves as the core system prompt. **`CHANGELOG.md`** provides essential historical context and sense-making rationale. \n\n![](docs/example.gif)\n\n---\n\n## Usage\n**Installation**\n```bash\ngit clone https://github.com/christopherwoodall/source-agent\ncd source-agent\npip install --editable \".[developer]\"\n```\n\n**Basic usage**\n```bash\nexport OPENROUTER_API_KEY=your_key\nsource-agent --prompt \"Analyze this code base\"\n```\n\n**Advanced usage**\n```bash\nsource-agent --provider \"openai\" --model \"gpt-4o\" --temperature 0.3\n```\n\n## Core Architecture\n- **Entry Point**: `src/source_agent/entrypoint.py` - CLI interface with argument parsing\n- **Agent Engine**: `src/source_agent/agents/code.py` - OpenAI-compatible client with tool integration\n- **System Prompt**: `AGENTS.md` - Defines agent behavior, roles, and constraints\n"}, "e67559622cbfd161a4c57b4f607537ce0ce3da15": {"t": 1785770122.8450665, "n": 1568, "h": "cb7efa3c2b040138", "c": "<p align=\"center\">\n\n[![CI][ci-badge]][ci-url]\n[![Release][release-badge]][release-url]\n[![PyPI Status Badge][pypi-badge]][pypi-url]\n\n</p>\n\n[ci-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yml\n[pypi-badge]: https://badge.fury.io/py/source-agent.svg\n[pypi-url]: https://pypi.org/project/source-agent/\n[release-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml/badge.svg\n[release-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml\n\n# Source Agent\nSimple coding agent.\n\n## How it Works\n**Source Agent** operates as a stateless entity, guided by clear directives and external context. Its behavior is primarily defined by **`AGENTS.md`**, which serves as the core system prompt. **`CHANGELOG.md`** provides essential historical context and sense-making rationale. \n\n---\n\n## Getting Started\n\n```bash\ngit clone [https://github.com/christopherwoodall/source-agent](https://github.com/christopherwoodall/source-agent)\ncd source-agent\npip install -e \".[developer]\"\n\nsource-agent --prompt \"Analyze the file at src/source_agent/entrypoint.py and suggest any edits.\"\n```\n\nThis project uses [OpenRouter](https://openrouter.ai/) to run the agent. You will need to set both the `OPENROUTER_API_KEY` and `OPENROUTER_BASE_URL` environment variables.\n\n```bash\nexport OPENROUTER_API_KEY=your_api_key_here\nexport OPENROUTER_BASE_URL=https://api.openrouter.ai/v1\n```\n"}, "bfdf6d9a6653a0788d2919b79fc79281d1196a38": {"t": 1785770124.174068, "n": 1864, "h": "9e608ae365dd9915", "c": "<p align=\"center\">\n\n[![CI][ci-badge]][ci-url]\n[![Release][release-badge]][release-url]\n[![PyPI Status Badge][pypi-badge]][pypi-url]\n\n</p>\n\n[ci-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/lint.yml\n[pypi-badge]: https://badge.fury.io/py/source-agent.svg\n[pypi-url]: https://pypi.org/project/source-agent/\n[release-badge]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml/badge.svg\n[release-url]: https://github.com/christopherwoodall/source-agent/actions/workflows/release.yml\n\n# Source Agent\nSimple coding agent.\n\n## How it Works\n**Source Agent** operates as a stateless entity, guided by clear directives and external context. Its behavior is primarily defined by **`AGENTS.md`**, which serves as the core system prompt. For current tasks and instructions, it references **`TASKS.md`**, while **`CHANGELOG.md`** provides essential historical context and decision-making rationale. This setup ensures consistent and informed responses without internal memory.\n\n---\n\n## Getting Started\n\n```bash\ngit clone [https://github.com/christopherwoodall/source-agent](https://github.com/christopherwoodall/source-agent)\ncd source-agent\npip install -e \".[developer]\"\n\nsource-agent --prompt \"Analyze the file at src/src_agent/entrypoint.py and suggest any edits.\"\n```\n\nThis project uses [OpenRouter](https://openrouter.ai/) to run the agent. You will need to set both the `OPENROUTER_API_KEY` and `OPENROUTER_BASE_URL` environment variables.\n\n```bash\nexport OPENROUTER_API_KEY=your_api_key_here\nexport OPENROUTER_BASE_URL=https://api.openrouter.ai/v1\n```\n\n---\n\n\n# Resources\n - [Using OpenRouter with Python](https://openrouter.ai/docs/quickstart)\n - [Agentic Patterns](https://agentic-patterns.com/)\n"}, "b3b2c2c856d8128b9427a6f1cc6e20d0b3fa56f7": {"t": 1785770125.4618704, "n": 1834, "h": "d216c2a7e7a3e08c", "c": "<p align=\"center\">\n\n[![CI][ci-badge]][ci-url]\n[![Release][release-badge]][release-url]\n[![PyPI Status Badge][pypi-badge]][pypi-url]\n\n</p>\n\n[ci-badge]: https://github.com/christopherwoodall/src-agent/actions/workflows/lint.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/christopherwoodall/src-agent/actions/workflows/lint.yml\n[pypi-badge]: https://badge.fury.io/py/src-agent.svg\n[pypi-url]: https://pypi.org/project/src-agent/\n[release-badge]: https://github.com/christopherwoodall/src-agent/actions/workflows/release.yml/badge.svg\n[release-url]: https://github.com/christopherwoodall/src-agent/actions/workflows/release.yml\n\n# Source Agent\nSimple coding agent.\n\n## How it Works\n**Source Agent** operates as a stateless entity, guided by clear directives and external context. Its behavior is primarily defined by **`AGENTS.md`**, which serves as the core system prompt. For current tasks and instructions, it references **`TASKS.md`**, while **`CHANGELOG.md`** provides essential historical context and decision-making rationale. This setup ensures consistent and informed responses without internal memory.\n\n---\n\n## Getting Started\n\n```bash\ngit clone [https://github.com/christopherwoodall/src-agent](https://github.com/christopherwoodall/src-agent)\ncd src-agent\npip install -e \".[developer]\"\n\nsrc-agent --prompt \"Analyze the file at src/src_agent/entrypoint.py and suggest any edits.\"\n```\n\nThis project uses [OpenRouter](https://openrouter.ai/) to run the agent. You will need to set both the `OPENROUTER_API_KEY` and `OPENROUTER_BASE_URL` environment variables.\n\n```bash\nexport OPENROUTER_API_KEY=your_api_key_here\nexport OPENROUTER_BASE_URL=https://api.openrouter.ai/v1\n```\n\n---\n\n\n# Resources\n - [Using OpenRouter with Python](https://openrouter.ai/docs/quickstart)\n - [Agentic Patterns](https://agentic-patterns.com/)\n"}, "76fb4682ce1fb396bbc5293370c2aa79208357f9": {"t": 1785770126.962272, "n": 1438, "h": "7fe4c473f63b9dd5", "c": "<p align=\"center\">\n\n[![CI][ci-badge]][ci-url]\n[![Release][release-badge]][release-url]\n[![PyPI Status Badge][pypi-badge]][pypi-url]\n\n</p>\n\n[ci-badge]: https://github.com/christopherwoodall/src-agent/actions/workflows/lint.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/christopherwoodall/src-agent/actions/workflows/lint.yml\n[pypi-badge]: https://badge.fury.io/py/src-agent.svg\n[pypi-url]: https://pypi.org/project/src-agent/\n[release-badge]: https://github.com/christopherwoodall/src-agent/actions/workflows/release.yml/badge.svg\n[release-url]: https://github.com/christopherwoodall/src-agent/actions/workflows/release.yml\n\n# Source Agent\nSimple coding agent.\n\n## How it Works\n**Source Agent** operates as a stateless entity, guided by clear directives and external context. Its behavior is primarily defined by **`AGENTS.md`**, which serves as the core system prompt. For current tasks and instructions, it references **`TASKS.md`**, while **`CHANGELOG.md`** provides essential historical context and decision-making rationale. This setup ensures consistent and informed responses without internal memory.\n\n---\n\n## Getting Started\n\n```bash\ngit clone [https://github.com/christopherwoodall/src-agent](https://github.com/christopherwoodall/src-agent)\ncd src-agent\npip install -e \".[developer]\"\n\nsrc-agent\n```\n\n\n## References\n- [Using OnepRouter with Python](https://openrouter.ai/docs/quickstart)\n- https://agentic-patterns.com/\n"}, "b20f962b9fdca7344fa5d78b1bec4f32e773e735": {"t": 1785770128.202583, "n": 1444, "h": "806c6be1edd1c4a8", "c": "<p align=\"center\">\n\n[![CI][ci-badge]][ci-url]\n[![Release][release-badge]][release-url]\n[![PyPI Status Badge][pypi-badge]][pypi-url]\n\n</p>\n\n[ci-badge]: https://github.com/christopherwoodall/code-pilot/actions/workflows/lint.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/christopherwoodall/code-pilot/actions/workflows/lint.yml\n[pypi-badge]: https://badge.fury.io/py/code-pilot.svg\n[pypi-url]: https://pypi.org/project/code-pilot/\n[release-badge]: https://github.com/christopherwoodall/code-pilot/actions/workflows/release.yml/badge.svg\n[release-url]: https://github.com/christopherwoodall/code-pilot/actions/workflows/release.yml\n\n# Code Pilot\nSimple coding agent.\n\n## How it Works\n**Code Pilot** operates as a stateless entity, guided by clear directives and external context. Its behavior is primarily defined by **`AGENTS.md`**, which serves as the core system prompt. For current tasks and instructions, it references **`TASKS.md`**, while **`CHANGELOG.md`** provides essential historical context and decision-making rationale. This setup ensures consistent and informed responses without internal memory.\n\n---\n\n## Getting Started\n\n```bash\ngit clone [https://github.com/christopherwoodall/code-pilot](https://github.com/christopherwoodall/code-pilot)\ncd code-pilot\npip install -e \".[developer]\"\n\ncode-pilot\n```\n\n\n## References\n- [Using OnepRouter with Python](https://openrouter.ai/docs/quickstart)\n- https://agentic-patterns.com/\n"}, "efe5e2741daeef9a8d574d909cc3dea8223626c3": {"t": 1785770129.6702287, "n": 1445, "h": "ba9d0e8377b6c141", "c": "<p align=\"center\">\n\n[![CI][ci-badge]][ci-url]\n[![Release][release-badge]][release-url]\n[![PyPI Status Badge][pypi-badge]][pypi-url]\n\n</p>\n\n[ci-badge]: https://github.com/christopherwoodall/code-agent/actions/workflows/lint.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/christopherwoodall/code-agent/actions/workflows/lint.yml\n[pypi-badge]: https://badge.fury.io/py/code-agent.svg\n[pypi-url]: https://pypi.org/project/code-agent/\n[release-badge]: https://github.com/christopherwoodall/code-agent/actions/workflows/release.yml/badge.svg\n[release-url]: https://github.com/christopherwoodall/code-agent/actions/workflows/release.yml\n\n\n# Code Agent\nSimple coding agent.\n\n## How it Works\n**Code Agent** operates as a stateless entity, guided by clear directives and external context. Its behavior is primarily defined by **`AGENTS.md`**, which serves as the core system prompt. For current tasks and instructions, it references **`TASKS.md`**, while **`CHANGELOG.md`** provides essential historical context and decision-making rationale. This setup ensures consistent and informed responses without internal memory.\n\n---\n\n## Getting Started\n\n```bash\ngit clone [https://github.com/christopherwoodall/code-agent](https://github.com/christopherwoodall/code-agent)\ncd code-agent\npip install -e \".[developer]\"\n\ncode-agent\n```\n\n\n## References\n- [Using OnepRouter with Python](https://openrouter.ai/docs/quickstart)\n- https://agentic-patterns.com/\n"}, "534c5818d8485491f0d3ee77d0d948517173054b": {"t": 1785770131.0989957, "n": 82, "h": "2cb67f957bc61739", "c": "# code-agnet\nSimple coding agent.\n\n\n## References\n- https://agentic-patterns.com/\n"}}}}