2.7 KiB
2.7 KiB
AGENTS.md
Project
mp-silma-ai-aide is a Vite + TypeScript Chrome extension scaffold. The built dist/ directory is intended to be loaded in Chrome as an unpacked Manifest V3 extension.
Required Reading
- Read
docs/extension-management.mdbefore doing Chrome extension loading, reloading, testing, browser automation, or profile-dependent work. - Keep
AGENTS.md,llm.txt,manifest.llm.json,README.md, anddocs/extension-management.mdin sync when commands, environment variables, deployable output, workflows, or extension-management rules change.
Commands
- Install dependencies:
npm ci - Codex setup:
npm run codex:setup - Run local Vite dev server:
npm run dev - Run app in Codex:
npm run dev:codex - Build extension:
npm run build - Build extension in Codex:
npm run build:codex - Preview build output:
npm run preview - Verify generated extension output:
npm run verify:dist
Environment
Configuration is read from Vite environment variables:
VITE_GITEA_BASE_URL: Base URL for the Gitea instance, for examplehttp://gitea.orson.tealthrone.VITE_GITEA_TOKEN: Gitea API token.VITE_GITEA_REPO_OWNER: Target Gitea owner. Default:jacob-mathison.VITE_GITEA_REPO_NAME: Target Gitea repository. Default:mp-silma-ai-aide.
Use .env.local for local secrets. Keep .env.local and any real token-bearing env files out of git. Update .env.example when adding new required variables.
Extension Build Notes
vite.config.tsemitsdist/manifest.jsonduring production builds.dist/is the deployable output directory. Deployment or Chrome load-unpacked flows should point directly atdist/.dist/is generated output and should not be edited directly.npm run buildrunsscripts/verify-dist.mjsafter Vite to ensure the generated output has the required extension files.- Host permissions are derived from
VITE_GITEA_BASE_URL. Rebuild after changing the base URL. - Runtime API calls are centralized in
src/api.ts. - Popup state is centralized in the vanilla Zustand store at
src/store.ts.
Chrome Extension Management
- Use the Codex Chrome extension with the Chrome profile named
Silmafor this project. - Do not use Chrome
Profile 1for this project. - Load or reload the unpacked extension from
dist/only after runningnpm run build.
Gitea Workflows
.gitea/workflows/build.ymlbuilds the deployable extension on pushes tomainand pull requests..gitea/workflows/issue-opened-placeholder.ymlruns when a new issue is opened and prints200 okay.
Coding Guidelines
- Keep the app TypeScript-first and strict.
- Prefer small, focused modules under
src/. - Do not commit secrets or generated build output.
- Run
npm run buildbefore handing off code changes.