Files
AgenticCode/.planning/codebase/INTEGRATIONS.md
2026-03-27 00:21:00 +00:00

115 lines
3.8 KiB
Markdown

# External Integrations
**Analysis Date:** 2026-03-27
## APIs & External Services
**Web Search:**
- Brave Search - Web search integration for research and discovery phases
- SDK/Client: Native `fetch` API (Node.js built-in)
- Auth: `BRAVE_API_KEY` environment variable or `~/.gsd/brave_api_key` file
- Endpoint: `https://api.search.brave.com/res/v1/web/search`
- Implementation: `cmdWebSearch()` in `/home/ys/family-repo/AgenticCode/.claude/get-shit-done/bin/lib/commands.cjs`
**Web Scraping (Optional):**
- Firecrawl - Web content extraction
- Auth: `FIRECRAWL_API_KEY` environment variable or `~/.gsd/firecrawl_api_key` file
- Status: Configuration detected, not actively used in codebase
**Search Alternative (Optional):**
- Exa Search - Alternative search API
- Auth: `~/.gsd/exa_api_key` file
- Status: Configuration detected, not actively used in codebase
## Data Storage
**Repositories:**
- Git - Primary version control system for all planning documents
- Client: Git CLI via `child_process.execSync()` and `execFileSync()`
- Operations: Commit, status, log, diff, tag management
- Integration points: `execGit()` in `core.cjs`, phase operations in `phase.cjs`
**File Storage:**
- Local filesystem only
- `.planning/` directory tree - All state, roadmaps, phases, requirements
- `~/.gsd/` directory - User-level API key storage
- Multi-workspace support via `.planning/config.json` sub_repos configuration
**Caching:**
- None detected
## Authentication & Identity
**Auth Provider:**
- Custom/API Key based
- No centralized identity provider
- Individual API keys per external service stored in files or environment variables
- Git authentication via system SSH/credentials configured externally
## Monitoring & Observability
**Error Tracking:**
- None detected - errors handled via console output
**Logs:**
- Console output via `output()` and `error()` functions in `/home/ys/family-repo/AgenticCode/.claude/get-shit-done/bin/lib/core.cjs`
- Support for structured JSON output via `--raw` flag
- Context monitoring hooks in `.claude/hooks/gsd-context-monitor.js`
## CI/CD & Deployment
**Hosting:**
- Self-hosted Node.js CLI
- IDE integration via Claude, Gemini, Agent, Cursor, OpenCode, Windsurf editors
- Editor-specific hooks and commands in `./.[editor]/.claude/hooks/`
**CI Pipeline:**
- Git hooks integration via Claude settings
- Post-tool-use monitoring: `gsd-context-monitor.js`
- Pre-write guards: `gsd-prompt-guard.js`
- Update checking: `gsd-check-update.js`
## Environment Configuration
**Required env vars:**
- `HOME` - User home directory (for API key storage and config)
- `BRAVE_API_KEY` - (optional) Brave Search API key for web search functionality
**Optional env vars:**
- `FIRECRAWL_API_KEY` - Web scraping capability
- `EXA_API_KEY` - Alternative search provider
**Secrets location:**
- Environment variables: `.env` or shell environment
- File-based: `~/.gsd/brave_api_key`, `~/.gsd/firecrawl_api_key`, `~/.gsd/exa_api_key`
- Git-ignored configuration: Not applicable (no local .env files in codebase)
## Webhooks & Callbacks
**Incoming:**
- None detected
**Outgoing:**
- Git commits via `execGit()` - Triggers CI/CD if configured
- Status updates via stdio - Display progress to Claude/editor interface
## Git Integration
**Operations Supported:**
- `git status` - Check working tree state
- `git add` - Stage files
- `git commit` - Create planning commits with auto-generated messages
- `git log` - Query commit history
- `git diff` - Compare changes
- `git tag` - Version marking for phases and milestones
- Commit routing for multi-repo workspaces
**Key Implementation:**
- Location: `execGit()` in `/home/ys/family-repo/AgenticCode/.claude/get-shit-done/bin/lib/core.cjs`
- Supports sub-repo commit routing via `commit-to-subrepo` command
- Automatic message generation with structured frontmatter
---
*Integration audit: 2026-03-27*