Skip to content

Release v2.0.1

Choose a tag to compare

@github-actions github-actions released this 31 Dec 10:47
· 81 commits to main since this release

Release Notes v2.0.1

Released: 2025-12-31

Git-Iris v2.0.1 represents a complete architectural overhaul, transforming from a prompt-based tool into a powerful agent-first platform. At its core is Iris, an LLM-driven agent built on the Rig framework that dynamically explores your codebase through tool calls rather than dumping context upfront. This release also introduces Iris Studio, a stunning terminal interface with the new SilkCircuit Neon design language.

🌟 Highlights

🤖 Agent-First Architecture

Complete rewrite of the AI engine around IrisAgent in src/agents/. Iris now uses multi-turn tool execution with up to 50 rounds of tool calls per task, gathering precisely the context she needs. Capabilities are defined in TOML files (src/agents/capabilities/*.toml) making prompts easily customizable. The new IrisAgentService provides a unified interface for all operations.

🌌 Iris Studio TUI

New terminal user interface in src/studio/ built with Ratatui. Six integrated modes—Explore, Commit, Review, PR, Changelog, and Release Notes—with a pure reducer pattern for predictable state management. Press / in any mode to open chat and interact with Iris directly.

🧠 Iris Companion

Ambient session awareness in src/companion/ that remembers context across sessions. Branch memory persists your last focus, notes, and commit counts. Live file watching via the notify crate detects repository changes in real-time.

🎨 SilkCircuit Theme System

New token-based theme system in src/theme/ with 13 built-in themes including the signature SilkCircuit variants (Neon, Glow, Vibrant, Soft, Dawn), plus Catppuccin, Dracula, Nord, Tokyo Night, and more. Themes are defined in TOML with color palettes, semantic tokens, composed styles, and gradient definitions.

⚡ Parallel Analysis for Large Changesets

New parallel_analyze tool spawns concurrent subagents with independent context windows, preventing overflow when analyzing large PRs. Each subagent operates in isolation, and results are aggregated for coherent output.

📦 One-Liner Installation

New installation methods: curl -fsSL https://hyperb1iss.github.io/git-iris/install.sh | sh for quick install, Homebrew via brew tap hyperb1iss/tap && brew install git-iris, and AUR package for Arch Linux.

🤖 Agent Framework

  • IrisAgent (src/agents/iris.rs): Core agent with multi-turn execution, JSON schema enforcement, and streaming support
  • IrisAgentService (src/agents/setup.rs): High-level service handling configuration, agent lifecycle, and task context formatting
  • DynAgent provider abstraction (src/agents/provider.rs): Runtime dispatch for OpenAI, Anthropic, and Gemini with explicit provider builders (rig-core 0.27+ compatibility)
  • Capability TOML files: commit.toml, review.toml, pr.toml, changelog.toml, release_notes.toml, chat.toml, semantic_blame.toml
  • Tool suite: git_diff, git_log, git_status, git_changed_files, file_read, code_search, project_docs, workspace, parallel_analyze, content update tools for chat mode

🌌 Studio Features

  • Event-driven state management: StudioEvent enum captures all transitions, pure reduce() function with side effects returned as data
  • Mode-specific state: CommitState, ReviewState, PrState, ChangelogState, ReleaseNotesState, ExploreState with dedicated file trees, diff views, and content editors
  • Components: CodeViewState with syntax highlighting, DiffViewState with unified diff rendering, FileTreeState with git status indicators, MessageEditorState for commit editing
  • Modals: Help, Chat, Settings, PresetSelector, EmojiSelector, RefSelector, ConfirmCommit, ConfirmAmend
  • Keyboard navigation: Vi-style bindings (j/k, g/G, Ctrl+d/u), Tab for panel cycling, / for chat, ? for help
  • Amend mode: Press Shift+A to amend the previous commit with context-aware message regeneration
  • Commit count picker: Press # to quickly set refs like HEAD~N

⚙️ CLI Changes

  • Default command launches Studio: Running git-iris without arguments opens Studio with auto-detected mode
  • New studio subcommand: git-iris studio --mode <explore|commit|review|pr|changelog>
  • New pr subcommand: Generate pull request descriptions with --from, --to, --copy, --raw flags
  • New completions subcommand: Generate shell completions for bash, zsh, fish, elvish, powershell
  • New themes subcommand: List available themes
  • --model flag: Per-operation model override without changing config
  • --debug flag: Enable gorgeous color-coded output showing agent execution details
  • --theme flag: Override theme for the session
  • --raw flag: Output raw markdown without console formatting (for review, pr, changelog, release-notes)
  • --amend flag: Amend the previous commit (git-iris gen --amend --auto-commit)
  • --subagent-timeout config: Configure timeout for parallel subagent tasks (default: 120s)
  • gen alias: git-iris commit now works as an alias for git-iris gen
  • Explicit --gitmoji/--no-gitmoji flags: Clearer intent than boolean flag

🔧 Infrastructure

  • GitHub Action (action.yml): Reusable action for CI/CD with release-notes and changelog commands, cross-platform binary downloads, optional build-from-source mode
  • Release workflow (.github/workflows/release.yml): Replaces Python script with declarative GitHub Actions, supports semantic version bumps and dry-run mode
  • Homebrew formula (homebrew/git-iris.rb): Pre-built binaries for macOS ARM64 and Linux, automatic formula updates on release
  • AUR package (aur/PKGBUILD): Binary downloads for x86_64 and aarch64, update-aur.sh for version bumps
  • Shell installer (install.sh): One-liner installation with platform detection, SilkCircuit-styled output

📚 Documentation

  • VitePress site: Comprehensive documentation at hyperb1iss.github.io/git-iris with SilkCircuit-themed styling
  • Architecture docs: Agent framework, capabilities, tools, context management, output validation
  • Studio guides: Mode documentation, navigation, chat integration, component internals
  • Theme documentation: Creating custom themes, style tokens, gradient definitions, gallery of built-ins
  • UX journey tests: Documented persona-based test scenarios for Ghostty terminal automation

🐛 Fixes

  • Fix JSON extraction with sanitization for control characters in LLM responses
  • Fix TUI startup blocking by moving git status and companion initialization to async tasks
  • Fix tab handling in code/diff views with expand_tabs utility
  • Fix theme tests to handle parallel execution safely
  • Fix RPM and deb asset paths for cross-compiled targets
  • Fix cargo-generate-rpm asset path to include target directory
  • Fix GITIRIS_GITMOJI env var handling in Docker entrypoint
  • Fix file exclusion pattern precision with anchored regex patterns
  • Abort background tasks on Studio exit to prevent hanging

💥 Breaking Changes

  • MCP server removed: The serve subcommand and MCP integration have been removed. The agent-first architecture provides equivalent capabilities through the tool system.
  • File analyzers removed: Language-specific file analyzers (src/file_analyzers/) have been replaced by LLM-driven analysis through agent tools.
  • Token optimizer removed: Manual token counting removed in favor of model-native context management.
  • Config changes: gitmoji boolean replaced with explicit --gitmoji/--no-gitmoji flags; new subagent_timeout_secs field added.

📋 Upgrade Notes

  1. Update installation: Use curl -fsSL https://hyperb1iss.github.io/git-iris/install.sh | sh or brew upgrade git-iris
  2. Configure provider: Run git-iris config --provider <anthropic|openai|google> --api-key YOUR_KEY
  3. Try Studio: Run git-iris to launch the new TUI, or git-iris gen for CLI commit generation
  4. Update CI/CD: Replace manual release note scripts with the new GitHub Action
  5. Review scripts: Remove any --legacy flags or MCP server invocations from automation scripts