4.0 KiB
4.0 KiB
Agent Guide
AI collaboration entrypoint. Keep context small, preserve user changes, and route work to the narrowest project skill.
Modules
- Root:
pnpmworkspace orchestration, validation, release scripts. - Website:
website/Astro routes, layouts, flat feature components, client render runtime, docs pages, Playground, scoped styles. - Examples:
website/src/content/examples/paired example metadata andRenderRuntimerunners. - Renderer:
packages/renderer/source and generated package output. - Scripts:
scripts/submodule prep, renderer build/clean, EGS types, API docs. - Docs:
README.md,docs/, manual pages, manual assets, AI collaboration guidance. - External:
external/egs-coresubmodule andexternal/splat-transformworkspace package. - Skills:
.codex/skills/project-local collaboration rules.
Skill Routing
aholo-examples: example<slug>.jsonand<slug>.tspairs, includingwalk-demo, metadata schema, runner lifecycle.aholo-site: website shell, page chrome, client render runtime, Playground integration, route-local Monaco, scoped CSS.aholo-renderer: renderer source, public API, declarations, generated dist flow, package/release validation.aholo-docs: README, AGENTS, architecture notes, AI guides, manual copy, bilingual docs.frontend-design: visual direction, responsive UI polish, layout/design review.aholo-viewer: only for cross-module work, scripts, generated docs/build flow, cleanup boundaries, or validation routing.
Hard Boundaries
- Do not overwrite user changes. Start with
git status --short. - Keep edits inside the owning module unless the task explicitly spans modules.
- Do not hand-edit
external/egs-core,website/.generated/api/, orpackages/renderer/dist/. - Do not delete
external/splat-transform. - Do not change
packages/renderer/src/index.tsexports unless asked. - Do not compare the renderer to third-party engines or frameworks unless asked.
Website Boundaries
- Keep Monaco route-local through
website/src/components/PlaygroundShell.astro; keep Playground browser entry inwebsite/src/client/playground.ts. - Preserve Playground URL params:
exampleandcode. - Keep render runtime implementation in
website/src/client/render-runtime.tsand runner contract inwebsite/src/client/render-runtime.d.ts. - Keep examples paired as
website/src/content/examples/<slug>.jsonand<slug>.ts. - Keep
website/src/content.config.tsfocused on Astro content collections; manual pages usewebsite/src/utils/manual.ts. - Keep top-level feature components flat in
website/src/components/; keep only shared groups such asdocs/andsite/nested. - Keep style ownership clear:
theme.css,global.css,site.css,home.css,examples.css,docs.css,playground.css. - Keep feature selectors out of
global.css. - Homepage first-screen interactive stage must remain true fullscreen: fixed positioning,
inset: 0,100dvh/100vw, and renderer resize after state changes.
Collaboration
- Reply to the user in Chinese.
- Use PowerShell with
pnpm.cmdifpnpmorpnpm.ps1fails. - If port
4321is already in use, assume the user's dev server is running and use it directly. - Read
docs/architecture.mdonly for package boundaries, generated API docs, build flow, or directory structure. - Keep Chinese copy technical and concise. Keep English copy in SDK documentation style.
- For manual pages and UI translations, treat Chinese wording as the source of truth.
- Use actual public renderer exports in docs and examples.
- End handoffs with changed files, validation, skipped checks, and risks.
Validation
- Website/layout/manual/example runtime:
pnpm.cmd check:website. - Content-only example metadata:
pnpm.cmd check:content. - Renderer/API/release work:
pnpm.cmd check. - Package/release changes:
pnpm.cmd build. - Docs-only repo notes: path/reference scan is enough unless imported by the site.
- If esbuild reports
Cannot read directory "../../../..", rerun the same command with approved workspace access.