Files
mp-silma-ai-aide/AGENTS.md
T
2026-07-17 14:33:11 -05:00

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.md before doing Chrome extension loading, reloading, testing, browser automation, or profile-dependent work.
  • Keep AGENTS.md, llm.txt, manifest.llm.json, README.md, and docs/extension-management.md in 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 example http://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.ts emits dist/manifest.json during production builds.
  • dist/ is the deployable output directory. Deployment or Chrome load-unpacked flows should point directly at dist/.
  • dist/ is generated output and should not be edited directly.
  • npm run build runs scripts/verify-dist.mjs after 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 Silma for this project.
  • Do not use Chrome Profile 1 for this project.
  • Load or reload the unpacked extension from dist/ only after running npm run build.

Gitea Workflows

  • .gitea/workflows/build.yml builds the deployable extension on pushes to main and pull requests.
  • .gitea/workflows/issue-opened-placeholder.yml runs when a new issue is opened and prints 200 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 build before handing off code changes.