Skip to content

JayashBhandary/Dennis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ AI CODER DENNIS

Dennis: AI-Powered Full-Stack Web Development in the Browser

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!


๐Ÿ“‘ Table of Contents


๐Ÿง  Project Management

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!


๐Ÿ“Œ Requested Additions

โœ… 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

โœจ Features

๐Ÿ”ฅ 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


๐Ÿ’ป Quick Setup

  1. Click source.zip
  2. Extract and follow the steps below!

โš™๏ธ Prerequisites

Make sure youโ€™ve got:

๐ŸŸข Node.js

๐Ÿ‘‰ Download Node.js (LTS recommended)


๐Ÿ› ๏ธ Running the Application

๐Ÿ”น Option 1: Direct Install (Great for Beginners)

npm install -g pnpm
pnpm install
pnpm run dev

Configuring API Keys and Providers

Adding Your API Keys

Setting up your API keys in Dennis is straightforward:

  1. Open the home page (main interface)
  2. Select your desired provider from the dropdown menu
  3. Click the pencil (edit) icon
  4. Enter your API key in the secure input field

Configuring Custom Base URLs

For providers that support custom base URLs (such as Ollama or LM Studio), follow these steps:

  1. Click the settings icon in the sidebar to open the settings menu

  2. Navigate to the "Providers" tab

  3. Search for your provider using the search bar

  4. 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.

Supported Providers

  • Ollama
  • LM Studio
  • OpenAILike

Setup Using Git (For Developers only)

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

Prerequisites

  1. Install Git: Download Git

Initial Setup

  1. Clone the Repository:

    # Using HTTPS
    git clone https://github.com/JayashBhandary/Dennis.git
  2. Navigate to Project Directory:

    cd Dennis
  3. Switch to the Main Branch:

    git checkout main
  4. Install Dependencies:

    pnpm install
  5. Start the Development Server:

    pnpm run dev

Staying Updated

To get the latest changes from the repository:

  1. Save Your Local Changes (if any):

    git stash
  2. Pull Latest Updates:

    git pull origin main
  3. Update Dependencies:

    pnpm install
  4. Restore Your Local Changes (if any):

    git stash pop

Troubleshooting Git Setup

If you encounter issues:

  1. 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
  2. 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.


Available Scripts

  • 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.

Contributing

We welcome contributions! Check out our Contributing Guide to get started.


FAQ

For answers to common questions, issues, and to see a list of recommended models, visit our FAQ Page.

About

๐Ÿš€ AI-powered full-stack web development assistant in your browser. Choose from OpenAI, Claude, Gemini, Ollama, and more!

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages