Skip to main content

CLI tool that generates optimized markdown docs and streamline Git workflows

Project description

CodeMap

PyPI Python Version Tests Lint CodeQL codecov Codacy Badge pre-commit Interrogate License

[!Caution] CodeMap is currently in active development. Use with caution and expect breaking changes.

Overview

CodeMap is an AI-powered developer toolkit designed to enhance your coding workflow. It offers features for code analysis, documentation generation, semantic search, and Git process streamlining—all accessible through an interactive CLI with multi-LLM support.

[!Important] For detailed information on all features and commands, please visit our documentation site: codemap.run

Features

  • 📄 Generate Documentation: Create optimized markdown documentation and visualize repository structures.
  • 📝 Smart Commits: Get AI-generated commit messages based on semantic analysis of your changes.
  • 🔃 AI-Powered PRs: Streamline pull request creation and management with intelligent suggestions.
  • 💬 AI Chat: Ask questions about your codebase using RAG and LLMs.
  • 🔍 Index & Search: Build a semantic vector index and search your repository for deep code understanding.
  • 🤖 LLM Support: Integrate with various LLM providers via PydanticAI.

Quick Start

[!Important] CodeMap currently only supports Unix-based platforms (macOS, Linux). Windows users should use WSL.

[!Tip] After installation, use codemap or the alias cm.

Installation

Ensure uv is installed:

curl -LsSf https://astral.sh/uv/install.sh | sh

Install CodeMap globally:

uv tool install codemap

Key Commands

  • Generate Documentation:
    cm gen path/to/source
    
  • Smart Commits:
    cm commit
    
  • AI-Powered PRs:
    cm pr
    
  • AI Chat:
    cm ask "Which module is responsible for managing auth tokens?"
    
  • Index & Search:
    cm index
    

Configuration

CodeMap can be configured using a .codemap.yml file in your project root. Generate a default config with:

cm conf

For a full list of configuration options and examples, refer to the Configuration Guide on our documentation site.

Environment Variables

Add your LLM API keys to .env or .env.local in your project root. See LLM Support for details.

Development Setup

Interested in contributing? Please read our Code of Conduct and Contributing Guidelines.

  1. Clone: git clone https://github.com/SarthakMishra/codemap.git && cd codemap
  2. Prerequisites: Install Task, uv, and Python 3.12+.
  3. Setup Env: uv venv && source .venv/bin/activate (or appropriate activation command for your shell)
  4. Install Deps: uv sync --dev
  5. Verify: task -l lists available tasks. task ci runs checks and tests.

Detailed contribution instructions are in the Contributing Guide.

Acknowledgments

CodeMap relies on these excellent open-source libraries and models:

Core Dependencies

  • PydanticAI - Unified interface for LLM providers
  • Pydantic - Data validation library for Python
  • Questionary - Interactive user prompts
  • Rich - Beautiful terminal formatting and output
  • Typer - Modern CLI framework for Python
  • Model2Vec - Text embeddings for semantic code analysis
  • Tree-sitter - Robust parsing system for code analysis
  • SQLModel - SQL database integration with Python
  • Qdrant - Vector search engine for semantic analysis
  • PyGit2 - Git repository manipulation
  • Scikit-learn - Machine learning utilities
  • PyGithub - GitHub API integration
  • Docker SDK - Docker container management
  • Watchdog - Filesystem event monitoring

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

codemap-0.3.1rc3.tar.gz (562.4 kB view details)

Uploaded Source

Built Distribution

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

codemap-0.3.1rc3-py3-none-any.whl (308.9 kB view details)

Uploaded Python 3

File details

Details for the file codemap-0.3.1rc3.tar.gz.

File metadata

  • Download URL: codemap-0.3.1rc3.tar.gz
  • Upload date:
  • Size: 562.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.8

File hashes

Hashes for codemap-0.3.1rc3.tar.gz
Algorithm Hash digest
SHA256 4cdcb4586c901eab346edd93c6b1e90bf25b75df738f0997fb5806b21a1bb16d
MD5 9f286dc5951e152a0105e64cce86f575
BLAKE2b-256 68dcffc06898f0db6f0c1a0851edde6e32684cf2e51555f7560d954261b9a983

See more details on using hashes here.

File details

Details for the file codemap-0.3.1rc3-py3-none-any.whl.

File metadata

  • Download URL: codemap-0.3.1rc3-py3-none-any.whl
  • Upload date:
  • Size: 308.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.8

File hashes

Hashes for codemap-0.3.1rc3-py3-none-any.whl
Algorithm Hash digest
SHA256 3e71df3d792589c7fcb40f091f7b6c5b3f2537e66fdb6841b3645903d7d24087
MD5 857d49e8004660fec64a54039fb2e2e1
BLAKE2b-256 18e5b486601e8fa36f9db9355c8189f25ab1398176e652ced57b452635622a70

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