{"id":28164038,"url":"https://github.com/abhijitkumarj/experimental_aider_extensions","last_synced_at":"2026-01-25T17:31:55.127Z","repository":{"id":264267564,"uuid":"892151185","full_name":"AbhijitKumarJ/Experimental_Aider_Extensions","owner":"AbhijitKumarJ","description":"Experiments on Aider Extensions","archived":false,"fork":false,"pushed_at":"2025-02-02T15:57:59.000Z","size":497,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-15T11:15:01.656Z","etag":null,"topics":["aider","aider-chat","cli","extension"],"latest_commit_sha":null,"homepage":"https://abhijitkumarj.github.io/Experimental_Aider_Extensions/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AbhijitKumarJ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-21T15:42:45.000Z","updated_at":"2025-03-20T00:52:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"8c748243-ab75-4a98-b8f0-12545b3f83e1","html_url":"https://github.com/AbhijitKumarJ/Experimental_Aider_Extensions","commit_stats":null,"previous_names":["abhijitkumarj/experimental_aider_extensions"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AbhijitKumarJ/Experimental_Aider_Extensions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbhijitKumarJ%2FExperimental_Aider_Extensions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbhijitKumarJ%2FExperimental_Aider_Extensions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbhijitKumarJ%2FExperimental_Aider_Extensions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbhijitKumarJ%2FExperimental_Aider_Extensions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AbhijitKumarJ","download_url":"https://codeload.github.com/AbhijitKumarJ/Experimental_Aider_Extensions/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbhijitKumarJ%2FExperimental_Aider_Extensions/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28755924,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T16:32:25.380Z","status":"ssl_error","status_checked_at":"2026-01-25T16:32:09.189Z","response_time":113,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aider","aider-chat","cli","extension"],"created_at":"2025-05-15T11:15:01.529Z","updated_at":"2026-01-25T17:31:55.090Z","avatar_url":"https://github.com/AbhijitKumarJ.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unofficial and experimental Aider Extension\n\nExperimental Custom extensions for the Aider AI coding assistant.  This repository is for experimenting with potential new features and suggesting them to Aider contributors.  This is **not** an officially supported Aider distribution.\n\n## Important Notice\n\nThis is purely experimental and not intended for production use.  Before using any code from this repository, please thoroughly review and test it.  Use at your own risk.\n\n## Features\n\n- **RAG (Retrieval Augmented Generation):**  Query documents using RAG.\n- **Advanced Chat Customization:** Keyword substitution for enhanced chat interactions.\n- **Enhanced Git Integration:** Improved visualizations and streamlined workflows.\n- **Code Analysis and Explanation Tools:**  Interactive code analysis and explanation features.\n- **Interactive Context Management:**  View, save, and load chat context.\n- **GUI Editors:** Enhanced Tkinter editor with syntax highlighting and features.\n- **Web and Voice Command Enhancements:** Improved web scraping and voice command processing.\n- **Command Templating:** Create reusable command sequences using templates.\n\n\n## Installation\n\n1. **Install Aider:**\n   ```bash\n   pip install aider-chat\n   ```\n\n2. **Clone this repository:**\n   ```bash\n   git clone https://github.com/YourUsername/aider-extension.git\n   cd aider-extension\n   ```\n\n3. **Install dependencies:**\n   ```bash\n   pip install jinja2 llama-index-core llama-index-embeddings-huggingface pygments pyperclip streamlit requests\n   pip install 'aider-chat[help]' --extra-index-url https://download.pytorch.org/whl/cpu\n   ```\n\n## Project Structure\n\n```\n./\n├── main.py               # Main script to run the extension\n├── .extn_aider/           # Directory for extension data\n│   ├── command_templates/ # Directory for command templates\n│   │   ├── load_templated/\n│   │   └── load_templated_script/\n│   └── ...\n└── custom_aider/         # Core extension code\n    ├── __init__.py\n    ├── monkey_patch.py   # Early patching of Aider classes\n    ├── custom_aider_main.py # Main entry point for the extension\n    ├── custom_coder.py    # Custom Coder class\n    ├── commands_registry.py # Command registry\n    ├── commands/         # Custom command implementations\n    │   ├── docrag_commands.py\n    │   ├── git_commands.py\n    │   └── ...\n    ├── gui/             # GUI components (Tkinter editor)\n    └── docs/            # Documentation\n```\n\n## Basic Usage\n\n1. **Start the extension:**\n   ```bash\n   python main.py\n   ```\n\n2. **Use commands in the Aider chat:**\n   ```\n   \u003e /help  # List available commands\n   \u003e /createragfromdoc docs ./documentation.md  # Create a RAG index\n   \u003e /glog -n 5  # Show the last 5 git commits\n   ```\n\n## Available Commands\n\n(See detailed documentation in the `custom_aider/docs` directory and individual command files.)\n\n### Document Processing\n- `/createragfromdoc \u003cnickname\u003e \u003cpath\u003e`: Create a RAG index from a document.\n- `/queryragfromdoc \u003cnickname\u003e \u003cquery\u003e`: Query an existing RAG index.\n- `/listrag`: List available RAG indexes.\n- `/deleterag \u003cnickname\u003e`: Delete a RAG index.\n\n### Enhanced Chat\n- `/customchat \u003cmessage\u003e`: Send a message with keyword substitution.\n- `/clip-edit \u003cfilename\u003e`: Apply code edits from the clipboard.\n- `/editor_tkinter`: Open the enhanced Tkinter editor.\n\n### Git Integration\n- `/glog [options]`: Show a Git log with graph and statistics.\n- `/zadd \u003cfiles\u003e`: Add files to Git staging area with status check.\n- `/zcommit \u003cmessage\u003e`: Commit changes with statistics in the message.\n- `/zdrop \u003cfiles\u003e`: Remove files from the chat with backup.\n\n### Context Management\n- `/context_show`: Display the current chat context as HTML.\n- `/context_backup [prefix]`: Save a backup of the chat context.\n- `/context_load [filename]`: Load a chat context from a backup file.\n- `/explain \u003ctarget\u003e [--level \u003clevel\u003e]`: Get an interactive explanation of code.\n- `/files [pattern]`: List files in the chat with details.\n- `/stats`: Show statistics about files in the chat.\n- `/zclear`: Clear the chat history with backup.\n\n### Web and Voice\n- `/zweb \u003curl\u003e`: Fetch content from a URL with retry mechanism.\n- `/zvoice`: Use voice input with transcription confidence check.\n\n### Template Loading\n- `/load_templated \u003ctemplate_name\u003e`: Load and execute a parameterized command template.\n- `/load_templated_script \u003ctemplate_name\u003e`: Load and execute a script-based command template.\n\n### AIChat API\n- `/aichat_rag_query \u003crag_name\u003e \u003cquery\u003e`: Query a RAG using the AIChat API.\n\n\n## Configuration\n\n1. **`.aider.conf.yml`:**  Main configuration file (see example below).\n2. **`.extn_aider.keywords.json`:**  Keywords for chat substitution (see example below).\n\n**Example `.aider.conf.yml`:**\n\n```yaml\nmodel: gemini/gemini-1.5-flash-latest\nmap-tokens: 1024\nsubtree_only: true\n```\n\n**Example `.extn_aider.keywords.json`:**\n\n```json\n{\n  \"api\": \"REST API with JSON responses\",\n  \"tests\": \"Unit tests using pytest\"\n}\n```\n\n## Extension System Architecture\n\nThe extension system uses several key components:\n\n1. **Command Registry** (`commands_registry.py`)\n   - Central registration of commands\n   - Manages completion handlers\n   - Handles command help text\n\n2. **Custom Coder** (`custom_coder.py`) \n   - Extends Aider's base Coder\n   - Installs custom commands\n   - Provides extension hooks\n\n3. **Monkey Patching** (`monkey_patch.py`)\n   - Early class patching\n   - Safe core modifications\n   - Path management\n\n4. **Template Systems**\n   - Command templates\n   - Script templates \n   - Project scaffolding\n\nFor more technical details, see `custom_aider/docs/extension-docs.md`.\n\n## Repository Organization \n\n- `.extn_aider/All_Commands/` contains reference implementations and documentation for each command type\n- Active command implementations go in `custom_aider/commands/`\n- GUI components in `custom_aider/gui/`\n- Documentation in `custom_aider/docs/`\n\n## Contributing\n\nFeel free to experiment with these extensions and suggest improvements. This is an experimental project meant to explore potential new features for the Aider project.\n\n## License\n\nThis project is licensed under the Apache License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhijitkumarj%2Fexperimental_aider_extensions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabhijitkumarj%2Fexperimental_aider_extensions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhijitkumarj%2Fexperimental_aider_extensions/lists"}