{"id":28406900,"url":"https://github.com/felixsoderstrom/ducky","last_synced_at":"2026-01-27T20:31:05.946Z","repository":{"id":295573685,"uuid":"989566911","full_name":"FelixSoderstrom/Ducky","owner":"FelixSoderstrom","description":"Think of ducky as your over-the-shoulder mentor. He watches your codebase and notifies you when you implement bad code. Ducky helps developers to understand code without handing them the complete answer.","archived":false,"fork":false,"pushed_at":"2025-06-12T10:30:38.000Z","size":1153,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-12T10:44:52.276Z","etag":null,"topics":["agents","ai","anthropic-claude","development-tools","mcp","rag"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FelixSoderstrom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-05-24T11:11:37.000Z","updated_at":"2025-06-12T10:30:42.000Z","dependencies_parsed_at":"2025-06-12T10:36:50.744Z","dependency_job_id":"4ff556a9-6026-47b9-9b0a-6e76faed74e1","html_url":"https://github.com/FelixSoderstrom/Ducky","commit_stats":null,"previous_names":["felixsoderstrom/ducky"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FelixSoderstrom/Ducky","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FelixSoderstrom%2FDucky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FelixSoderstrom%2FDucky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FelixSoderstrom%2FDucky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FelixSoderstrom%2FDucky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FelixSoderstrom","download_url":"https://codeload.github.com/FelixSoderstrom/Ducky/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FelixSoderstrom%2FDucky/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262569362,"owners_count":23330195,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["agents","ai","anthropic-claude","development-tools","mcp","rag"],"created_at":"2025-06-01T23:10:44.174Z","updated_at":"2026-01-27T20:31:05.905Z","avatar_url":"https://github.com/FelixSoderstrom.png","language":"Python","readme":"# Ducky - Local Code Mentor with RAG-Powered Feedback\n\n**A file-watching assistant that analyzes your codebase changes and provides real-time feedback on code quality, patterns, and best practices.**\n\n## Quick Start\n```bash\npip install -r requirements.txt\npython main.py\n```\n\n## What It Does\n- Monitors your codebase for changes via file watchers\n- Maintains a local SQLite database of your code structure\n- Uses RAG (Retrieval-Augmented Generation) to analyze code changes\n- Provides contextual feedback on code quality and patterns\n- Acts as a code review mentor, not an autocomplete tool\n\n## Key Features\n- **Local-first**: All data stays on your machine\n- **Real-time analysis**: Immediate feedback on code changes\n- **Context-aware**: Understands your entire codebase structure\n- **Educational focus**: Explains *why* something is problematic\n- **Non-intrusive**: Suggests improvements without writing code for you\n- **Local TTS**: Uses Chatterbox TTS for voice notifications\n\n## Architecture Overview\n```\nFile System Changes → File Watcher → SQLite Database → RAG Analysis → LLM Feedback\n```\n\n## Use Cases\n- **Code review automation** for solo developers\n- **Learning tool** for junior developers\n- **Consistency enforcement** across large codebases\n- **Technical debt identification** in real-time\n\n## Technical Stack\n- File system monitoring\n- SQLite for local code indexing\n- RAG pipeline for contextual analysis\n- LLM integration for feedback generation\n- Chatterbox TTS for local voice synthesis\n\n---\n\n## Detailed Documentation\n\n### Problem Statement\nModern AI coding tools excel at code generation but often lead to poor practices when developers don't understand the generated code. Ducky bridges this gap by focusing on education and code quality rather than code generation.\n\n### How It Works\n1. **File Monitoring**: Watches your project directory for changes\n2. **Code Indexing**: Maintains a searchable database of your codebase\n3. **Change Analysis**: Uses RAG to understand the context of your changes\n4. **Feedback Generation**: LLM analyzes changes against best practices\n5. **Developer Notification**: Provides actionable feedback and explanations\n\n### Voice Notifications\nDucky uses [Chatterbox TTS](https://github.com/resemble-ai/chatterbox) for voice notifications:\n- **No API costs** - Runs completely locally\n- **No API keys required** - Zero external dependencies\n- **Voice cloning** - Support for custom voice prompts\n- **Emotion control** - Adjustable exaggeration and intensity\n\n\n\nI never recommend cloning the dev branch and will never promise working versions on the dev branch.\nTo get a sneak peek of what coming around the corner, check out my [Miro Board](https://miro.com/app/board/uXjVIBdU1Lc=/)\n\n### Philosophy\nDucky doesn't write code for you - it teaches you to write better code. The goal is to maintain developer agency while providing expert-level guidance on code quality and patterns.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelixsoderstrom%2Fducky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffelixsoderstrom%2Fducky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelixsoderstrom%2Fducky/lists"}