|
1 | 1 | # Eclipse Timer Documentation |
2 | 2 |
|
3 | | -This folder contains the project documentation for the `eclipse-timer` monorepo. |
| 3 | +This folder contains comprehensive documentation for the Eclipse Timer project—a monorepo for calculating and visualizing eclipse circumstances. |
| 4 | + |
| 5 | +## Quick Start |
| 6 | + |
| 7 | +**New to the project?** Start here: |
| 8 | + |
| 9 | +1. [Setup and Development](guides/setup-and-development.md) – Install and configure your environment |
| 10 | +2. [System Overview](high-level/system-overview.md) – Understand the architecture |
| 11 | +3. [Contributing Guide](guides/contributing.md) – Learn how to make changes |
4 | 12 |
|
5 | 13 | ## Documentation Map |
6 | 14 |
|
7 | | -### Planning |
8 | | -- `documents/01-documentation-plan.md` |
9 | | -- `documents/CHANGELOG.md` |
10 | | -- `documents/in-app-alarm-rework-plan.md` |
11 | | -- `documents/release-plan-eas.md` |
12 | | -- `documents/self-hosted-macos-runner.md` |
13 | | -- `documents/wearable-companion-implementation-plan.md` |
14 | | - |
15 | | -### High-Level |
16 | | -- `documents/high-level/system-overview.md` |
17 | | - - Includes Mermaid component and sequence architecture diagrams. |
18 | | -- `documents/high-level/user-flow-and-product-behavior.md` |
19 | | -- `documents/high-level/development-workflow.md` |
20 | | -- `documents/high-level/wearable-companion-requirements.md` |
21 | | - |
22 | | -### Low-Level |
23 | | -- `documents/low-level/mobile-app-internals.md` |
24 | | -- `documents/low-level/engine-algorithm.md` |
25 | | -- `documents/low-level/data-contracts.md` |
26 | | -- `documents/low-level/wearable-companion-technical-design.md` |
27 | | - |
28 | | -## Reading Order |
29 | | -1. `documents/high-level/system-overview.md` |
30 | | -2. `documents/high-level/user-flow-and-product-behavior.md` |
31 | | -3. `documents/low-level/data-contracts.md` |
32 | | -4. `documents/low-level/engine-algorithm.md` |
33 | | -5. `documents/low-level/mobile-app-internals.md` |
34 | | -6. `documents/high-level/wearable-companion-requirements.md` |
35 | | -7. `documents/low-level/wearable-companion-technical-design.md` |
36 | | - |
37 | | -## Maintenance |
38 | | -- Update high-level docs when package boundaries, app behavior, or scripts change. |
39 | | -- Update low-level docs whenever equations, types, or state transitions change. |
40 | | -- Prefer linking to code paths as source of truth. |
| 15 | +### Guides (How-To) |
| 16 | +- [Setup and Development](guides/setup-and-development.md) – Installation, common commands, monorepo workflow |
| 17 | +- [Contributing Guide](guides/contributing.md) – Code style, testing, submission process |
| 18 | +- [Deployment Guide](guides/deployment.md) – Building for release, EAS, app store submission |
| 19 | +- [Troubleshooting Guide](guides/troubleshooting.md) – Common issues and solutions |
| 20 | +- [Performance Optimization](guides/performance-optimization.md) – Profiling, bottlenecks, and optimization |
| 21 | + |
| 22 | +### High-Level Documentation (Architecture & Behavior) |
| 23 | +- [System Overview](high-level/system-overview.md) – Monorepo structure, package boundaries, data flow |
| 24 | +- [User Flow and Product Behavior](high-level/user-flow-and-product-behavior.md) – User interactions, app states, screens |
| 25 | +- [Wearable Companion Requirements](high-level/wearable-companion-requirements.md) – Requirements and design for wearable integration |
| 26 | + |
| 27 | +### Low-Level Documentation (Implementation Details) |
| 28 | +- [Data Contracts](low-level/data-contracts.md) – TypeScript types, catalog schema, data structures |
| 29 | +- [Engine Algorithm](low-level/engine-algorithm.md) – Eclipse calculations, math, root solving |
| 30 | +- [Mobile App Internals](low-level/mobile-app-internals.md) – React state, handlers, UI integration |
| 31 | +- [Wearable Technical Design](low-level/wearable-companion-technical-design.md) – Implementation details for wearable |
| 32 | + |
| 33 | +### Planning & Tracking |
| 34 | +- [Documentation Plan](planning/01-documentation-plan.md) – Goals, standards, and maintenance triggers |
| 35 | +- [In-App Alarm Rework Plan](planning/in-app-alarm-rework-plan.md) – Alarm system redesign proposal |
| 36 | +- [Wearable Implementation Plan](planning/wearable-companion-implementation-plan.md) – Wearable rollout phases |
| 37 | +- [Release Plan (EAS)](planning/release-plan-eas.md) – EAS build and release strategy |
| 38 | +- [Self-Hosted macOS Runner](planning/self-hosted-macos-runner.md) – CI/CD setup for native builds |
| 39 | +- [Tech Debt](planning/tech-debt.md) – Known issues and improvement areas |
| 40 | + |
| 41 | +### Reference |
| 42 | +- [CHANGELOG](reference/CHANGELOG.md) – Release history and version notes |
| 43 | +- [Store Metadata](reference/store-metadata.md) – App store descriptions, screenshots, keywords |
| 44 | +- [Store Privacy Declarations](reference/store-privacy-declarations.md) – Privacy policy and data handling |
| 45 | +- [Testing Scenarios](reference/testing-scenarios.md) – QA test cases and edge cases |
| 46 | + |
| 47 | +## Reading Paths by Role |
| 48 | + |
| 49 | +### Product Owner / Project Manager |
| 50 | +1. [System Overview](high-level/system-overview.md) |
| 51 | +2. [User Flow and Product Behavior](high-level/user-flow-and-product-behavior.md) |
| 52 | +3. [Wearable Companion Requirements](high-level/wearable-companion-requirements.md) |
| 53 | +4. [Planning documents](planning/) as needed |
| 54 | + |
| 55 | +### Mobile App Developer |
| 56 | +1. [Setup and Development](guides/setup-and-development.md) |
| 57 | +2. [System Overview](high-level/system-overview.md) |
| 58 | +3. [User Flow and Product Behavior](high-level/user-flow-and-product-behavior.md) |
| 59 | +4. [Mobile App Internals](low-level/mobile-app-internals.md) |
| 60 | +5. [Data Contracts](low-level/data-contracts.md) |
| 61 | + |
| 62 | +### Engine / Math Developer |
| 63 | +1. [Setup and Development](guides/setup-and-development.md) |
| 64 | +2. [System Overview](high-level/system-overview.md) |
| 65 | +3. [Engine Algorithm](low-level/engine-algorithm.md) |
| 66 | +4. [Data Contracts](low-level/data-contracts.md) |
| 67 | + |
| 68 | +### Catalog / Data Developer |
| 69 | +1. [Setup and Development](guides/setup-and-development.md) |
| 70 | +2. [Data Contracts](low-level/data-contracts.md) |
| 71 | +3. [Store Metadata](reference/store-metadata.md) |
| 72 | + |
| 73 | +### QA / Tester |
| 74 | +1. [Testing Scenarios](reference/testing-scenarios.md) |
| 75 | +2. [Troubleshooting Guide](guides/troubleshooting.md) |
| 76 | +3. [Deployment Guide](guides/deployment.md) (for release testing) |
| 77 | + |
| 78 | +### Release Manager / DevOps |
| 79 | +1. [Deployment Guide](guides/deployment.md) |
| 80 | +2. [Release Plan (EAS)](planning/release-plan-eas.md) |
| 81 | +3. [Self-Hosted macOS Runner](planning/self-hosted-macos-runner.md) |
| 82 | + |
| 83 | +## Documentation Standards |
| 84 | + |
| 85 | +- **Units are explicit**: Always include units (`hours`, `seconds`, `degrees`, `meters`, `UTC`) |
| 86 | +- **Current behavior first**: Document what is, mark future or placeholder logic clearly |
| 87 | +- **Code is source of truth**: Include direct file/line references to code |
| 88 | +- **Examples are aligned**: Use `packages/catalog/src/catalog.sample.json` for examples |
| 89 | +- **Searchable**: Use clear headings and organization |
| 90 | + |
| 91 | +## When to Update Docs |
| 92 | + |
| 93 | +Update documentation whenever these change: |
| 94 | + |
| 95 | +- **Types**: `packages/shared/src/types.ts` |
| 96 | +- **Engine**: `packages/engine/src/circumstances/compute.ts`, `functions.ts` |
| 97 | +- **Mobile App**: `apps/mobile/src/App.tsx`, navigation, state management |
| 98 | +- **Setup**: Root `package.json` scripts, `pnpm-workspace.yaml`, or `.env` files |
| 99 | +- **User flows**: Major UI changes, new screens, or state transitions |
| 100 | + |
| 101 | +See [Documentation Plan](planning/01-documentation-plan.md) for more details. |
| 102 | + |
| 103 | +## Contributing to Docs |
| 104 | + |
| 105 | +1. Use Markdown formatting for clarity |
| 106 | +2. Link to related sections and external resources |
| 107 | +3. Include code examples where helpful |
| 108 | +4. Update the [Documentation Plan](planning/01-documentation-plan.md) if adding new docs |
| 109 | +5. Keep the main README synchronized |
| 110 | + |
| 111 | +--- |
| 112 | + |
| 113 | +**Have questions?** See [Troubleshooting Guide](guides/troubleshooting.md) or check relevant deep-dive documentation. |
0 commit comments