Skip to content

Repository Map

Eric Dean edited this page Sep 30, 2026 · 1 revision

Repository map

Where things live in the OpenNote repository, as of the main branch after Phase 1. Work on later phases adds folders on phase branches, and they reach main when each phase merges.

What is on main today

.github/          Issue and pull request templates, ci.yml, and release.yml
.githooks/        The pre-commit hook that runs CHECKS
app/
  src/            The TypeScript interface
  src/theme/      Theme code. tokens.css and tokens.ts are generated from brand/tokens.json
  src-tauri/      The Rust shell: window, configuration, and commands
  scripts/        Build scripts: design tokens, version check, and update manifest
brand/            Design tokens, logo mark, app icon, and social preview
checks/           The CHECKS quality gate: cli.ts, rules/, data/, and test/
docs/
  adr/            Architecture decision records
  design/         Screen wireframes, generated from the design tokens
  RELEASING.md    The maintainer guide for releases
spikes/           The Phase 1 experiments: harness/ (Rust), web/ (TypeScript), and results/

The root also holds README.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, LICENSE, package.json, the Rust workspace Cargo.toml, and the lint and format settings.

Planning documents

Five planning documents sit at the root today. A pending pull request moves them into docs/, and these links use the new paths.

Document What it covers
docs/RESEARCH.md Popular note apps, the features people love, and the gaps to fill
docs/DEVELOPMENT.md The phased plan, tests, and release gates
docs/FEATURES.md The feature specification, with the phase for each feature
docs/BRAND.md Color, type, layout, voice, accessibility, and performance budgets
docs/CHECKS.md The quality gate for every file change

The screen wireframes and the decision records stay where they are.

Planned folders

The plan adds these as phases need them:

Folder What it will hold
crates/core/ Document model, file format, storage, undo history, and search index
crates/media/ Audio capture and encoding, transcription, and OCR adapters
crates/interop/ Import and export: Markdown, HTML, DOCX, PDF, OneNote, and Evernote
docs/format/ The note file format specification
tests/e2e/ End-to-end tests that drive the real app
tests/perf/ Performance benchmarks and large sample notebooks

Generated files

  • app/src/theme/tokens.css and tokens.ts are built from brand/tokens.json by npm run tokens. Never edit them by hand.
  • The wireframes in docs/design/images/ are built by npm run design.
  • spikes/results/*.json hold the numbers from each spike, with the machine they came from.

Related pages

Clone this wiki locally