Skip to main content

Intelligent codebase analysis and documentation generation tool

Project description

Salt Docs CLI

AI-powered tool that analyzes codebases and generates beginner-friendly documentation.

How it works

flowchart LR
    A[Codebase] --> B[Crawl Files]
    B --> C[Analyze Structure]
    C --> D[Identify Abstractions]
    D --> E[Generate Tutorials]
    E --> F[Markdown Docs]

Installation

Option 1: Install from PyPI (when published)

pip install salt-docs

Option 2: Install from source

git clone https://github.com/your-org/salt-docs-cli.git
cd salt-docs-cli
pip install -e .

Quick Start

1. Initial Setup

Run the setup wizard to configure your API keys and preferences:

salt-docs init

This will:

  • Prompt for your Gemini API key
  • Optionally ask for GitHub token (for private repos)
  • Set default output location (~/Documents/Salt Docs)
  • Configure other preferences

2. Generate Documentation

Analyze GitHub repository

salt-docs --repo https://github.com/username/repo

Analyze local directory

salt-docs --dir /path/to/your/codebase

With custom options

salt-docs --repo https://github.com/username/repo --output /custom/path --language spanish --max-abstractions 15

Configuration

Salt Docs stores configuration in ~/Documents/Salt Docs/.salt/config.json and uses your system's keyring for secure API key storage.

Configuration Options

  • output_dir: Default output directory
  • language: Default language for generated docs
  • max_abstractions: Default number of abstractions to identify
  • max_file_size: Maximum file size in bytes
  • use_cache: Enable/disable LLM response caching
  • include_patterns: Default file patterns to include
  • exclude_patterns: Default file patterns to exclude

Managing Configuration

View Current Configuration

salt-docs config show

Update API Keys

# Update Gemini API key (interactive)
salt-docs config update-gemini-key

# Update Gemini API key directly
salt-docs config update-gemini-key "your-api-key-here"

# Update GitHub token (interactive)
salt-docs config update-github-token

# Update GitHub token directly
salt-docs config update-github-token "your-token-here"

Update Other Settings

# Change default language
salt-docs config set language spanish

# Change max abstractions
salt-docs config set max_abstractions 15

# Disable caching
salt-docs config set use_cache false

# Update output directory
salt-docs config set output_dir /custom/path

CLI Options

Required

  • --repo or --dir - GitHub repo URL or local directory path

Optional

  • -n, --name - Project name (derived from repo/directory if omitted)
  • -t, --token - GitHub personal access token
  • -o, --output - Output directory (overrides config default)
  • -i, --include - File patterns to include (e.g., ".py", ".js")
  • -e, --exclude - File patterns to exclude (e.g., "tests/", "docs/")
  • -s, --max-size - Maximum file size in bytes (default: 100KB)
  • --language - Language for generated docs (default: "english")
  • --no-cache - Disable LLM response caching
  • --max-abstractions - Maximum number of abstractions to identify (default: 10)

Migration from Old Version

If you were using the old python main.py approach:

  1. Install the new CLI: pip install -e .
  2. Run setup: salt-docs init
  3. Use the new commands: salt-docs --repo <url>

The old approach is no longer supported - please use the new CLI commands.

Development

Setup for Development

git clone https://github.com/your-org/salt-docs-cli.git
cd salt-docs-cli
pip install -e .
salt-docs init

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

salt_docs-0.1.2.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

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

salt_docs-0.1.2-py3-none-any.whl (39.4 kB view details)

Uploaded Python 3

File details

Details for the file salt_docs-0.1.2.tar.gz.

File metadata

  • Download URL: salt_docs-0.1.2.tar.gz
  • Upload date:
  • Size: 36.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for salt_docs-0.1.2.tar.gz
Algorithm Hash digest
SHA256 12924cf4a422a687e8e67687a12c57e8f9e87629d7677b1f30beaa3f09e7b696
MD5 e9d4e104512259f5782dbcc2854b99b7
BLAKE2b-256 8a06528458a7cc773d00271d93358bec0800bc72400683735b077aa7effa799f

See more details on using hashes here.

File details

Details for the file salt_docs-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: salt_docs-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 39.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for salt_docs-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ca063f63dfbe71e4a85b8b4e4a4ab3a8313397d927db1957730ced675b8be77e
MD5 f8e9c30f8e9fdfb147f02b540f8d25f0
BLAKE2b-256 51509b902b423e3c4dba1a37927b884f02dd6ceb915ca86f4540f483f37ba12d

See more details on using hashes here.

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