Skip to main content
Droid is Factory’s AI-powered development agent. Entire integrates with Droid via its hook-based settings system, automatically capturing sessions and checkpoints. The Droid integration is in preview and may contain bugs.

Prerequisites

How It Works

Entire integrates with Droid through hook configuration in .factory/settings.json. When you enable Entire with the Droid agent, hooks are installed automatically:
entire enable --agent factoryai-droid
The hooks track the full session lifecycle:
  1. Session Start - Fires when Droid launches, creating a new Entire session
  2. Turn Tracking - Each user prompt triggers tracking via user-prompt-submit hooks
  3. Subagent Tracking - pre-tool-use and post-tool-use hooks capture Task tool invocations for nested session support
  4. Session End - Fires when Droid exits, finalizing the session
  5. Transcript Capture - Session transcript is read from Droid’s JSONL log files
  6. Session Storage - Data saved to the entire/checkpoints/v1 branch

Captured Data

DataDescription
ConversationFull transcript of prompts and responses
File changesAll files modified during the session
Tool callsTool invocations with inputs and outputs
Token usageInput, output, reasoning, and cache tokens
TimestampsSession, message, and checkpoint timing

Features

Nested Session Support

When Droid spawns sub-agents via the Task tool, Entire captures these as nested sessions through pre-tool-use and post-tool-use hooks:
Main Session
├── Checkpoint 1
├── Sub-agent Session (Task: "Run tests")
│   ├── Sub-checkpoint 1
│   └── Sub-checkpoint 2
└── Checkpoint 2
Nested sessions preserve the full context of complex multi-agent workflows.

Rewind Support

Rewind to previous checkpoints during or after a session:
# Interactive mode
entire rewind

# Or rewind to a specific checkpoint
entire rewind --to <checkpoint-id>

# List available rewind points
entire rewind --list
FlagDescription
--to <commit>Rewind to specific commit ID (non-interactive)
--listList available rewind points (JSON output)
--logs-onlyOnly restore logs, don’t modify working directory
--resetReset branch to commit (destructive)

Resume Previous Sessions

Resume a previous Droid session by switching to its branch:
entire resume <branch>
This command:
  1. Checks out the specified branch
  2. Finds the session ID from commits unique to this branch
  3. Restores the session log if it doesn’t exist locally
  4. Shows the command to resume the session (e.g., droid --session-id <id>)
FlagDescription
-f, --forceResume from older checkpoint without confirmation

Explain Commits

View or generate explanations of how code was written:
# Explain a specific commit
entire explain --commit abc1234

# Explain a specific checkpoint
entire explain --checkpoint a3b2c4d5

# Show full transcript
entire explain --full
FlagDescription
-c, --checkpoint <id>Explain a specific checkpoint (ID or prefix)
--commit <sha>Explain a specific commit (SHA or ref)
--fullShow full parsed transcript (all prompts/responses)
-s, --shortShow summary only (omit prompts and files)

Best Practices

Commit at Logical Points

Commit when you’ve made meaningful progress:
git add .
git commit -m "Implement feature with Droid assistance"

Check Status Regularly

Monitor your session:
entire status

Example Workflow

# 1. Enable Entire with Factory Droid
cd my-project
entire enable --agent factoryai-droid

# 2. Start Droid
droid

# 3. Work with Droid
# Ask it to write code, make changes, etc.

# 4. Check session (in another terminal)
entire status

# 5. Rewind if needed
entire rewind

# 6. Commit when ready
git add .
git commit -m "Add feature with Droid"

# 7. Push to see on entire.io
git push
Your session is now visible on entire.io with full context for code review.

Troubleshooting

  1. Ensure you’re in an Entire-enabled repo: entire status
  2. Verify Droid is running from within the repository
  3. Check that hooks are installed in .factory/settings.json
  4. Check Git hooks are installed: ls .git/hooks
  1. Checkpoints require file changes — ensure Droid is modifying files
  2. Check your settings in .entire/settings.json
  3. Verify the .factory/settings.json hooks are present
  1. Ensure Droid’s session storage exists at ~/.factory/sessions/<repo>/
  2. Check that JSONL transcript files are being written
  3. Look for errors in the Entire hook output

Limitations

  • The integration is in preview and may have rough edges
  • Session detection relies on hook-based process detection
  • Transcript capture depends on Droid writing JSONL session logs