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.
- 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.
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
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:
-
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 isdoubletab
, but can be overwritten). -
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
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
- 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.