Skip to content

doubletabai/doubletab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DoubleTab

DoubleTab is an open-source AI-powered development tool that helps users create software projects from scratch to production. Designed for developers, but accessible to anyone, it automates essential backend tasks such as database schema generation, API endpoint creation, and code generation—streamlining the development workflow.

screenshot.png

Features

  • OpenAPI 3.0 Spec - Generate OpenAPI spec based on your input in natural language.
  • Schema Generation – Postgres schema generated and applied based on OpenAPI spec.
  • API Generation – Automatically generate structured API endpoints.
  • Building - Make sure that the generated code is buildable. If not, fix it automatically.
  • Ollama Integration – Integrate Ollama for local LLMs.
  • Memory - Remember user inputs and tools outputs to avoid endless loops of incorrect solutions.
  • Standardized Codebase – Ensures consistency by following predefined coding patterns.

Installation

To install and use DoubleTab, you need to have Go installed on your machine. You can download it from the official website.

Once you have Go installed, you can install DoubleTab by running the following command:

go install github.com/doubletabai/doubletab@latest

You should now be able to run the doubletab command from your terminal. Make sure to add the Go bin directory to your PATH if you haven't already.

export PATH=$PATH:$(go env GOPATH)/bin

Usage

Change to an empty directory where you want to create your project. Before running doubletab, make sure that it has configuration for the database and LLM connection. There are two ways to provide the configuration:

  1. Flags - You can provide the configuration using flags. Run doubletab -h to see the available flags. Example minimal usage with OpenAI LLM:

    doubletab --pg-user <user> --pg-database <project_db> --pg-password <password> --dt-pg-user <user> --dt-pg-password <password> --openai-api-key <key>

    DoubleTab is using two databases: one for the project and one for the tool. The --pg-user, --pg-database, and --pg-password flags are used for the project database, and the --dt-pg-user and --dt-pg-password flags are used for the tool database (by default, the tool database is doubletab, but can be overwritten).

  2. Environment variables - You can provide the configuration using environment variables. Each flag has a corresponding environment variable. Example:

     export PG_USER=<user>
     export PG_DATABASE=<project_db>
     export PG_PASSWORD=<password>
     export DT_PG_USER=<user>
     export DT_PG_PASSWORD=<password>
     export OPENAI_API_KEY=<key>
     doubletab

Ollama Example

To use local LLMs, you need to have Ollama running. Then, configure dobuletab with the following additional flags:

doubletab <...pg flags...> --llm-base-url http://127.0.0.1:11434/v1/v1 --llm-embedding-model nomic-embed-text --llm-chat-model llama3.3 --llm-code-model llama3.3

Roadmap

  • Ollama Integration – Integrate Ollama for local LLMs.
  • Standardized Codebase – Ensures consistency by following predefined coding patterns.
  • Memory - Remember user inputs and tools outputs to avoid endless loops of incorrect solutions.
  • Code Execution – Run and validate generated Go code securely.
  • Tests Generation – Automatically generate and run tests for the generated code.
  • Deployment – Deploy the generated code to a cloud provider.
  • Restore sessions – Restore previous sessions to continue working on a project.
  • Different DBs/languages – Support for different databases and programming languages.
  • Extensible Tools – Supports custom tools for additional automation.
  • Custom Knowledge Base – Create and apply custom knowledge bases for specific domains.

About

AI workflow for software development

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages