Skip to content

MakerCorn/git-wiki-builder

Repository files navigation

Git Wiki Builder

AI-powered GitHub Wiki generator that automatically creates comprehensive documentation for your projects.

PyPI version License: MIT Python 3.8+

🌟 Overview

Git Wiki Builder transforms your project's README, documentation files, and code structure into a comprehensive, well-organized GitHub Wiki using AI. It analyzes your project intelligently and generates professional documentation that follows industry best practices.

✨ Key Benefits

  • πŸ€– AI-Powered: Uses GitHub's hosted AI models (free for public repos) to generate high-quality content
  • πŸš€ Zero Configuration: Works out-of-the-box with sensible defaults
  • ⚑ Automated: Integrates seamlessly with GitHub Actions for continuous documentation
  • πŸ“š Comprehensive: Creates complete wiki structure with multiple sections
  • 🎯 Intelligent: Analyzes your project to detect APIs, Docker, tests, and more
  • βœ… Quality Assured: Built-in markdown validation and auto-fixing
  • πŸ”§ Customizable: Flexible prompts and configuration options
  • πŸ’° Cost-Effective: Uses free GitHub Models for public repositories

πŸ—οΈ What It Creates

Git Wiki Builder automatically generates a complete wiki structure:

  • 🏠 Home: Project overview and navigation
  • πŸš€ Getting Started: Installation, configuration, first steps
  • πŸ“– User Guide: Features, usage examples, tutorials
  • πŸ”Œ API Reference: Endpoint documentation (if APIs detected)
  • πŸ‘©β€πŸ’» Development: Contributing guidelines, setup, testing
  • 🚒 Deployment: Deployment guides and best practices
  • ❓ FAQ: Common questions and troubleshooting
  • πŸ“ Changelog: Release notes and migration guides

πŸš€ Quick Start

1. Install Git Wiki Builder

pip install git-wiki-builder

2. One-Command Setup

Run this in your repository root to set up everything automatically:

curl -sSL https://raw.githubusercontent.com/example/git-wiki-builder/main/setup-wiki.sh | bash

Or manually create the workflow file:

mkdir -p .github/workflows

Create .github/workflows/wiki.yml:

name: Generate Wiki Documentation

on:
  push:
    branches: [main, master]
    paths: ['README.md', 'docs/**', 'src/**', '*.md']
  workflow_dispatch:

permissions:
  contents: read
  pages: write
  id-token: write

jobs:
  generate-wiki:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - uses: actions/setup-python@v4
        with:
          python-version: '3.11'
      - run: pip install git-wiki-builder
      - run: git-wiki-builder
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          GITHUB_REPOSITORY: ${{ github.repository }}

3. Enable Wiki & Push

  1. Enable Wiki in your repository:

    • Go to Settings β†’ Features β†’ Wikis βœ“
  2. Commit and push:

    git add .github/workflows/wiki.yml
    git commit -m "Add automated wiki generation"
    git push
  3. Your wiki is ready! πŸŽ‰

    • Visit https://github.com/yourusername/yourrepo/wiki
    • Wiki updates automatically when you modify README.md, docs/, or source code

🎯 Why Git Wiki Builder?

Traditional Documentation Problems

  • ❌ Manual wiki creation is time-consuming
  • ❌ Documentation gets outdated quickly
  • ❌ Inconsistent structure across projects
  • ❌ Requires dedicated technical writers
  • ❌ Hard to maintain comprehensive coverage

Git Wiki Builder Solutions

  • βœ… Automated Generation: AI creates content from your existing files
  • βœ… Always Up-to-Date: Regenerates on every code change
  • βœ… Consistent Structure: Professional, standardized wiki layout
  • βœ… Developer-Friendly: Works with your existing workflow
  • βœ… Comprehensive Coverage: Analyzes entire project structure

Perfect For

  • πŸ”§ Open Source Projects: Professional documentation attracts contributors
  • 🏒 Enterprise Teams: Consistent documentation across all repositories
  • πŸ“š API Projects: Automatic API documentation generation
  • πŸš€ Startups: Professional appearance without dedicated resources
  • πŸ‘¨β€πŸŽ“ Learning Projects: Well-documented code for portfolios

πŸ› οΈ Advanced Usage

Local Testing

# Test locally before publishing
git-wiki-builder --dry-run --output-dir ./wiki-preview

# Use verbose logging for debugging
git-wiki-builder --verbose --dry-run

Custom Configuration

Create .git-wiki-builder.yml:

# AI Configuration
ai:
  provider: "github"      # Free for public repos
  model: "gpt-4o-mini"    # Fast and efficient

# Custom Wiki Structure
wiki_structure:
  "Home": ["overview", "quick_start"]
  "Documentation": ["user_guide", "api_docs"]
  "Development": ["contributing", "setup"]

# Validation
validation:
  skip: false  # Enable markdown validation

Alternative AI Providers

# Use OpenAI (requires API key)
ai:
  provider: "openai"
  model: "gpt-4"

# Use Anthropic Claude (requires API key)  
ai:
  provider: "anthropic"
  model: "claude-3-sonnet-20240229"

Custom Prompts

Create custom-prompts.yml:

home: |
  Create a welcoming home page for {project_name}.
  Highlight: {key_features}
  Make it beginner-friendly and engaging.

api_reference: |
  Document the API for {project_name}.
  Include authentication, endpoints, and examples.
  Code structure: {code_structure}

Use with: git-wiki-builder --prompt-file custom-prompts.yml

πŸ“Š Supported Project Types

Git Wiki Builder works with any project but provides enhanced support for:

Technology Auto-Detected Features
Python Dependencies, virtual envs, testing frameworks
Node.js Package.json, npm scripts, testing
Docker Container deployment, compose files
APIs OpenAPI specs, endpoint documentation
CI/CD GitHub Actions, deployment pipelines
Databases Schema documentation, migrations

πŸ”§ Command Line Options

git-wiki-builder [OPTIONS]

Options:
  -r, --repo-path DIRECTORY    Repository path (default: current directory)
  -c, --config-file FILE       Custom configuration file
  -p, --prompt-file FILE       Custom prompt templates
  -o, --output-dir DIRECTORY   Local output directory
  --ai-provider [github|openai|anthropic]  AI provider (default: github)
  --ai-model TEXT              Specific model to use
  --dry-run                    Generate locally without publishing
  --verbose                    Enable detailed logging
  --skip-validation            Skip markdown validation
  --help                       Show help message

🌍 Environment Variables

Variable Description Required
GITHUB_TOKEN GitHub token (auto-provided in Actions) Yes
GITHUB_REPOSITORY Repository name (auto-provided in Actions) Yes
OPENAI_API_KEY OpenAI API key Only for OpenAI provider
ANTHROPIC_API_KEY Anthropic API key Only for Anthropic provider

πŸ” How It Works

  1. πŸ“– Analysis: Scans README, docs/, and source code
  2. 🧠 AI Generation: Uses AI to create comprehensive content
  3. βœ… Validation: Validates and fixes markdown formatting
  4. πŸ“€ Publishing: Commits to GitHub Wiki repository
  5. πŸ”„ Automation: Repeats on every relevant change

🀝 Contributing

We welcome contributions! See our Contributing Guide for details.

Development Setup

git clone https://github.com/example/git-wiki-builder.git
cd git-wiki-builder
pip install -e ".[dev]"
pytest

πŸ“„ License

MIT License - see LICENSE file for details.

πŸ†˜ Support & Resources

🌟 Examples

See Git Wiki Builder in action:


⭐ Star this repository if Git Wiki Builder helps your project!

Made with ❀️ for the developer community

About

AI Generated Wiki Builder Tool

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •