Skip to content

Latest commit

 

History

History
149 lines (121 loc) · 7.21 KB

File metadata and controls

149 lines (121 loc) · 7.21 KB

Changelog

All notable changes to Zeitgeist will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.1.1 - 2026-01-26

Changed

  • Updated mcp.zig dependency to v0.2.1 with protocol version fix (2024-11-05) and memory leak fix

1.1.0 - 2026-01-26

Added

  • MCP Server Resources: Expose codebase information via MCP resources
    • zeitgeist://cwd - Returns the current working directory path
    • zeitgeist://tree - Returns a directory tree listing of the current directory
    • zeitgeist://file/{path} - Returns the content of a specific file
  • MCP Progress Notifications: Tool handlers now send progress updates during pack/scan operations
  • MCP Cancellation Support: Tools can be cancelled mid-operation via MCP cancellation tokens

Changed

  • Updated mcp.zig dependency to v0.2.0 with protocol version fix (2024-11-05)
  • Improved memory management in MCP resource handlers using arena allocators

Fixed

  • Fixed memory leaks in resources/list and resources/read MCP handlers
  • Fixed protocol version in mcp.zig from invalid "2025-11-25" to correct "2024-11-05"

1.0.0 - 2025-01-26

Added

  • AI Skill Output: Generate structured documentation for AI agents with --skill-output <dir>
    • Creates SKILL.md entry point with usage instructions
    • Generates references/summary.md with purpose and statistics
    • Generates references/project-structure.md with directory tree and line counts
    • Generates references/files.md with all file contents
    • Generates references/tech-stack.md with detected languages and frameworks
    • Supports 50+ programming languages for tech stack detection
  • .ignore File Support: Automatically respect .ignore files (ripgrep-style ignore patterns)
    • Enabled by default, disable with --no-dot-ignore flag
    • Follows the same format as .gitignore files
  • --no-file-summary Flag: Omit the "Top Files by Token Count" summary section from output
  • Shell Completions: Generate shell completion scripts with zeitgeist completions bash|zsh|fish
    • Dynamic git branch/tag completion for --branch and --tag options
    • Config file auto-detection for --config option
    • Remote repository URL suggestions (github.com/, gitlab.com/, etc.)
    • Glob pattern suggestions for --include/--exclude options
    • Token limit and byte size value suggestions
    • Support for zg alias in all shells
  • Man Page Generation: Auto-generate troff-formatted man pages via zeitgeist --generate-man
    • Full documentation of all commands and options
    • Examples, files, environment variables, and exit codes sections
    • Compatible with man(1) and standard man page installation
    • Build steps: zig build manpage (to file) and zig build manpage-stdout (to stdout)

Fixed

  • Fixed customIgnoreFile parsing in JSON configuration files

0.1.0 - 2025-01-25

Added

Core Features

  • Multiple Output Formats: XML, Markdown, JSON, and plain text output
  • Smart Filtering: Glob patterns for include/exclude with .gitignore support
  • Directory Tree: Visual tree structure in output header
  • Line Numbers: Optional line number annotations
  • Token Counting: Accurate token estimation for LLM context planning
  • Output Chunking: Split large outputs for LLM context limits (--max-tokens, --split)
  • Cross-Platform: Windows, Linux, and macOS support

Configuration

  • Config Files: Support for zeitgeist.json, zeitgeist.yaml, and zeitgeist.toml
  • JSON Schema: Full schema for editor autocompletion and validation
  • Global Config: User-wide configuration with zeitgeist init --global
  • Custom Ignore Files: Support for .zeitgeistignore for project-specific exclusions

Git Integration

  • Git Sorting: Sort files by git recency (oldest first for optimal LLM context)
  • Git Diffs: Include git diffs in output (--include-diffs)
  • Git Logs: Include git log in output (--include-logs)

File Processing

  • File Categorization: Categorize files as source/docs/test/config/other
  • Category Weights: Configurable weights for file category sorting
  • Priority Rules: Pattern-based priority boosts for fine-grained control
  • Custom Templates: Define output format with {path}, {content}, {tokens} placeholders
  • Multi-Encoding: Automatic detection of UTF-8, UTF-16 LE/BE, and Latin-1 files
  • Jupyter Notebooks: Convert .ipynb files to markdown automatically

Output Modes

  • Tree-Only Mode: Output directory structure without file contents (--tree-only)
  • Metadata-Only: Output tree and stats without file contents (--no-files)
  • Quiet Mode: Suppress all non-error output (--quiet)
  • Statistics Summary: Detailed stats with --stats flag
  • Top Files Summary: Show largest files by token count (--top-files)

Token Encoding

  • Multiple Encodings: Support for simple, cl100k_base, and o200k_base encodings
  • Token Counting Tree: Show tree with token counts per file/directory

Remote Repository Support

  • GitHub: Direct packing of GitHub repositories
  • GitLab: Direct packing of GitLab repositories
  • Bitbucket: Direct packing of Bitbucket repositories
  • Gitea: Direct packing of Gitea repositories
  • Codeberg: Direct packing of Codeberg repositories
  • Private Repos: Authentication token support for private repositories
  • Branch/Tag/Commit: Specify branch, tag, or commit SHA to pack

Security

  • Secret Scanning: Detect AWS keys, API tokens, private keys, and more
  • Security Reports: Write security findings to file (--security-report)
  • Block Secrets: Optionally block output if secrets detected (--block-secrets)

Integration

  • MCP Server: Model Context Protocol support (zeitgeist serve)
  • Clipboard Support: Copy output directly to clipboard (--copy)
  • Stdout Mode: Pipe output directly (zeitgeist --stdout | pbcopy)
  • Self-Update: Check for and install updates from GitHub (zeitgeist update)

CLI Options

  • Unignore Patterns: Override ignore rules for specific files (--unignore)
  • Follow Symlinks: Optionally follow symbolic links (--follow-symlinks)
  • Include Empty Directories: Include empty directories in tree
  • Max Size/Depth/Files: Limit processing scope
  • Compress Output: Remove comments and whitespace (--compress)
  • Remove Empty Lines: Clean up consecutive empty lines
  • Truncate Base64: Reduce tokens by truncating data URIs

Technical Details

  • Built with Zig 0.15.2 for maximum performance
  • Zero runtime dependencies (single static binary)
  • 247 unit tests, 30 integration tests
  • Full library API for programmatic use

Roadmap

All planned features have been implemented. See the CHANGELOG for the complete feature list.