# entireio/cli architecture

> Architecture diagram of the GitHub repository entireio/cli, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/entireio/cli
- Repository: https://github.com/entireio/cli

## Overview

Entire is a Git-integrated CLI that captures AI-agent sessions, associates their context with commits through checkpoints stored outside branch history, and lets users inspect or resume that work. The main workflow is repository enablement and agent-hook setup, background session capture, commit-triggered checkpointing, then status/search or checkpoint-based resume. Separate product branches include historical transcript import, review, and collaborative Trails. The README establishes the workflow; sampled source is limited, so edges for unsampled subsystems are omitted where their wiring cannot be confirmed.

Main entry points: [`cmd/entire/cli/root.go`](https://github.com/entireio/cli/blob/main/cmd/entire/cli/root.go) (Command handlers), [`cmd/entire/cli/checkpoint/checkpoint.go`](https://github.com/entireio/cli/blob/main/cmd/entire/cli/checkpoint/checkpoint.go) (Checkpoint operations), [`cmd/entire/cli/hooks.go`](https://github.com/entireio/cli/blob/main/cmd/entire/cli/hooks.go) (Lifecycle hooks), [`cmd/entire/cli/agent/registry.go`](https://github.com/entireio/cli/blob/main/cmd/entire/cli/agent/registry.go) (Agent adapters)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_cli["CLI and Setup"]
  node_entire["Entire CLI<br/>[main.go]"]
  node_commands["Command handlers<br/>[root.go]"]
  node_enable["Enable and hooks<br/>[setup.go]"]
end

subgraph group_capture["Agent Session Capture"]
  node_agent_adapters["Agent adapters<br/>[registry.go]"]
  node_lifecycle["Lifecycle hooks<br/>[hooks.go]"]
  node_transcripts["Transcript parsing<br/>[parse.go]"]
  node_session_state[("Session state<br/>[state.go]")]
  node_import["Transcript import<br/>[agentimport.go]"]
end

subgraph group_checkpoint["Checkpoint and Git"]
  node_strategy["Commit strategy<br/>[strategy.go]"]
  node_checkpoint["Checkpoint operations<br/>[checkpoint.go]"]
  node_checkpoint_store[("Checkpoint storage<br/>[store.go]")]
  node_remote_helper["Git remote helper<br/>[main.go]"]
end

subgraph group_insight["Search and Review"]
  node_activity["Session activity<br/>[activity_cmd.go]"]
  node_search["Session search<br/>[search_cmd.go]"]
  node_resume["Session resume<br/>[resume.go]"]
  node_review["Code review<br/>[cmd.go]"]
end

subgraph group_collab["Trails and Services"]
  node_trail["Collaborative Trails<br/>[trail_cmd.go]"]
  node_api_client["API client<br/>[client.go]"]
end

node_user(("Developer"))
node_agent["Supported AI agents"]
node_git["Git repository"]
node_service_api["Entire service API"]

node_user -->|"runs commands"| node_entire
node_entire -->|"dispatches"| node_commands
node_commands -->|"configures hooks"| node_enable
node_enable -->|"installs integrations"| node_agent_adapters
node_agent -->|"fires hooks"| node_lifecycle
node_lifecycle -->|"selects adapter"| node_agent_adapters
node_agent_adapters -->|"parses sessions"| node_transcripts
node_lifecycle -->|"updates state"| node_session_state
node_transcripts -->|"records session"| node_session_state
node_commands -->|"imports history"| node_import
node_import -->|"parses transcripts"| node_transcripts
node_git -->|"runs hooks on commits"| node_strategy
node_strategy -->|"captures checkpoint"| node_checkpoint
node_checkpoint -->|"reads and writes"| node_checkpoint_store
node_checkpoint -->|"uses Git metadata"| node_git
node_commands -->|"shows activity"| node_activity
node_commands -->|"searches sessions"| node_search
node_commands -->|"resumes session"| node_resume
node_resume -->|"restores metadata"| node_checkpoint
node_commands -->|"runs reviews"| node_review
node_review -->|"reads context"| node_checkpoint_store
node_commands -->|"manages Trails"| node_trail
node_trail -->|"calls API"| node_api_client
node_api_client -->|"sends requests"| node_service_api
node_git -.->|"invokes for entire URLs"| node_remote_helper
node_remote_helper -.->|"transfers Git data"| node_service_api

click node_entire "https://github.com/entireio/cli/blob/main/cmd/entire/main.go"
click node_commands "https://github.com/entireio/cli/blob/main/cmd/entire/cli/root.go"
click node_enable "https://github.com/entireio/cli/blob/main/cmd/entire/cli/setup.go"
click node_agent_adapters "https://github.com/entireio/cli/blob/main/cmd/entire/cli/agent/registry.go"
click node_lifecycle "https://github.com/entireio/cli/blob/main/cmd/entire/cli/hooks.go"
click node_transcripts "https://github.com/entireio/cli/blob/main/cmd/entire/cli/transcript/parse.go"
click node_session_state "https://github.com/entireio/cli/blob/main/cmd/entire/cli/session/state.go"
click node_import "https://github.com/entireio/cli/blob/main/cmd/entire/cli/agentimport/agentimport.go"
click node_strategy "https://github.com/entireio/cli/blob/main/cmd/entire/cli/strategy/strategy.go"
click node_checkpoint "https://github.com/entireio/cli/blob/main/cmd/entire/cli/checkpoint/checkpoint.go"
click node_checkpoint_store "https://github.com/entireio/cli/blob/main/cmd/entire/cli/checkpoint/store.go"
click node_remote_helper "https://github.com/entireio/cli/blob/main/cmd/git-remote-entire/main.go"
click node_activity "https://github.com/entireio/cli/blob/main/cmd/entire/cli/activity_cmd.go"
click node_search "https://github.com/entireio/cli/blob/main/cmd/entire/cli/search_cmd.go"
click node_resume "https://github.com/entireio/cli/blob/main/cmd/entire/cli/resume.go"
click node_review "https://github.com/entireio/cli/blob/main/cmd/entire/cli/review/cmd.go"
click node_trail "https://github.com/entireio/cli/blob/main/cmd/entire/cli/trail_cmd.go"
click node_api_client "https://github.com/entireio/cli/blob/main/cmd/entire/cli/api/client.go"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_entire,node_commands,node_enable toneBlue
class node_agent_adapters,node_lifecycle,node_transcripts,node_session_state,node_import toneAmber
class node_strategy,node_checkpoint,node_checkpoint_store,node_remote_helper,node_service_api toneMint
class node_activity,node_search,node_resume,node_review toneRose
class node_trail,node_api_client,node_user,node_agent,node_git toneIndigo
```

## Components

### CLI and Setup

- [Entire CLI](https://github.com/entireio/cli/blob/main/cmd/entire/main.go): `cmd/entire/main.go`
- [Command handlers](https://github.com/entireio/cli/blob/main/cmd/entire/cli/root.go): `cmd/entire/cli/root.go`
- [Enable and hooks](https://github.com/entireio/cli/blob/main/cmd/entire/cli/setup.go): `cmd/entire/cli/setup.go`

### Agent Session Capture

- [Agent adapters](https://github.com/entireio/cli/blob/main/cmd/entire/cli/agent/registry.go): `cmd/entire/cli/agent/registry.go`
- [Lifecycle hooks](https://github.com/entireio/cli/blob/main/cmd/entire/cli/hooks.go): `cmd/entire/cli/hooks.go`
- [Transcript parsing](https://github.com/entireio/cli/blob/main/cmd/entire/cli/transcript/parse.go): `cmd/entire/cli/transcript/parse.go`
- [Session state](https://github.com/entireio/cli/blob/main/cmd/entire/cli/session/state.go): `cmd/entire/cli/session/state.go`
- [Transcript import](https://github.com/entireio/cli/blob/main/cmd/entire/cli/agentimport/agentimport.go): `cmd/entire/cli/agentimport/agentimport.go`

### Checkpoint and Git

- [Commit strategy](https://github.com/entireio/cli/blob/main/cmd/entire/cli/strategy/strategy.go): `cmd/entire/cli/strategy/strategy.go`
- [Checkpoint operations](https://github.com/entireio/cli/blob/main/cmd/entire/cli/checkpoint/checkpoint.go): `cmd/entire/cli/checkpoint/checkpoint.go`
- [Checkpoint storage](https://github.com/entireio/cli/blob/main/cmd/entire/cli/checkpoint/store.go): `cmd/entire/cli/checkpoint/store.go`
- [Git remote helper](https://github.com/entireio/cli/blob/main/cmd/git-remote-entire/main.go): `cmd/git-remote-entire/main.go`

### Search and Review

- [Session activity](https://github.com/entireio/cli/blob/main/cmd/entire/cli/activity_cmd.go): `cmd/entire/cli/activity_cmd.go`
- [Session search](https://github.com/entireio/cli/blob/main/cmd/entire/cli/search_cmd.go): `cmd/entire/cli/search_cmd.go`
- [Session resume](https://github.com/entireio/cli/blob/main/cmd/entire/cli/resume.go): `cmd/entire/cli/resume.go`
- [Code review](https://github.com/entireio/cli/blob/main/cmd/entire/cli/review/cmd.go): `cmd/entire/cli/review/cmd.go`

### Trails and Services

- [Collaborative Trails](https://github.com/entireio/cli/blob/main/cmd/entire/cli/trail_cmd.go): `cmd/entire/cli/trail_cmd.go`
- [API client](https://github.com/entireio/cli/blob/main/cmd/entire/cli/api/client.go): `cmd/entire/cli/api/client.go`

### Other components

- **Developer**
- **Supported AI agents**
- **Git repository**
- **Entire service API**

## Connections

- Developer → Entire CLI: runs commands
- Entire CLI → Command handlers: dispatches
- Command handlers → Enable and hooks: configures hooks
- Enable and hooks → Agent adapters: installs integrations
- Supported AI agents → Lifecycle hooks: fires hooks
- Lifecycle hooks → Agent adapters: selects adapter
- Agent adapters → Transcript parsing: parses sessions
- Lifecycle hooks → Session state: updates state
- Transcript parsing → Session state: records session
- Command handlers → Transcript import: imports history
- Transcript import → Transcript parsing: parses transcripts
- Git repository → Commit strategy: runs hooks on commits
- Commit strategy → Checkpoint operations: captures checkpoint
- Checkpoint operations → Checkpoint storage: reads and writes
- Checkpoint operations → Git repository: uses Git metadata
- Command handlers → Session activity: shows activity
- Command handlers → Session search: searches sessions
- Command handlers → Session resume: resumes session
- Session resume → Checkpoint operations: restores metadata
- Command handlers → Code review: runs reviews
- Code review → Checkpoint storage: reads context
- Command handlers → Collaborative Trails: manages Trails
- Collaborative Trails → API client: calls API
- API client → Entire service API: sends requests
- Git repository → Git remote helper: invokes for entire URLs
- Git remote helper → Entire service API: transfers Git data
