9f13c0a23a
- docs: move server docs to docs/server/ and update all cross-references - docs: move web-roadmap.md to docs/web/roadmap.md and create docs/web/decisions.md - docs: update AGENTS.md with separate Server and Web sections
20 lines
1.3 KiB
Markdown
20 lines
1.3 KiB
Markdown
# Technical Decisions
|
|
|
|
## 2026-07-14: Client-rendered Web Foundation
|
|
|
|
**Context**: MyGO needs a browser client now and native clients later. The Web application must share the versioned REST API instead of introducing browser-only server logic.
|
|
|
|
**Decisions**:
|
|
|
|
| Area | Choice | Guidance |
|
|
|------|--------|----------|
|
|
| Rendering | Pure client-side rendered SPA | Vite emits static assets; do not introduce SSR, React Server Components, or a Node API server. |
|
|
| Application stack | React, strict TypeScript, React Router, and TanStack Query | Keep routing and remote-data state explicit and client-side. |
|
|
| UI system | Ant Design plus Tailwind CSS 4 | Ant Design owns reusable controls and theme tokens; Tailwind initially owns layout, spacing, and responsive utilities. |
|
|
| Dependency policy | Install capabilities when their feature starts | Keep API generation, transfer, virtualization, drag-and-drop, test, and preview libraries deferred in `docs/web/roadmap.md`. |
|
|
|
|
**Consequences**:
|
|
- The Web and future native clients consume the same client-neutral API contracts.
|
|
- MyGO or a reverse proxy may host `web/dist` with an SPA fallback without changing the rendering model.
|
|
- MyGO domain components own file-browser behavior and must not depend on Ant Design request behavior for business logic.
|