Automate local deployment of any software with zero configuration.
Octo is a CLI tool that analyzes your codebase, detects the tech stack, and generates a deployment configuration file to run your application locally.
- Automatic Detection - Detects programming languages, frameworks, and package managers
- Zero Configuration - Get started with a single command
- Multiple Runtimes - Supports Docker, Nix, and shell-based execution
- Framework Aware - Understands popular frameworks and their conventions
git clone https://github.com/harshul23/octo-cli.git
cd octo-cli
./scripts/install.shgo install github.com/harshul/octo-cli/cmd@latest- Navigate to your project directory:
cd your-project- Initialize Octo:
octo initThis will analyze your codebase and generate a .octo.yaml file.
- Run your application:
octo runAnalyzes the codebase and generates a .octo.yaml configuration file.
octo init [flags]
Flags:
-o, --output string Output file path (default ".octo.yaml")
-f, --force Overwrite existing configuration
-i, --interactive Run in interactive mode with promptsExecutes the software based on the .octo.yaml file.
octo run [flags]
Flags:
-c, --config string Configuration file path (default ".octo.yaml")
-e, --env string Environment to run (default "development")
-b, --build Run build step (default true)
-w, --watch Watch for file changes and restart
-d, --detach Run in detached mode (background)The .octo.yaml file structure:
name: my-project
language: Go
version: "1.21"
run: go run main.goFields:
name- The project name (required)language- The detected programming language (e.g., Node, Java, Python, Go, Rust, Ruby)version- The language/runtime versionrun- The command to execute the application
| Language | Package Managers | Frameworks |
|---|---|---|
| Go | go mod | Gin, Echo, Fiber |
| JavaScript | npm, yarn, pnpm | React, Next.js |
| Python | pip, poetry | Django, Flask |
| Rust | cargo | Actix, Rocket |
| Ruby | bundler | Rails, Sinatra |
| Java | maven, gradle | Spring Boot |
Contributions are welcome! Please read our Contributing Guide for details.
MIT License - see LICENSE for details.
