Skip to content

Latest commit

 

History

History
103 lines (75 loc) · 2.52 KB

File metadata and controls

103 lines (75 loc) · 2.52 KB

Contributing To AgentMeter

Thanks for helping improve AgentMeter. The project is a local-first Go and Vue app that indexes local coding-agent JSONL session files into SQLite.

Before You Start

  • Read Project Brief for scope and non-goals.
  • Read Architecture for package boundaries.
  • Read Validation before choosing checks.
  • Keep source session files read-only.
  • Do not include private prompts, secrets, raw user session logs, or proprietary repository data in issues, tests, fixtures, screenshots, or pull requests.

Development Setup

For normal local use:

go run . -start

For manual Web startup:

cd frontend
pnpm install --frozen-lockfile
pnpm run build
cd ..
go run . -ui web -http 127.0.0.1:34115

For TUI mode:

go run . -ui tui

See Getting Started for additional commands.

Coding Guidelines

  • Use gofmt for Go.
  • Keep Go packages small, lowercase, and purpose-specific.
  • Put Go tests beside the package under test with _test.go filenames.
  • Use Vue 3 and TypeScript conventions already present in frontend/src.
  • Keep frontend indentation at two spaces, use single quotes, and omit semicolons.
  • Prefer shared backend query/view-model semantics over UI-only business rules.
  • Keep Web and TUI behavior aligned when changing shared user-visible concepts.

Validation

Use the narrowest validation that covers your change. Common checks:

go test ./...
cd frontend
pnpm install --frozen-lockfile
pnpm run build
cd ..
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/smoke-api.ps1 -BaseUrl http://127.0.0.1:34115
cd frontend
pnpm run test:smoke
cd ..

Routine smoke checks should remain read-only unless your task explicitly requires indexing, rebuilding, settings writes, or privacy config changes.

For documentation-only changes, text review plus targeted rg checks is usually enough.

Pull Requests

Use Conventional Commits for commit subjects:

type(scope): imperative subject

Allowed types are feat, fix, docs, test, refactor, style, chore, and ci.

PRs should include:

  • a concise behavior summary;
  • validation performed;
  • screenshots for visible Web UI changes;
  • notes about Web/TUI parity when shared behavior changes;
  • links to related issues when relevant.

Keep PRs focused. Avoid unrelated formatting churn, generated asset changes, or large fixture updates unless they are necessary for the change.