-
Notifications
You must be signed in to change notification settings - Fork 50
Description
Goal: Give AI agents and humans a single, authoritative, repo-local overview of how Compass is structured and where to make changes.
Proposed scope & tasks:
T1: Inventory current high-level docs
Scan:
SwitchbackTech/compass/README.md
SwitchbackTech/compass-docs (any “Architecture” or “Overview” docs)
SwitchbackTech/.github for existing org-wide guidelines
Note overlaps and gaps (especially around backend/web/core boundaries).
T2: Document directory structure & responsibilities in compass
In SwitchbackTech/compass/README.md (or a new docs/architecture.md linked from README) add:
Short explanation of each major directory:
packages/backend/ – APIs, integrations, background jobs.
packages/web/ – React UI, routing, state management.
packages/core/ – shared domain logic: time, events, scheduling, recurrence rules, etc.
packages/scripts/ or root scripts/ – CLI tools and maintenance tasks.
Any infra/config dirs (e.g. infra/, .github/workflows/).
For each, explicitly specify “AI-safe” responsibilities (e.g., “extend API endpoints here”, “add new calendar views here”).
T3: Describe key flows in one or two diagrams/text flows
Add a “Key Flows” section:
Example flows:
“External event sync → backend → core processing → storage → UI refresh”
“Task creation/edit → validation → persistence → notifications (if any)”
Use bullet-step sequences (good for agents) and, optionally, a simple ASCII or mermaid diagram.
T4: Define integration boundaries
Document where external systems are integrated:
Calendars (Google, etc.)
Notifications (email, push)
Clarify:
Where integration code lives (e.g. packages/backend/src/integrations/*).
What “safe extension points” are (e.g. adding another provider).
T5: Explicit guidance for AI agents
Add a subsection like “Working with Compass using AI agents” that:
Links to .claude, .cursor, .cursorrules, AGENTS.md if present.
Specifies which files to read first before making changes.
Mentions standard scripts to run (lint, test, typecheck) before/after changes.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status