Release v2.0.1
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 supportIrisAgentService(src/agents/setup.rs): High-level service handling configuration, agent lifecycle, and task context formattingDynAgentprovider 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:
StudioEventenum captures all transitions, purereduce()function with side effects returned as data - Mode-specific state:
CommitState,ReviewState,PrState,ChangelogState,ReleaseNotesState,ExploreStatewith dedicated file trees, diff views, and content editors - Components:
CodeViewStatewith syntax highlighting,DiffViewStatewith unified diff rendering,FileTreeStatewith git status indicators,MessageEditorStatefor 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+Ato amend the previous commit with context-aware message regeneration - Commit count picker: Press
#to quickly set refs likeHEAD~N
⚙️ CLI Changes
- Default command launches Studio: Running
git-iriswithout arguments opens Studio with auto-detected mode - New
studiosubcommand:git-iris studio --mode <explore|commit|review|pr|changelog> - New
prsubcommand: Generate pull request descriptions with--from,--to,--copy,--rawflags - New
completionssubcommand: Generate shell completions for bash, zsh, fish, elvish, powershell - New
themessubcommand: List available themes --modelflag: Per-operation model override without changing config--debugflag: Enable gorgeous color-coded output showing agent execution details--themeflag: Override theme for the session--rawflag: Output raw markdown without console formatting (forreview,pr,changelog,release-notes)--amendflag: Amend the previous commit (git-iris gen --amend --auto-commit)--subagent-timeoutconfig: Configure timeout for parallel subagent tasks (default: 120s)genalias:git-iris commitnow works as an alias forgit-iris gen- Explicit
--gitmoji/--no-gitmojiflags: Clearer intent than boolean flag
🔧 Infrastructure
- GitHub Action (
action.yml): Reusable action for CI/CD withrelease-notesandchangelogcommands, 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.shfor 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_tabsutility - 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
servesubcommand 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:
gitmojiboolean replaced with explicit--gitmoji/--no-gitmojiflags; newsubagent_timeout_secsfield added.
📋 Upgrade Notes
- Update installation: Use
curl -fsSL https://hyperb1iss.github.io/git-iris/install.sh | shorbrew upgrade git-iris - Configure provider: Run
git-iris config --provider <anthropic|openai|google> --api-key YOUR_KEY - Try Studio: Run
git-iristo launch the new TUI, orgit-iris genfor CLI commit generation - Update CI/CD: Replace manual release note scripts with the new GitHub Action
- Review scripts: Remove any
--legacyflags or MCP server invocations from automation scripts