musememory 3.0.0 โ 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/artifacts/audit-and-realigned-roadmap-20261015.md +3 -3
- package/.agents/context/current.md +58 -2
- package/.agents/context/deep-research-agentic-memory-evolution.md +1 -1
- package/.agents/context/index.md +43 -3
- package/.agents/context/product.md +139 -73
- package/.agents/context/roadmap.md +8 -0
- package/.agents/research/research-brief-agent-memory-migrator.md +1 -1
- package/.agents/standards/README.md +42 -0
- package/.agents/standards/frontend-astro.md +111 -29
- package/README.md +208 -242
- package/claims.json +15 -0
- package/dist/index.js +296 -110
- package/docs/agent-reference.md +199 -0
- package/docs/cli-reference.md +263 -0
- package/docs/mcp-tool-matrix.json +121 -0
- package/package.json +11 -1
- package/schema.json +1 -0
|
@@ -1,50 +1,132 @@
|
|
|
1
1
|
# ๐ Astro Frontend Engineering Standards
|
|
2
2
|
|
|
3
|
-
> **Runtime Target**: Astro v7.
|
|
3
|
+
> **Runtime Target**: Astro v7.3.x ยท Bun / Node runtime ยท TypeScript Strict
|
|
4
|
+
> **Applies to**: `apps/website/` โ the Muse Memory marketing and documentation site.
|
|
4
5
|
|
|
5
6
|
---
|
|
6
7
|
|
|
7
|
-
## 1.
|
|
8
|
+
## 1. Project Shape (verified against this repo)
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
| Fact | Value | Source of truth |
|
|
11
|
+
| :--- | :--- | :--- |
|
|
12
|
+
| Framework | Astro `^7.3.5` | `apps/website/package.json` |
|
|
13
|
+
| Output | `static` (no SSR adapter) | `apps/website/astro.config.mjs` |
|
|
14
|
+
| Base path | `/musememory` (GitHub Pages) | `apps/website/astro.config.mjs` |
|
|
15
|
+
| Site origin | `https://harshsinghmp.github.io` | `apps/website/astro.config.mjs` |
|
|
16
|
+
| Styling | Plain CSS with design tokens (no Tailwind, no UnoCSS) | `apps/website/src/styles/global.css` |
|
|
17
|
+
| Motion | CSS keyframes + one inlined `IntersectionObserver` script | `apps/website/src/scripts/motion.ts` |
|
|
18
|
+
| Tests | `bun test` (axe-core + Playwright audits) | `apps/website/scripts/audit-*.ts` |
|
|
16
19
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
> The generic Astro standard assumes `@astrojs/cloudflare`, Tailwind v4 and
|
|
21
|
+
> Motion.dev. **This project does not use them.** Do not introduce an SSR
|
|
22
|
+
> adapter, a utility CSS framework, or a JS animation runtime to solve a
|
|
23
|
+
> problem the current stack already solves.
|
|
21
24
|
|
|
22
25
|
---
|
|
23
26
|
|
|
24
|
-
## 2.
|
|
27
|
+
## 2. Architectural Conventions
|
|
25
28
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
### Static by default
|
|
30
|
+
Every page renders to static HTML at build time. There is no client framework
|
|
31
|
+
and no hydration directive (`client:load` and friends are not used โ the site
|
|
32
|
+
ships zero framework JS). Interactive behaviour is progressive enhancement:
|
|
33
|
+
the navigation menu is a `<details>` element, the FAQ is `<details>`, the
|
|
34
|
+
reveal animation is CSS plus one observer.
|
|
35
|
+
|
|
36
|
+
### The base path is not optional
|
|
37
|
+
The site is served from `/musememory/`. **Every** internal URL must be built
|
|
38
|
+
from `import.meta.env.BASE_URL` or it will resolve on the domain root and
|
|
39
|
+
404. A root-absolute `/favicon.svg` is a bug, not a style choice.
|
|
40
|
+
|
|
41
|
+
```astro
|
|
42
|
+
<a href={`${import.meta.env.BASE_URL}/docs`}>Docs</a>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Shared components, not copied markup
|
|
46
|
+
Navigation, footer and the logo live in `src/components/`. They were
|
|
47
|
+
copy-pasted per page and had already drifted (the 404 page had no nav at
|
|
48
|
+
all). If a page needs a nav variant, add a prop โ do not fork the component.
|
|
49
|
+
|
|
50
|
+
### The published numbers are generated
|
|
51
|
+
`claims.json` (repository root) holds every countable claim, generated from
|
|
52
|
+
`src/` by `scripts/generate-claims.ts`. The site imports it:
|
|
53
|
+
|
|
54
|
+
```astro
|
|
55
|
+
import claims from "../../../../claims.json";
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Never hand-type a count, a tool total or a test count into a page. A test
|
|
59
|
+
(`test/marketing_claims.test.ts`) fails the build if the prose and the code
|
|
60
|
+
disagree.
|
|
61
|
+
|
|
62
|
+
### Content collections
|
|
63
|
+
`src/content/` does not exist in this project. If it is ever introduced, every
|
|
64
|
+
collection must define a strict schema and validate at the collection
|
|
65
|
+
boundary.
|
|
29
66
|
|
|
30
67
|
---
|
|
31
68
|
|
|
32
|
-
## 3.
|
|
69
|
+
## 3. Styling & Motion Standards
|
|
33
70
|
|
|
34
|
-
- **
|
|
35
|
-
|
|
36
|
-
- **
|
|
37
|
-
|
|
71
|
+
- **Tokens only**: consume the CSS custom properties in `global.css` or the
|
|
72
|
+
JSON in `./.agents/brand/tokens/`. Never introduce an arbitrary hex code.
|
|
73
|
+
- **Text colour is restricted**: only `--text`, `--text-dim` and `--text-faint`
|
|
74
|
+
may carry text. The depth palette (`--plasma`, `--indigo`, `--edge-*`) is
|
|
75
|
+
decorative and has no contrast obligation. Every text token is audited
|
|
76
|
+
against WCAG 2.2 AA by `scripts/audit-a11y.ts`.
|
|
77
|
+
- **Class naming**: BEM per `./.agents/brand/bem-conventions.md`.
|
|
78
|
+
- **Animations** must respect `@media (prefers-reduced-motion: reduce)`.
|
|
79
|
+
- **The reveal contract**: an element that is on screen must be visible. The
|
|
80
|
+
`IntersectionObserver` uses `threshold: 0` and `rootMargin: "0px"` so the
|
|
81
|
+
trigger boundary is exactly the viewport. A ratio threshold silently
|
|
82
|
+
strands any `.reveal` taller than the viewport.
|
|
83
|
+
- **`transform` is owned by one rule**: `.reveal` and `.tilt` both write
|
|
84
|
+
`transform`, so they must be composed in a single declaration. Never split
|
|
85
|
+
them across two selectors.
|
|
38
86
|
|
|
39
87
|
---
|
|
40
88
|
|
|
41
|
-
## 4.
|
|
89
|
+
## 4. Testing & Code Quality
|
|
42
90
|
|
|
91
|
+
- **Accessibility gate**: `bun run --cwd apps/website scripts/audit-a11y.ts`
|
|
92
|
+
โ axe-core on every page (zero critical/serious) plus a computed-contrast
|
|
93
|
+
check of every token pair.
|
|
94
|
+
- **Visual gate**: `bun run --cwd apps/website scripts/audit-visual.ts` โ
|
|
95
|
+
375 / 768 / 1280 viewports on every page: horizontal overflow, console
|
|
96
|
+
errors, the reveal runtime, and the nav CTA.
|
|
97
|
+
- **No network in tests**: mock at the `fetch` boundary.
|
|
98
|
+
- **Type strictness**: no `any` and no `as unknown as T`. Fix the interface.
|
|
99
|
+
- **No `console.log`** in committed code.
|
|
100
|
+
|
|
101
|
+
### Assets are generated, never hand-edited
|
|
43
102
|
```bash
|
|
44
|
-
bun
|
|
45
|
-
bun
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
103
|
+
bun run --cwd apps/website brand # favicon, OG card, twitter card, banner
|
|
104
|
+
bun run --cwd apps/website build # astro build + llms.txt / llms-full.txt
|
|
105
|
+
```
|
|
106
|
+
Brand PNGs are rasterised from SVG with resvg using the fonts already vendored
|
|
107
|
+
in `showreel-hf/assets/fonts`, so the output is deterministic and needs no
|
|
108
|
+
browser download. `llms.txt` and `llms-full.txt` are generated from the built
|
|
109
|
+
HTML, so the agent-readable layer cannot drift from the site.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 5. Standard Commands
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# From the repository root
|
|
117
|
+
bun run site:dev # astro dev
|
|
118
|
+
bun run site:build # astro build + llms.txt / llms-full.txt
|
|
119
|
+
bun run site:preview # preview the built site
|
|
120
|
+
|
|
121
|
+
# From apps/website
|
|
122
|
+
bun run dev # astro dev
|
|
123
|
+
bun run build # astro build && build-llms-txt.ts
|
|
124
|
+
bun run brand # regenerate brand assets
|
|
125
|
+
bun run llms # regenerate the agent-readable text layer
|
|
126
|
+
|
|
127
|
+
# Quality gates
|
|
128
|
+
bun run --cwd apps/website scripts/audit-a11y.ts
|
|
129
|
+
bun run --cwd apps/website scripts/audit-visual.ts
|
|
130
|
+
bun test # the whole repository suite
|
|
131
|
+
bunx tsc --noEmit # type check
|
|
50
132
|
```
|