Imported from ACAne0320/acane.dev (
AGENTS.md). Install upstream withnpx skills add ACAne0320/acane.dev. Copyright stays with the author.
Prototype Instructions
Run the local server yourself and open the preview in the browser available to this environment. Do not give the user server-start instructions when you can run it.
Before making substantial visual changes, use the Product Design plugin's get-context skill when the visual source is unclear or no longer matches the current goal. When the user gives durable prototype-specific design feedback, preferences, or decisions, record them in AGENTS.md.
When implementing from a selected generated mock, treat that image as the source of truth for layout, component anatomy, density, spacing, color, typography, visible content, and hierarchy.
Durable prototype decisions
- The entire experience is a full-viewport terminal. Do not add a top navigation bar, sidebar, cards, buttons, or a GUI fallback inside the primary experience.
- All portfolio navigation happens through typed commands and terminal output.
- Use the user's actual terminal font:
Maple Mono NF CN, with a 14px desktop baseline. - Preserve the user's calm TUI styling: Catppuccin-like deep blue-black background, cool light text, and restrained pastel accents.
- Do not reproduce the user's Starship prompt segments; use a minimal
shino@portfolio:~$prompt. - Core behavior must include command and argument Tab completion, arrow-key history,
Ctrl+L, localized help/errors/content, andlang en-US|zh-CN. - Keep personal content out of React source files. About, prompt identity, contact details, and projects load from
public/content/portfolio.json. - Blog posts live in
content/blog/<slug>/<locale>.md; the blog index and completion paths must derive from that directory. Render Markdown as React elements from lexer tokens and never inject generated HTML. - A new Chinese post may be published as one file at
content/blog/<slug>.md. Translations remain optional incontent/blog/<slug>/<locale>.md. - Keep the app deployable as a static Vite site on Vercel and Cloudflare Workers. Do not introduce a required server runtime, filesystem API, database, or server-side Markdown rendering.
- The webfont ships as unicode-range woff2 chunks under
public/fonts/maple-mono-nf-cn/(generated bynpm run fonts:splitfrom the gitignoredfont-source/MapleMono-NF-CN-Regular.ttf; download the TTF from the Maple Mono NF CN releases). Never commit or ship the full TTF inpublic/. vite buildis followed bynode scripts/prerender-blog.mjs, which emits static article pages atdist/blog/<slug>/(plus<locale>/variants) anddist/sitemap.xml. Keeppublic/_headersandvercel.jsonheaders in sync when changing CSP or caching rules.- Use the selected modular terminal-cat icon: an open cat silhouette assembled from deep-aubergine strokes on warm ivory, with orange
>and_eyes and no nose or mouth.