gitpulse: terminal CLI that collects deterministic GitHub repository signals and renders them as a compact project-health report.
-
Key commands
bun testbun run typecheck./gitpulse owner/repo(local wrapper, same entrypoint as the published CLI)bun run visualsafter any change to human-readable output, then inspect the artifacts
-
Key documentation
- CONTRIBUTING.md: workflow, layout, conventions
- docs/PROJECT_SPEC.md: scope, phases, signals, non-goals
- docs/COMPOSITE_METRICS.md: composite formulas and caveats
- docs/COMPLETIONS.md, docs/SEARCH.md, docs/STARRED.md, docs/DOCS_COMMAND.md: per-command contracts
- docs/THEMES.md, docs/VISUAL_OUTPUT.md: terminal output
-
Hard contracts
- Bare repository shorthand stays local-only and exact. The root command never searches GitHub for an unknown word, with or without
--lucky. It fails and asks forowner/name. Remote discovery lives undergitpulse search. Zero-argument inference reads local Git remotes only and never resolves fork parents through the API. Push back on any proposal that erodes this. - Phase 1 stays deterministic and API-driven. No AI dependency, no subjective NLP.
- Reserved command words (
docs,web,starred,search,user,history,cache,config,completions) are commands, never shorthand. - Top-level
docs/*.mddescribe the shipped implementation. Proposals and deferred ideas go underdocs/next-features/. - No backwards compatibility. Prefer the cleaner command contract and delete the old one.
- Bare repository shorthand stays local-only and exact. The root command never searches GitHub for an unknown word, with or without
-
Iron Laws
- Tokens are expensive, state of the art models need minimal guidance, don't repeat yourself, don't babysit, don't be over-specific.
- AI-native project. All code is AI-generated.
- Minimal attention when model implements without errors, we document in more detail when model struggles.
- Do not expect the user to have read each line, don't lose him on the internals, give visibility on a higher-architectural level.
- No journaling: code comments / documentation describe current state, they don't carry a log of their own edit history.