Dynamite CLI is an intelligent, AI-powered command-line interface designed to be your coding companion. It leverages the power of Google's Gemini models to chat, execute tools, and autonomously scaffold or modify simple applications directly from your terminal.
- 💬 AI Chat: Have natural, context-aware conversations with the latest AI models.
- 🛠️ Tool-Enhanced Chat: Enable specific tools to give the AI real-world capabilities during your chat.
- Google Search: Fetch real-time information from the web.
- URL Reader: Extract and summarize content from provided URLs.
- Code Executor: Run code snippets in a secure sandbox environment.
- Google Maps: Retrieve location-based information and directions.
- 🕵️ AI Agent Mode: A powerful autonomous agent that can:
- Create Applications: Generate full project structures (folders, files, config) from a single prompt.
- Modify Projects: Update created files, refactor code, or add new features with context awareness.
- Session Memory: Remembers conversation and builts during the session for smart references (e.g., "What did I say you before?").
- 🔐 Secure Authentication: Built-in device authorization flow to securely log in via your browser.
-
Fork and Clone the repository:
git clone https://github.com/your-username/Dynamite.git
-
Navigate to the project directory:
cd Dynamite -
Install dependencies:
pnpm install
-
Set up environment variables:
- Client-side:
Run the following command to create a
.envfile inside theclientdirectory:
cp .env.example .env
- Server-side:
Run the following command to create a
.envfile inside theserverdirectory:
cp .env.example .env
Update the
.envfiles with your configuration settings as needed. - Client-side:
Run the following command to create a
-
Set-up Prisma database:
npx prisma generate
-
Run the application:
- Client-side:
pnpm run dev
- Server-side:
docker compose up -d # this will run the redis and postgres containers pnpm run dev -
To run Cli type
dynamiteordynamite --helpto see available commands.dynamite --help
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add feature-name" - Push to your branch:
git push origin feature-name
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details