VS Code extension for analyzing Salesforce debug logs with interactive visualizations (flame charts, call trees, SOQL/DML breakdowns).
Canonical agent instructions for all tools. Claude Code loads this via
CLAUDE.md. Area-specific rules live in.claude/rules/— see the Rules manifest below.
lana/— VS Code extension (TypeScript)log-viewer/— webview UI (TypeScript; lit / html / css)lana-docs/— Docusaurus documentationsample-app/— sample Salesforce app with test logs
Always use pnpm.
pnpm watch— dev build with hot reloadpnpm build— production buildpnpm test— run tests (before committing)pnpm lint— type + lint checkpnpm prettier-format— auto-format
- Type safety — strict TypeScript, no
any(useunknown+ justification if unavoidable). - Modularity — keep
lana/andlog-viewer/independent; cross-package contracts only. - Performance — handle large logs (50MB+, 500k+ lines) without blocking the UI.
- UX — discoverable, accessible, actionable errors.
- Testing — features and bug fixes ship with tests; CI blocks failures.
log-viewer/ MUST NOT import vscode or anything from lana/. The two packages
communicate via message passing only.
- Conventional commits (
feat:,fix:,build:,chore:,ci:,docs:,style:,refactor:,perf:,test:). Don't auto-commit. - Branches:
feat-*for features,bug-*for defects. - Releases follow SemVer; update CHANGELOG; breaking changes need a migration guide.
- Never reference Anthropic or Claude in commit messages, PRs, etc.
Area-specific rules load on demand (Claude Code, scoped by path):
.claude/rules/log-viewer.md— webview/UI: boundary, performance budgets, key paths..claude/rules/lana.md— VS Code extension: UX, command paths.