Skip to content

Repository files navigation

gitlog-html

gitlog-html turns a bounded Git history into one interactive, offline HTML report. It is designed first for agents presenting repository history to non-developers and second for developers reading history on desktop or mobile without a terminal.

Status

The first local release is complete: the validated Go CLI, standalone responsive report, and thin installed-agent workflow are delivered on the local integration branch. ROADMAP.md remains the source of truth for current work and has no queued result.

Development

Build and exercise the CLI with the standard Go toolchain. It intentionally has no runtime dependency on Node:

gofmt -w ./cmd ./e2e ./internal
go test ./...
go vet ./...

go build ./cmd/gitlog-html
./gitlog-html --repo . --output git-history.html

Frontend source lives in web/. Its deterministic build is committed under internal/report/assets so Go-only consumers do not need Node. Rebuild bundles from web/; never edit generated assets directly:

cd web
npm ci
npm run check
npm test
npm run build
npm run test:e2e

Confirmed product shape

  • A Go CLI invokes the installed Git executable and generates one HTML file.

  • The default history is equivalent to:

    git --no-replace-objects log --graph --oneline --decorate --all -n 10
    
  • The commit limit and all-refs/current-branch scope are configurable.

  • The report visibly preserves branch divergence and merge convergence.

  • Each commit emphasizes date/time and a short explanation of what changed.

  • Agent-written explanations are optional, plain text, and shown first.

  • The full raw commit message is available through a toggle.

  • The report works offline through a file URL on desktop and mobile.

  • Full patches and diffs are deferred beyond the first release.

Implementation shape

Go owns repository inspection, the history model, graph lane assignment, safe serialization, CLI behavior, and final document assembly. Svelte 5 and TypeScript own the report interface. Vite compiles the UI to one JavaScript bundle and one stylesheet, which the Go binary embeds and inlines into every report.

SvelteKit, a web server, a native Git library, runtime network access, and external report assets are outside the design.

Documentation map

About

No description, website, or topics provided.

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages