115 lines
3.8 KiB
Markdown
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*
|