https://github.com/vysakh0/dravid Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + GitHub Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions By size + Enterprise + Teams + Startups By industry + Healthcare + Financial services + Manufacturing By use case + CI/CD & Automation + DevOps + DevSecOps * Resources Topics + AI + DevOps + Innersource + Open Source + Security + Software Development Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} vysakh0 / dravid Public * Notifications You must be signed in to change notification settings * Fork 1 * Star 40 dravid (drd) cli is an AI powered cli coding framework License MIT license 40 stars 1 fork Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 0 * Pull requests 0 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights vysakh0/dravid This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main BranchesTags Go to file Code Folders and files Last commit Last Name Name message commit date Latest commit History 57 Commits run_tests run_tests src/drd src/drd .gitignore .gitignore CONTRIBUTING.md CONTRIBUTING.md LICENSE LICENSE README.md README.md conftest.py conftest.py drd.json drd.json poetry.lock poetry.lock project_guidelines.txt project_guidelines.txt pyproject.toml pyproject.toml View all files Repository files navigation * README * MIT license Dravid (DRD) - AI-Powered CLI Coding Framework Dravid (DRD) is an advanced, AI-powered CLI coding framework (in alpha) designed to streamline and enhance the development process. It leverages artificial intelligence to assist developers in various tasks, from project setup to code generation and file management. Features * AI-powered CLI for efficient coding and project management * Image query handling capabilities * Robust file operations and metadata management * Integration with external APIs (Dravid API) * Built-in development server with file monitoring * Comprehensive error handling and reporting * Extensible architecture for easy feature additions Installation Prerequisites * Python 3.7+ * pip (Python package installer) * CLAUDE_API_KEY (environment variable should be set) To install Dravid, run the following command: pip install dravid Usage After installation, you can use the drd command directly from your terminal. Here are some common usage examples: NOTE: for better results, go step by step and communicate clearly. You can also define project_guidelines.txt which will be referenced in the main query, you can use this to instruct on how the code should be generated etc. Also, any png or jpg files that will be generated and needs to be replaced will have placeholder prefix, so you know that it has to be replaced. Basic Query Execute a Dravid command: drd "create a nextjs project" The above command loads project context or project guidelines if they exist, along with any relevant file content in its context. With larger text (heredoc) When you have larger string or if you want to copy paste a error stack with double quotes etc, please use this. drd <> LICENSE --ask is much faster than the execute command because it doesn't load project context or project guidelines (you can create your own project_guidelines.txt) Image-based Queries Use image references in your queries: drd "make the home image similar to the image" --image "~/Downloads/reference.png" Self healing fix You can run the development server with automatic error fixing. This command will start your dev server (as in the drd.json) and then continually fix any errors and then restart, you can sitback and sip coffee :) drd --hf or drd --hot-fix Metadata Management To use Dravid cli in an existing project you would have to initialize metadata (drd.json) This script will ignore files in your .gitgnore and recursively read and give description for each of the file drd --meta-init or drd --i Note: make sure to include as many things in .gitignore that are not relevant. This would make multiple LLM calls. When you have added some files or removed files on your own for some reason and you want Dravid to know about it, you have to run this: drd --meta-add "modified the about page" or drd --a "added users api" This would update the drd.json File-specific Queries Ask for suggestions on specific files: drd --ask "can you suggest how to refactor this file" --file "src/main.py" For more detailed usage instructions and options, use the help command: drd --help Use Cases Next.js Project Development 1. Create a simple Next.js app: drd "create a simple nextjs app" 2. Include shadcn components: drd "include shadcn components like button, input, select etc" 3. Modify home page based on a reference image: drd "make the home page similar to the image" --image ~/Downloads/reference.png 4. Create additional pages with consistent layout: drd "whatever links like Company, About, Services etc that you see in Nav link you can convert them into links and page on its own and with some sample content. All these new pages should have the same layout as the home page" 5. Auto-fix errors and start development server: drd --hf Working with Existing Projects Initialize Dravid in an existing project: drd --i This creates a drd.json based on the existing folder structure, allowing you to start using Dravid in that project. Exploring New Languages (e.g., Elixir) 1. Create a simple Elixir project (even if Elixir is not installed): drd "create a simple elixir project" Dravid will auto-fix any errors, including installing necessary dependencies. 2. Handle specific errors: drd <