Skip to main content

Automate software documentation using AI (Gemini & K2 Think).

Project description

doced

Automate software documentation using AI reasoning.

doced is a CLI tool that scans your codebase, interviews you with intelligent questions, and generates comprehensive documentation including README, tutorials, architecture diagrams, and PDFs.

Features

  • 🔍 Smart Codebase Scanning - Respects .gitignore and intelligently filters files
  • 🤖 Multi-AI Approach - Uses Gemini for architecture mapping and K2 Think for deep reasoning
  • 💬 Interactive Interview - AI generates targeted questions based on your code
  • 📚 Comprehensive Docs - Generates README, tutorials, architecture docs, and PDFs
  • 🎨 Customizable Styles - Choose between Corporate/Creative tones and Brief/Detailed levels
  • 📊 Mermaid Diagrams - Automatically generates architecture and flow diagrams

Installation

pip install doced

Development Setup

# Clone the repo
git clone https://github.com/qamarmuneerakbar/doced.git
cd doced

# Install dependencies
pip install -r requirements.txt

Usage

1. Initialize (First Time Setup)

doced init

You'll be prompted for:

  • Gemini API Key
  • K2 Think API Key
  • Documentation Style (Corporate/Creative)
  • Detail Level (Brief/Detailed)

2. Generate Documentation

# In your project directory
doced create

The tool will:

  1. Scan your codebase
  2. Analyze architecture with Gemini
  3. Generate intelligent questions with K2 Think
  4. Interview you interactively
  5. Create comprehensive documentation in docs/
    • README.md
    • TUTORIAL.md
    • ARCHITECTURE.md
    • Documentation.pdf

API Configuration

Gemini API

K2 Think API

  • Model: MBZUAI-IFM/K2-Think
  • Endpoint: https://api.k2think.ai/v2/chat/completions
  • Rate Limit: 20 RPM
  • Get your key: Contact K2 Think team

Project Structure

doced/
├── pyproject.toml        # Dependencies and metadata
└── src/
    └── doced/
        ├── main.py       # CLI and orchestration
        └── scanner.py    # Code scanning logic

Configuration

Your config is stored at ~/.doced/config.json. You can re-run doced init to update it.

Troubleshooting

Import Errors

Make sure you're in the virtual environment:

source .venv/bin/activate

API Errors

  • Verify your API keys are correct
  • Check rate limits (K2 Think: 20 RPM)
  • Ensure you're using the correct model names

License

MIT

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

doced-1.0.1.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

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

doced-1.0.1-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file doced-1.0.1.tar.gz.

File metadata

  • Download URL: doced-1.0.1.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for doced-1.0.1.tar.gz
Algorithm Hash digest
SHA256 4d65d3083f359b0c7f40fbd9bcff34ccf1f2aea569b96406c11ceec4c8fe244f
MD5 a56b34fabd19fad8034fcc31766a4062
BLAKE2b-256 f9904b5e670d8ee0716be6ab6a168ea1412f9b89c9430047adbaec6866a65692

See more details on using hashes here.

File details

Details for the file doced-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: doced-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for doced-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 836fb33e963153dcd1be093c8488ee3318456005381c529e54e066fb4b81e947
MD5 8ff6fa770f2e4fc1a587bf2c460a345b
BLAKE2b-256 4f30b0ecf6e2ab4447e3661eba9c8a4cf8dc3cc72e4679807b05f7c880471e4c

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