CLI Command Reference
Complete reference for all smooth CLI commands.
Global Options
These options are available for all commands:
--help- Show help message and exit--version- Show version and exit
Command Structure
smooth <command> <subcommand> [options]
Commands Overview
| Command | Description |
|---|---|
commit |
Generate AI-powered commit messages |
pr |
Generate pull request titles and summaries |
release |
Generate release notes from git history |
config |
Manage configuration settings |
auth |
Authentication and API key management |
docs |
Documentation utilities (coming soon) |
smooth commit
Generate conventional commit messages from staged changes.
smooth commit generate
Generate a commit message from staged git changes.
Usage:
smooth commit generate [OPTIONS]
Options:
| Option | Description | Default |
|---|---|---|
--commit |
Automatically commit with generated message | false |
--template PATH |
Custom commit message template file | None |
--issue TEXT |
Associated issue number (e.g., "123" or "#123") | Auto-detected from branch |
--latency-profile TEXT |
Latency profile: fast, balanced, quality |
balanced |
Examples:
# Generate commit message from staged changes
git add .
smooth commit generate
# Generate and commit immediately
smooth commit generate --commit
# Specify an issue number
smooth commit generate --issue 123
# Use fast generation (lower quality, faster)
smooth commit generate --latency-profile fast
Output Format:
feat: add user authentication with Auth0
- Implement Auth0 device flow authentication
- Add token storage and refresh logic
- Create auth command group with login/logout
- Add secure token file permissions (0600)
smooth pr
Generate pull request titles and summaries from GitHub PR data.
smooth pr generate
Generate PR title and/or summary from GitHub PR data.
Usage:
smooth pr generate [OPTIONS]
Options:
| Option | Description | Default |
|---|---|---|
--owner TEXT |
GitHub owner/organization | Auto-detected from git remote |
--repo TEXT |
GitHub repository name | Auto-detected from git remote |
--pr-number INTEGER |
Pull request number | Auto-detected from branch name |
--title |
Generate only the title | Both title and summary |
--summary |
Generate only the summary | Both title and summary |
--push |
Push generated content to GitHub | false |
--output TEXT |
Output format: text or json |
From config or text |
--verbose, -v |
Show detailed progress and context resolution | false |
--skip-judging |
Skip quality judging for faster generation | false |
Examples:
# Auto-detect everything (on branch "pr-42" in a git repo)
smooth pr generate
# Specify PR number explicitly
smooth pr generate --pr-number 42
# Generate and push to GitHub
smooth pr generate --pr-number 42 --push
# Generate only the title
smooth pr generate --pr-number 42 --title
# Verbose mode (shows where values come from)
smooth pr generate --pr-number 42 --verbose
# Fast mode (skip quality judging)
smooth pr generate --pr-number 42 --skip-judging
# JSON output
smooth pr generate --pr-number 42 --output json
Smart Detection:
The CLI automatically detects:
- Owner/Repo: From git remote URL (e.g.,
git@github.com:owner/repo.git) - PR Number: From branch names like
pr-42,42-feature,feature-pr-42
Output Format (Text):
feat: implement smart defaults and configuration system
# PR Summary
Generated by: *Smoothdev.io*
## Overview
This PR introduces a four-tier configuration precedence system...
## Changes
### Added
- Four-tier configuration precedence
- Auto-detection of owner/repo from git remotes
### Modified
- Updated all commands to support smart defaults
## Testing
- Added 53 new tests
- All existing tests passing
Output Format (JSON):
{
"title": "feat: implement smart defaults and configuration system",
"summary": "# PR Summary\n\nGenerated by: *Smoothdev.io*\n\n..."
}
smooth pr create
Create a new pull request on GitHub (coming soon).
smooth release
Generate release notes from git history between two refs.
smooth release generate
Generate structured release notes from commits and PRs.
Usage:
smooth release generate [OPTIONS]
Options:
| Option | Description | Default |
|---|---|---|
--owner TEXT |
GitHub owner/organization | Auto-detected from git remote |
--repo TEXT |
GitHub repository name | Auto-detected from git remote |
--from-tag TEXT |
Starting tag/ref | Auto-detected (previous tag) |
--to-tag TEXT |
Ending tag/ref | Auto-detected (latest tag or HEAD) |
--output TEXT |
Output format: text or json |
From config or text |
--verbose, -v |
Show detailed progress | false |
--push |
Create/update GitHub release | false |
--tag TEXT |
Release tag (required with --push) |
None |
--name TEXT |
Release name override | Generated from tag |
--draft |
Create as draft release | false |
--prerelease |
Mark as prerelease | false |
--skip-judging |
Skip quality judging for faster generation | false |
Examples:
# Auto-detect latest two tags
smooth release generate
# Specify tags explicitly
smooth release generate --from-tag v1.0.0 --to-tag v1.1.0
# Generate and push to GitHub Releases
smooth release generate --from-tag v1.0.0 --to-tag v1.1.0 --push --tag v1.1.0
# Create draft release
smooth release generate --push --tag v1.1.0 --draft
# Verbose mode
smooth release generate --verbose
# Fast mode for large releases
smooth release generate --skip-judging
Output Format:
# Release v1.1.0
## New Features
- **Smart Defaults**: Four-tier configuration precedence system
- **Auto-Detection**: Automatic owner/repo detection from git remotes
## Bug Fixes
- Fixed issue with large diff handling
- Resolved GitHub API rate limiting edge cases
## Documentation
- Added comprehensive configuration guide
- Updated README with smart defaults examples
## Statistics
- **Commits**: 47
- **Contributors**: 3
- **Files Changed**: 28
smooth config
Manage user and repository configuration for smart defaults.
smooth config show
Display current configuration settings.
Usage:
smooth config show [OPTIONS]
Options:
| Option | Description | Default |
|---|---|---|
--scope TEXT |
Scope: user, repo, or all |
all |
--format TEXT |
Output format: text or json |
text |
Examples:
# Show all configurations
smooth config show
# Show only user config
smooth config show --scope user
# Show as JSON
smooth config show --format json
smooth config get
Get a specific configuration value.
Usage:
smooth config get <key> [OPTIONS]
Options:
| Option | Description | Default |
|---|---|---|
--scope TEXT |
Scope: user or repo |
user |
Examples:
# Get user's default owner
smooth config get defaults.owner
# Get repo's output format
smooth config get defaults.output --scope repo
smooth config set
Set a configuration value.
Usage:
smooth config set <key> <value> [OPTIONS]
Options:
| Option | Description | Default |
|---|---|---|
--scope TEXT |
Scope: user or repo |
user |
Examples:
# Set default owner
smooth config set defaults.owner my-org
# Set repo-level output format
smooth config set defaults.output json --scope repo
# Set GitHub token
smooth config set github_token ghp_your_token_here
smooth config init
Initialize configuration file with defaults.
Usage:
smooth config init [OPTIONS]
Options:
| Option | Description | Default |
|---|---|---|
--scope TEXT |
Scope: user or repo |
user |
--owner TEXT |
Default GitHub owner | None |
--repo TEXT |
Default repository name | None |
--output TEXT |
Default output format | text |
Examples:
# Initialize user config
smooth config init --owner my-org --output text
# Initialize repository config
smooth config init --scope repo --owner my-org --repo my-repo
smooth config path
Show the path to the configuration file.
Usage:
smooth config path [OPTIONS]
Options:
| Option | Description | Default |
|---|---|---|
--scope TEXT |
Scope: user or repo |
user |
Examples:
# Show user config path
smooth config path
# Show repo config path
smooth config path --scope repo
smooth auth
Authentication and API key management.
smooth auth login
Authenticate with Auth0 device flow.
Usage:
smooth auth login
This opens your browser and prompts you to authorize the application. Your token is stored securely at ~/.smoothdevio/token.json.
smooth auth logout
Remove stored authentication credentials.
Usage:
smooth auth logout
smooth auth apikey-set
Store an API key for authentication (alternative to Auth0).
Usage:
smooth auth apikey-set <api-key>
Example:
smooth auth apikey-set sk_live_abc123_xyz789
smooth auth apikey-show
Show the currently stored API key (masked).
Usage:
smooth auth apikey-show
Output:
Stored API key: sk_live_abc123_********
smooth auth apikey-clear
Remove the stored API key.
Usage:
smooth auth apikey-clear
smooth auth mode-show
Show the effective authentication mode.
Usage:
smooth auth mode-show
Output: auto, jwt, or api-key
smooth auth mode-set
Set the authentication mode preference.
Usage:
smooth auth mode-set <mode>
Modes:
auto- Automatically choose (API key if present, otherwise JWT)jwt- Force JWT (Auth0) authenticationapi-key- Force API key authentication
Example:
smooth auth mode-set jwt
smooth docs
Documentation utilities (coming soon).
smooth docs analyze
Analyze repository for missing or outdated documentation.
smooth docs generate
Generate documentation for a repository or directory.
smooth docs feedback
Submit feedback on generated documentation.
Exit Codes
| Code | Meaning |
|---|---|
0 |
Success |
1 |
General error |
2 |
Authentication error |
3 |
Configuration error |
4 |
Git error |
5 |
GitHub API error |
Environment Variables
| Variable | Description |
|---|---|
GITHUB_TOKEN |
GitHub personal access token |
GH_TOKEN |
Alternative GitHub token variable |
SMOOTHDEV_API_KEY |
SmoothDev API key (alternative to Auth0) |
Configuration Files
| File | Description |
|---|---|
~/.smoothdevio/config.json |
User configuration (personal defaults) |
~/.smoothdevio/token.json |
Auth0 JWT token (secure, 0600 permissions) |
.smoothdev.json |
Repository configuration (team settings) |
See Also
- Installation Guide - Setup and installation
- Configuration Guide - Smart defaults and config system
- Commit Messages - Commit message generation
- Pull Requests - PR generation
- Release Notes - Release notes generation