Skip to main content

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.

PyPI Version Python License

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:

  1. CLI Flags - Explicit command-line arguments
  2. Git Context - Auto-detected from your repository
  3. Repository Config - Team settings in .smoothdev.json
  4. 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 messages
  • smooth pr - Generate PR documentation
  • smooth release - Generate release notes
  • smooth docs - Generate repository documentation
  • smooth config - Manage configuration
  • smooth auth - Manage authentication

Global Options

  • --help - Show help information
  • --version - Show version information
  • --verbose - Enable verbose output
  • --output <format> - Output format: text or json

Getting Help

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

smooth_cli-0.4.0.tar.gz (83.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smooth_cli-0.4.0-py3-none-any.whl (110.4 kB view details)

Uploaded Python 3

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

Hashes for smooth_cli-0.4.0.tar.gz
Algorithm Hash digest
SHA256 28ff88ed6b151615d6ccf6c3194f05f4e4292082c1c36aafb631b4039299820f
MD5 14e9a63f2343d8be391e42d446b97162
BLAKE2b-256 776691c47ddeebc1a8226a354c3d0a22e8abc3e653853c6931ae3e7340e5b93c

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for smooth_cli-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 12d74aa17d288fad425cb62cc70884a0e9bfddd6f47f4582566191f5b4510c0e
MD5 09d10706c52603d0afe7123449cee178
BLAKE2b-256 6073fbe1b76ee78d1fa4d4cb771389659c2bf0eeddbe4c5286d20d468fb08ef4

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page