SmoothDev CLI tool for PR generation, commit message generation, and documentation management
Project description
SmoothDev CLI
🤖 AI-powered development tools for commit messages, pull requests, release notes, and documentation generation.
Overview
SmoothDev CLI provides intelligent assistance for your development workflow:
- 📝 Smart Commit Messages - Generate conventional commit messages from staged changes
- 📋 Automated PR Documentation - Create professional PR titles and summaries
- 📦 Release Notes Generation - Generate comprehensive release notes from git history
- 📚 Documentation Generation - AI-powered repository documentation creation
- 🔐 Flexible Authentication - Auth0 JWT and API key authentication
- ⚙️ Smart Configuration - Auto-detection reduces CLI flags by 80%
- 🤖 GitHub Actions Integration - Automated workflows for PR and release documentation
Quick Start
Installation
pip install smooth-cli
Authentication
# Interactive login (recommended for personal use)
smooth auth login
# API key authentication (ideal for CI/CD)
smooth auth apikey-set your_api_key_here
First Use
# Generate a commit message
git add .
smooth commit generate --commit
# Generate PR documentation
smooth pr generate --pr-number 42
# Generate release notes
smooth release generate
Features
Commit Messages
Generate conventional commit messages that follow best practices:
# Generate from staged changes
smooth commit generate
# Generate and commit immediately
smooth commit generate --commit
# Associate with issue number
smooth commit generate --issue ENG-123
Features:
- Conventional Commits specification compliance
- Automatic issue number detection from branch names (e.g.,
feature/ENG-123) - Multiple latency profiles (fast/balanced/quality)
- Issue key automatically appended to commit footer
Pull Request Documentation
Create professional PR titles and summaries:
# Auto-detect from git context
smooth pr generate
# Specify PR number
smooth pr generate --pr-number 42
# Update PR on GitHub
smooth pr generate --pr-number 42 --push
Features:
- Smart auto-detection of owner/repo/PR number
- Structured summaries with overview, changes, testing sections
- Breaking change detection and migration guidance
- JSON output for automation
Release Notes
Generate comprehensive release notes between tags:
# Auto-detect latest tags
smooth release generate
# Specify tag range
smooth release generate --from-tag v1.0.0 --to-tag v1.1.0
# Create GitHub Release
smooth release generate --push --tag v1.1.0
# Create draft GitHub Release
smooth release generate --push --tag v1.1.0 --draft
Features:
- Semantic versioning support
- Categorized changes (features, fixes, documentation, etc.)
- Breaking change detection with migration steps
- Contributor statistics and acknowledgments
- Draft release support for review before publishing
Documentation Generation
AI-powered repository documentation:
# Check documentation status
smooth docs status
# Generate LITE documentation (quick overview)
smooth docs generate
# Generate FULL documentation (comprehensive)
smooth docs generate --full --write
# Validate existing documentation
smooth docs validate
Features:
- LITE and FULL generation modes
- Documentation validation and quality checks
- PR-focused documentation generation
- Integration with CI/CD workflows
Authentication
Auth0 Device Flow (Interactive)
For personal development and interactive use:
smooth auth login
This opens a browser for secure authentication and stores a JWT token.
API Key Authentication (CI/CD)
For automated workflows and CI/CD:
# Set API key
smooth auth apikey-set your_api_key_here
# Show current key
smooth auth apikey-show
# Switch to API key mode
smooth auth mode-set api-key
Authentication Modes
# Show current mode
smooth auth mode-show
# Available modes
smooth auth mode-set jwt # Auth0 (interactive)
smooth auth mode-set api-key # API key (CI/CD)
smooth auth mode-set auto # Auto-detect
Configuration
The CLI uses a four-tier configuration system for smart defaults:
- CLI Flags - Explicit command-line arguments
- Git Context - Auto-detected from your repository
- Repository Config - Team settings in
.smoothdev.json - User Config - Personal defaults in
~/.smoothdevio/config.json
Quick Setup
# Initialize user config
smooth config init --owner your-username --output text
# Show current configuration
smooth config show
# Set specific values
smooth config set defaults.output json
GitHub Token
For commands that interact with GitHub:
# Set in config
smooth config set github_token ghp_your_token_here
# Or use environment variable
export GITHUB_TOKEN=ghp_your_token_here
GitHub Actions Integration
Automate your workflow with our GitHub Actions:
PR Summary Action
Generate PR titles and summaries automatically:
- uses: smoothdev-io/pr-summary-action@v1
with:
api_key: ${{ secrets.SMOOTHDEV_API_KEY }}
push_to_pr: true
Repository: smoothdev-io/pr-summary-action
Release Notes Action
Create comprehensive release notes on tag push:
- uses: smoothdev-io/release-notes-action@v1
with:
api_key: ${{ secrets.SMOOTHDEV_API_KEY }}
push_to_github: true
release_tag: ${{ github.ref_name }}
Repository: smoothdev-io/release-notes-action
Command Reference
Core Commands
smooth commit- Generate commit messagessmooth pr- Generate PR documentationsmooth release- Generate release notessmooth docs- Generate repository documentationsmooth config- Manage configurationsmooth auth- Manage authentication
Global Options
--help- Show help information--version- Show version information--verbose- Enable verbose output--output <format>- Output format:textorjson
Getting Help
- Documentation: docs.smoothdev.io
- GitHub Issues: smoothdev-io/sd-smooth-cli
- Support: engineering@smoothdev.io
License
Apache License 2.0 - see LICENSE for details.
Built with ❤️ by the SmoothDev Team | smoothdev.io
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smooth_cli-0.4.0.tar.gz.
File metadata
- Download URL: smooth_cli-0.4.0.tar.gz
- Upload date:
- Size: 83.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28ff88ed6b151615d6ccf6c3194f05f4e4292082c1c36aafb631b4039299820f
|
|
| MD5 |
14e9a63f2343d8be391e42d446b97162
|
|
| BLAKE2b-256 |
776691c47ddeebc1a8226a354c3d0a22e8abc3e653853c6931ae3e7340e5b93c
|
Provenance
The following attestation bundles were made for smooth_cli-0.4.0.tar.gz:
Publisher:
pypi-publish.yml on smoothdev-io/sd-smooth-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
smooth_cli-0.4.0.tar.gz -
Subject digest:
28ff88ed6b151615d6ccf6c3194f05f4e4292082c1c36aafb631b4039299820f - Sigstore transparency entry: 975318381
- Sigstore integration time:
-
Permalink:
smoothdev-io/sd-smooth-cli@a224f659ff04957a3d8a125b71ac4bbc1120df75 -
Branch / Tag:
refs/tags/0.4.0 - Owner: https://github.com/smoothdev-io
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a224f659ff04957a3d8a125b71ac4bbc1120df75 -
Trigger Event:
release
-
Statement type:
File details
Details for the file smooth_cli-0.4.0-py3-none-any.whl.
File metadata
- Download URL: smooth_cli-0.4.0-py3-none-any.whl
- Upload date:
- Size: 110.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12d74aa17d288fad425cb62cc70884a0e9bfddd6f47f4582566191f5b4510c0e
|
|
| MD5 |
09d10706c52603d0afe7123449cee178
|
|
| BLAKE2b-256 |
6073fbe1b76ee78d1fa4d4cb771389659c2bf0eeddbe4c5286d20d468fb08ef4
|
Provenance
The following attestation bundles were made for smooth_cli-0.4.0-py3-none-any.whl:
Publisher:
pypi-publish.yml on smoothdev-io/sd-smooth-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
smooth_cli-0.4.0-py3-none-any.whl -
Subject digest:
12d74aa17d288fad425cb62cc70884a0e9bfddd6f47f4582566191f5b4510c0e - Sigstore transparency entry: 975318386
- Sigstore integration time:
-
Permalink:
smoothdev-io/sd-smooth-cli@a224f659ff04957a3d8a125b71ac4bbc1120df75 -
Branch / Tag:
refs/tags/0.4.0 - Owner: https://github.com/smoothdev-io
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@a224f659ff04957a3d8a125b71ac4bbc1120df75 -
Trigger Event:
release
-
Statement type: