Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/hyperb1iss/git-iris/claude-mdgit clone --depth 1 https://github.com/hyperb1iss/git-irisWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.05458 | $0.05458 |
| Opus 5 | $0.02729 | $0.02729 |
| Sonnet 5 | $0.01092 | $0.01092 |
| Haiku 4.5 | $0.00546 | $0.00546 |
Grade A, and why
git-iris CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 490 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Git-Iris Developer Guide
Note: This is a quick-reference guide for AI assistants. For comprehensive documentation, see:
- Architecture Documentation — System design, patterns, and data flow
- Theme System Documentation — SilkCircuit design language and theming
- Studio Internals — Deep dive into TUI implementation
- Extension Guide — Creating new capabilities, tools, and modes
Architecture Overview
Git-Iris uses an agent-first architecture powered by Iris, an LLM-driven agent built on the Rig framework. Iris dynamically explores codebases using tool calls rather than dumping all context upfront.
Core Principles
- LLM-First: The LLM makes all intelligent decisions—we avoid deterministic heuristics
- Tool-Based Context: Iris gathers precisely what she needs via tool calls
- Unified Interface: Studio provides a single TUI for all capabilities
- Event-Driven State: Reducer-centric event flow for predictable, testable state management
Project Structure
src/
├── agents/ # Agent framework (core of Git-Iris)
│ ├── iris.rs # Main agent implementation
│ ├── core.rs # Backend abstraction (OpenAI/Anthropic/Google)
│ ├── context.rs # TaskContext and shared agent context
│ ├── provider.rs # Provider-specific agent builders (caching, models)
│ ├── setup.rs # IrisAgentService entry point
│ ├── status.rs # Real-time status tracking
│ ├── status_messages.rs # Witty status messages via fast model
│ ├── debug.rs # Debug mode output formatting
│ ├── debug_tool.rs # Tool wrapper for debug instrumentation
│ ├── output_validator.rs # JSON recovery for malformed responses
│ ├── capabilities/ # Task-specific prompts (TOML, 8 total)
│ │ ├── commit.toml # Commit message generation
│ │ ├── review.toml # Structured code review (findings, severity)
│ │ ├── pr.toml # PR description generation
│ │ ├── changelog.toml # Changelog generation
│ │ ├── release_notes.toml # Release notes
│ │ ├── chat.toml # Interactive chat capability
│ │ ├── semantic_blame.toml # "Why does this code exist?"
│ │ └── verify.toml # Critic verification pass (internal)
│ └── tools/ # Tools Iris can use
│ ├── registry.rs # CORE_TOOLS list + attach_core_tools! macro
│ ├── common.rs # Shared tool utilities (repo root, schemas)
│ ├── git.rs # git_diff, git_log, git_status, git_show,
│ │ # git_changed_files, git_blame, git_repo_info
│ ├── file_read.rs # File content reading and targeted excerpts
│ ├── code_search.rs # Pattern searching
│ ├── repo_map.rs # Ranked codebase orientation map
│ ├── static_analysis.rs # Direct linter runs (rust/python/js/go)
│ ├── docs.rs # Project documentation (README, CLAUDE.md)
│ ├── workspace.rs # Iris's notes and task tracking
│ ├── parallel_analyze.rs # Concurrent subagent processing
│ └── content_update.rs # Chat tools that update commit/PR/review
│
├── studio/ # Iris Studio TUI (Ratatui-based)
│ ├── app/ # Main event loop and app coordination
│ │ ├── mod.rs # StudioApp lifecycle
│ │ └── agent_tasks.rs # Agent task spawning and orchestration
│ ├── state/ # Centralized state for all modes
│ │ ├── mod.rs # StudioState root and helpers
│ │ ├── chat.rs # ChatState (messages, streaming, tools)
│ │ └── modes.rs # ExploreState, CommitState, ReviewState, etc.
│ ├── reducer/ # Reducer-centric state transitions
│ │ ├── mod.rs # Top-level reduce() dispatch
│ │ ├── agent.rs # Agent task events
│ │ ├── content.rs # Content updates (commit, PR, review)
│ │ ├── git.rs # Git operation events
│ │ ├── modal.rs # Modal open/close transitions
│ │ ├── navigation.rs # Mode switching and panel focus
│ │ ├── settings.rs # Settings modal state
│ │ └── ui.rs # UI-level events (resize, scroll)
│ ├── events.rs # StudioEvent, AgentTask, SideEffect enums
│ ├── history.rs # Audit trail and session persistence
│ ├── layout.rs # Layout calculations and panel sizing
│ ├── theme.rs # Studio-specific style derivation
│ ├── utils.rs # Shared rendering helpers
│ ├── components/ # Reusable UI components
│ │ ├── code_view.rs # Syntax-highlighted source display
│ │ ├── diff_view.rs # Unified diff rendering with hunks
│ │ ├── file_tree.rs # Directory navigation with git status
│ │ ├── message_editor.rs # Text editing with cursor management
│ │ └── syntax.rs # Syntect-based syntax highlighting
│ ├── render/ # Mode-specific rendering
│ │ ├── commit.rs # Commit mode panels
│ │ ├── explore.rs # Explore mode panels
│ │ ├── review.rs # Review mode panels
│ │ ├── pr.rs # PR mode panels
│ │ ├── changelog.rs # Changelog mode panels
│ │ ├── release_notes.rs # Release notes panels
│ │ ├── chat.rs # Chat panel with markdown
│ │ └── modals/ # Modal renderers (12 files: help, settings,
│ │ # search, theme/preset/ref/emoji/commit_count
│ │ # selectors, chat_modal, confirm, instructions)
│ └── handlers/ # Input handling
│ ├── mod.rs # Cross-mode key dispatch and global bindings
│ ├── commit.rs # Commit mode handlers
│ ├── explore.rs # Explore mode handlers
│ ├── review.rs # Review mode handlers
│ ├── pr.rs # PR mode handlers
│ ├── changelog.rs # Changelog mode handlers
│ ├── release_notes.rs # Release notes mode handlers
│ └── modals/ # Modal input handlers (10 files matching
│ # the modal renderers)
│
├── companion/ # Iris Companion (ambient session awareness)
│ ├── session.rs # SessionState and FileActivity tracking
│ ├── branch_memory.rs # Per-branch focus and memory persistence
│ ├── storage.rs # Persistence backend
│ └── watcher.rs # Live file watching via notify
│
├── types/ # Response type definitions
│ ├── commit.rs # GeneratedMessage (emoji/title/message/completion)
│ ├── pr.rs # MarkdownPullRequest
│ ├── review.rs # Review (structured findings + metadata + stats)
│ ├── changelog.rs # MarkdownChangelog
│ └── release_notes.rs # MarkdownReleaseNotes
│
├── services/ # Pure operations (no LLM)
│ └── git_commit.rs # GitCommitService for git operations
│
├── git/ # Git2 wrapper module
├── github/ # GitHub API client (octocrab wrapper)
├── config/ # Configuration loading helpers
├── cli.rs # CLI entry point
├── commands.rs # Command handlers
├── common.rs # Shared CLI params (CommonParams, --critic)
├── providers.rs # LLM provider configuration
├── config.rs # Configuration management
├── theme.rs # Opaline-backed theme engine (re-exports)
├── github.rs # GitHub publishing (PR descriptions, reviews)
├── crypto.rs # Process-wide rustls/aws-lc-rs provider pin
├── gitmoji.rs # Emoji processing
└── output.rs # Git output formatting
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 490 lines · 5,458 tokens per session scan A 7762bb620cca
git-iris CLAUDE.md is an instructions file published in the GitHub repository hyperb1iss/git-iris (41 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 5,458 tokens to every session, about $0.0273 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
app-privacy-policy-generator AGENTS.md
AGENTS.md instructions for nisrulz/app-privacy-policy-generator, covering agents.md, project overview, source layout, build and code conventions.
gql-query-builder AGENTS.md
Instructions for atulmy/gql-query-builder, covering gql-query-builder — agent guide, commands, layout, public api contract and hard constraints.
liferay-dummy-factory CLAUDE.md
Instructions for yasuflatland-lf/liferay-dummy-factory, covering liferay-dummy-factory, where to find concrete details and history, core contracts — break these and things go silently wrong and common gradle commands.
mcp-me AGENTS.md
Instructions for paladini/mcp-me, covering agent instructions, critical rules, pre-commit checklist, project structure and version locations.
git-lrc CLAUDE.md
Claude Code instructions for HexmosTech/git-lrc, covering git-lrc release process, prerequisites, sequence and notes.
git-lrc AGENTS.md
AGENTS.md instructions for HexmosTech/git-lrc, covering rule 1: git-lrc build command, rule 2: code organization and status docs, rule 3: ui iconography guidance and rule 4: syncing to livereview.