Skip to content

docs(app): add frontend ARCHITECTURE.md and refresh project-guide section#8596

Merged
MarkusNeusinger merged 12 commits into
mainfrom
docs/frontend-architecture
Jun 10, 2026
Merged

docs(app): add frontend ARCHITECTURE.md and refresh project-guide section#8596
MarkusNeusinger merged 12 commits into
mainfrom
docs/frontend-architecture

Conversation

@MarkusNeusinger

Copy link
Copy Markdown
Owner

Summary

Part 11 (final) of the frontend modernization roadmap.

  • app/ARCHITECTURE.md: directory layout (routes/layouts/pages/sections/components/hooks/lib/theme), conventions (src/ alias imports, paths.* URL registry, lib/api client, theme tokens, feature folders), data flow, testing pattern, quality gates, and how-to-add recipes for pages/sections/hooks/endpoints
  • agentic/docs/project-guide.md: frontend section now lists the full gate (lint, fm:check, type-check incl. tests, test), mentions the dev-time checker overlay, and links the new architecture doc

With this, the roadmap is complete: tooling baseline (#8519), src/ aliases (#8520), theme split (#8525), global-config (#8529), API client (#8531), routes registry (#8546), structure split (#8547), FilterBar (#8559), SpecTabs (#8564), MapPage hook (#8581).

🤖 Generated with Claude Code

…tion

- app/ARCHITECTURE.md: directory layout, conventions (src/ alias, paths
  registry, lib/api client, theme tokens), data flow, testing pattern,
  quality gates, and how-to-add recipes
- project-guide.md frontend section now lists the full gate (lint, fm:check,
  type-check incl. tests, test) and links the new architecture doc

Part 11 of the frontend modernization roadmap.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 10, 2026 03:37
@codecov

codecov Bot commented Jun 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds/refreshes frontend documentation to close out the “frontend modernization roadmap” by documenting the current app structure, conventions, and the local/CI quality gates.

Changes:

  • Add app/ARCHITECTURE.md describing frontend directory layout, conventions, data flow, testing approach, and “how to add” recipes.
  • Update agentic/docs/project-guide.md frontend section to reflect the current gate commands and link to the new architecture doc.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
app/ARCHITECTURE.md New frontend architecture/conventions doc; needs a few wording corrections to match current code/CI behavior.
agentic/docs/project-guide.md Updates frontend dev guidance (lint/format/type-check/tests) and links to the architecture doc.

Comment thread app/ARCHITECTURE.md Outdated
Comment on lines +42 to +43
- **Imports** are absolute from the `src/` alias (`import { paths } from 'src/routes/paths'`);
no relative `../` imports. ESLint (perfectionist) enforces sorted, grouped imports.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied — reworded to 'no relative imports between src/ modules' with the package.json exception called out.

Comment thread app/ARCHITECTURE.md Outdated
Comment on lines +80 to +82
CI (`.github/workflows/ci-tests.yml`, job `test-frontend`) runs the same gates;
`yarn type-check` covers app and test files (`tsconfig.test.json`). During
development, `vite-plugin-checker` surfaces TS/ESLint errors in the browser.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied — the doc now states CI runs lint/format/type-check/tests while yarn build runs in the Cloud Build Docker build on merge.

Comment thread app/ARCHITECTURE.md Outdated
Comment on lines +48 to +49
- **API access** goes through `src/lib/api` (`apiGet`/`apiPost` + `endpoints`);
raw `fetch()` lives only inside that module. Callers own caching/abort/dedup.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied — scoped the rule to the anyplot backend and documented the external-API exception (useLatestRelease).

Comment thread app/ARCHITECTURE.md
Comment on lines +45 to +47
- **URLs** never appear as string literals in components — use `paths.*` from
`src/routes/paths` (static routes, `paths.plotsFiltered(param, value)`,
`paths.spec(specId, language, library)`).

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied in code rather than softening the doc — MastheadRule breadcrumbs, the routes redirect, and SpecPage pageview tracking now use specPath; no route string literals remain in components.

…pen docs

Copilot review findings on the architecture doc — three doc/reality gaps
closed by precision wording (src-internal import rule, lib/api scope incl.
the external GitHub-API exception, CI-vs-Cloud-Build gate split) and one by
code: MastheadRule breadcrumbs, the routes redirect, and SpecPage pageview
tracking now build spec URLs via specPath instead of template literals.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@MarkusNeusinger MarkusNeusinger enabled auto-merge (squash) June 10, 2026 04:06
Copilot AI review requested due to automatic review settings June 10, 2026 04:07
@MarkusNeusinger MarkusNeusinger review requested due to automatic review settings June 10, 2026 04:07
Copilot AI review requested due to automatic review settings June 10, 2026 04:10
@MarkusNeusinger MarkusNeusinger review requested due to automatic review settings June 10, 2026 04:10
Copilot AI review requested due to automatic review settings June 10, 2026 04:11
@MarkusNeusinger MarkusNeusinger review requested due to automatic review settings June 10, 2026 04:11
Copilot AI review requested due to automatic review settings June 10, 2026 04:13
@MarkusNeusinger MarkusNeusinger review requested due to automatic review settings June 10, 2026 04:13
Copilot AI review requested due to automatic review settings June 10, 2026 04:15
@MarkusNeusinger MarkusNeusinger review requested due to automatic review settings June 10, 2026 04:15
Copilot AI review requested due to automatic review settings June 10, 2026 04:17
@MarkusNeusinger MarkusNeusinger review requested due to automatic review settings June 10, 2026 04:17
Copilot AI review requested due to automatic review settings June 10, 2026 04:18
@MarkusNeusinger MarkusNeusinger review requested due to automatic review settings June 10, 2026 04:18
Copilot AI review requested due to automatic review settings June 10, 2026 04:21
@MarkusNeusinger MarkusNeusinger review requested due to automatic review settings June 10, 2026 04:21
Copilot AI review requested due to automatic review settings June 10, 2026 04:24
@MarkusNeusinger MarkusNeusinger review requested due to automatic review settings June 10, 2026 04:24
@MarkusNeusinger MarkusNeusinger merged commit cd08597 into main Jun 10, 2026
7 checks passed
@MarkusNeusinger MarkusNeusinger deleted the docs/frontend-architecture branch June 10, 2026 04:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants