Welcome to Dennis โ your blazing-fast, open-source ๐ง ๐จโ๐ป AI coding assistant for full-stack development right in your browser!
โจ With Dennis, you can choose your favorite LLM for every prompt โ including:
- ๐ฎ OpenAI
- ๐ง Anthropic
- ๐ง Ollama
- ๐ Gemini
- โก๏ธ Groq
- ๐ค LM Studio
- ๐ฆ Mistral
- ๐ xAI
- ๐งฌ HuggingFace
- ๐ DeepSeek
- ๐งญ OpenRouter
...and you can even extend it to any other model supported by the Vercel AI SDK!
๐ Check out the Dennis Docs for official installation instructions and more!
๐ฌ Also, donโt miss the pinned post in our community โ packed with resources to help you run and deploy Dennis like a pro.
๐ ๏ธ Originally created by Jayash Bhandary, Dennis has quickly grown into a passionate, global community effort to build the BEST open-source AI dev tool out there!
- ๐ Join the Community
- ๐ Requested Additions
- โจ Features
- ๐ง Setup
- ๐ Run the Application
- ๐ Available Scripts
- ๐ค Contributing
- โ FAQ
Dennis is a growing, community-driven initiative. Our core team is committed to organizing the project so contributors like YOU ๐ can easily jump in, explore active development areas, and make an impact!
โ
means already implemented!
Here's what the community has helped build so far:
- โ OpenRouter Integration
- โ Gemini Integration
- โ Autogenerate Ollama models
- โ Filter models by provider
- โ ZIP project downloads
- โ
Prompt enhancements in
prompts.ts - โ DeepSeek API
- โ Mistral API
- โ OpenAI-compatible API
- โ Local folder file sync
- โ Docker containerization
- โ Publish to GitHub
- โ API key UI editor
- โ xAI Grok Beta
- โ LM Studio
- โ HuggingFace
- โ Bolt Terminal
- โ Code output streaming
- โ Revert code history
- โ Chat backup & restore
- โ Cohere integration
๐ฅ AI-powered full-stack web development (Node.js)
๐งฉ Multi-LLM support with pluggable architecture
๐ผ๏ธ Attach images to prompts
๐ฅ๏ธ Integrated terminal for LLM command outputs
๐ Code version history & rollback
๐๏ธ ZIP export for portability
๐ณ Docker support for seamless setup
- Click source.zip
- Extract and follow the steps below!
Make sure youโve got:
๐ Download Node.js (LTS recommended)
npm install -g pnpm
pnpm install
pnpm run devSetting up your API keys in Dennis is straightforward:
- Open the home page (main interface)
- Select your desired provider from the dropdown menu
- Click the pencil (edit) icon
- Enter your API key in the secure input field
For providers that support custom base URLs (such as Ollama or LM Studio), follow these steps:
-
Click the settings icon in the sidebar to open the settings menu
-
Navigate to the "Providers" tab
-
Search for your provider using the search bar
-
Enter your custom base URL in the designated field
Note: Custom base URLs are particularly useful when running local instances of AI models or using custom API endpoints.
- Ollama
- LM Studio
- OpenAILike
This method is recommended for developers who want to:
- Contribute to the project
- Stay updated with the latest changes
- Switch between different versions
- Create custom modifications
- Install Git: Download Git
-
Clone the Repository:
# Using HTTPS git clone https://github.com/JayashBhandary/Dennis.git -
Navigate to Project Directory:
cd Dennis -
Switch to the Main Branch:
git checkout main
-
Install Dependencies:
pnpm install
-
Start the Development Server:
pnpm run dev
To get the latest changes from the repository:
-
Save Your Local Changes (if any):
git stash
-
Pull Latest Updates:
git pull origin main
-
Update Dependencies:
pnpm install
-
Restore Your Local Changes (if any):
git stash pop
If you encounter issues:
-
Clean Installation:
# Remove node modules and lock files rm -rf node_modules pnpm-lock.yaml # Clear pnpm cache pnpm store prune # Reinstall dependencies pnpm install
-
Reset Local Changes:
# Discard all local changes git reset --hard origin/main
Remember to always commit your local changes or stash them before pulling updates to avoid conflicts.
pnpm run dev: Starts the development server.pnpm run build: Builds the project.pnpm run start: Runs the built application locally using Wrangler Pages.pnpm run preview: Builds and runs the production build locally.pnpm test: Runs the test suite using Vitest.pnpm run typecheck: Runs TypeScript type checking.pnpm run typegen: Generates TypeScript types using Wrangler.pnpm run deploy: Deploys the project to Cloudflare Pages.pnpm run lint:fix: Automatically fixes linting issues.
We welcome contributions! Check out our Contributing Guide to get started.
For answers to common questions, issues, and to see a list of recommended models, visit our FAQ Page.
