tose generate
Generate a Dockerfile for your project using AI.
Synopsis
bash
tose generate [-o <path>] [--overwrite] [--skip-commit] [--auto-commit] [--auto-push]Description
Scans your project source code, detects the language, framework, and package manager, then uses AI to generate an optimized Dockerfile. The generated Dockerfile is tailored to your project's stack and follows best practices for production deployments.
Options
| Option | Description |
|---|---|
-o, --output <path> | Output file path (default: Dockerfile) |
--overwrite | Overwrite existing Dockerfile |
--skip-commit | Skip the git commit prompt |
--auto-commit | Automatically commit without prompting |
--auto-push | Automatically push after commit |
Usage
Generate Dockerfile
bash
$ tose generate
Scanning source code...
✓ Source code scanned
Language: Node.js
Framework: Next.js
Package Manager: npm
Generating Dockerfile with AI...
✓ Dockerfile generated
Dockerfile saved to Dockerfile
Commit Dockerfile to git? Yes
✓ Adding to git...
Committed to git
Review and customize the Dockerfile as needed.Overwrite Existing Dockerfile
bash
$ tose generate --overwrite
Scanning source code...
✓ Source code scanned
Language: Python
Framework: FastAPI
Package Manager: pip
Generating Dockerfile with AI...
✓ Dockerfile generated
Dockerfile saved to DockerfileCustom Output Path
bash
$ tose generate -o docker/Dockerfile.prodSkip Git Commit
bash
$ tose generate --skip-commitAuto Commit and Push
bash
$ tose generate --auto-commit --auto-pushDetected Languages
| Language | Detection File |
|---|---|
| Node.js | package.json |
| Python | requirements.txt, setup.py, Pipfile |
| Rust | Cargo.toml |
| Go | go.mod |
| Java | pom.xml, build.gradle |
| PHP | composer.json |
| Ruby | Gemfile |
Detected Frameworks
Node.js
- Next.js
- React
- Express
- NestJS
- Fastify
- Koa
Python
- Django
- Flask
- FastAPI
Detected Package Managers
| Manager | Detection File |
|---|---|
| npm | package-lock.json |
| yarn | yarn.lock |
| pnpm | pnpm-lock.yaml |
| bun | bun.lock |
JSON Output
bash
$ tose generate --json --skip-commitjson
{
"success": true,
"data": {
"path": "Dockerfile",
"language": "Node.js",
"framework": "Next.js"
}
}How It Works
- Scan - Reads key project files (package.json, config files, directory structure)
- Detect - Identifies language, framework, and package manager
- Generate - Sends project context to the TOSE AI API
- Save - Writes the generated Dockerfile to disk
- Commit (optional) - Commits the Dockerfile with message
Add Dockerfile (generated by tose)
TIP
The generated Dockerfile is a starting point. Review it and customize for your specific needs, especially for production deployments.
Related Commands
tose up- Deploy after generating Dockerfiletose deploy- Trigger deployment