How warshoow/grab-cli works
grab-cli is a Bash command-line tool for selectively copying tools from a Git monorepo into a project, tracking them in a manifest, and optionally sending changes back. The documented workflow is configure or initialize, add/install tools, optionally run hooks, then use or update them. The README documents broad command capabilities, but no source excerpts were available, so internal call structure is not inferred; feature nodes share the documented script path.
Main entry points: grab grab CLI
Components 21
Configuration
- grab CLI
grab - Setup and defaults
grab - Project initialization
grab - Global config
- .grabfile
Tool Acquisition
- Add tool
grab - Install manifest tools
grab - Sparse repo cache
- Installed tools
- Post-grab hooks
grab
Tool Management
- Remove tool
grab - Update tools
grab - Push tool changes
grab - Publish tool
grab - List and status
grab
Tool Use
- Execute tool
grab - Resolve tool path
grab
Other components
- Project maintainer
- Project workspace
- Tools monorepo
- Git
Connections 43
- Project maintainer → grab CLI: runs commands
- grab CLI → Setup and defaults: dispatches
- grab CLI → Project initialization: dispatches
- grab CLI → Add tool: dispatches
- grab CLI → Install manifest tools: dispatches
- grab CLI → Remove tool: dispatches
- grab CLI → Update tools: dispatches
- grab CLI → Push tool changes: dispatches
- grab CLI → Publish tool: dispatches
- grab CLI → List and status: dispatches
- grab CLI → Execute tool: dispatches
- grab CLI → Resolve tool path: dispatches
- grab CLI → Post-grab hooks: dispatches
- Setup and defaults → Global config: writes defaults
- Project initialization → .grabfile: creates
- Project initialization → Project workspace: initializes
- Add tool → .grabfile: records tool
- Install manifest tools → .grabfile: reads tools
- Add tool → Sparse repo cache: uses sparse cache
- Install manifest tools → Sparse repo cache: uses sparse cache
- Add tool → Tools monorepo: fetches tool
- Install manifest tools → Tools monorepo: fetches tools
- Add tool → Installed tools: copies tool
- Install manifest tools → Installed tools: copies tools
- Add tool → Post-grab hooks: may run hook
- Install manifest tools → Post-grab hooks: may run hooks
- Post-grab hooks → Project workspace: sets up project
- Remove tool → Installed tools: removes tool
- Remove tool → .grabfile: updates manifest
- Update tools → Tools monorepo: fetches updates
- Update tools → Installed tools: updates tools
- Push tool changes → Tools monorepo: pushes changes
- Publish tool → Tools monorepo: publishes folder
- List and status → .grabfile: reads manifest
- List and status → Tools monorepo: lists remote tools
- Execute tool → Installed tools: runs entrypoint
- Resolve tool path → Installed tools: resolves location
- Add tool → Git: uses Git
- Install manifest tools → Git: uses Git
- Update tools → Git: uses Git
- Push tool changes → Git: uses Git
- Publish tool → Git: uses Git
- Git → Tools monorepo: transfers repository data