# CLI Development

> Use when working on the @insforge/cli codebase itself — adding or modifying commands under src/commands/, touching src/lib/api or src/lib/analytics, changing package.json version, wiring telemetry, or preparing an npm release. Covers code conventions, PostHog analytics, agent-skills sync, and the release-triggered publish workflow.

- Skill: `insforge/cli-development-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add insforge/cli-development-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/insforge/cli-development-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- License: Apache-2.0
- Author: insforge (https://skillmd.com/u/insforge)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/insforge/cli-development-2

---


# InsForge CLI Development

See the canonical development guide at [DEVELOPMENT.md](../../../DEVELOPMENT.md)
in the repo root. It covers:

1. **Existing code patterns** — command layout, API clients, config, errors,
   output, prompts, ESM imports.
2. **PostHog analytics** — `src/lib/analytics.ts`, event naming, distinct ID,
   property allow-list, flushing in `finally`, build-time key injection.
3. **Agent-skills sync** — when to update the `InsForge/agent-skills` repo
   alongside CLI command changes.
4. **Release workflow** — version bump → merge → publish a GitHub Release for
   `vX.Y.Z` → GitHub Actions publishes to npm.

Always read `DEVELOPMENT.md` before editing files under `src/`, touching
`package.json` version, or shipping a release.

