Files
bot-agents/AGENTS.md
T
2026-10-17 14:45:52 +09:00

42 lines
2.2 KiB
Markdown

At the start of every new session, run `damem recall` in the terminal and treat
its output as the context for this repository. If the `damem` command is not
found, read [INSTALL.md](https://github.com/cunarist/damem/blob/main/INSTALL.md)
and follow it before reasoning or responding.
# Pull requests
Land every change through a pull request. Immediately after creating one,
comment `@bot` to request an AI-bot review. Wait for green CI and the bot's
approval on the current head before merging. Never merge without the user's
explicit permission.
# Runtime and checks
The action's TypeScript runs directly on the job image's Node.js (24.2 or
newer), which strips the types itself: there is no build step and no runtime
dependency. Keep the sources to erasable syntax and `.ts` imports, which
`tsconfig.json` enforces. Checks use Vite+: `vp check` formats, lints, and
type-checks, and `vp test` runs Vitest. Unit tests sit next to the code as
`src/*.test.ts`; repository-level tests live in `tests/`.
An alias in `package.json` `imports` owns its target: a folder's `index.ts`
owns that folder and everything below it, any other file owns only that file.
No file may be owned by 2 aliases. Outside an area, only the exact alias
reaches it (no deeper `#` specifier, no relative path); inside it, relative
imports of siblings and subfolders are free. `../` is banned in every file
(`import/no-relative-parent-imports`). The one alias is `#testing`
(`./src/testing.ts`): every test imports it by alias, and `tests/` reaches
`src/` only through it. Other `src/` files import `./` siblings freely.
`scripts/` is flat: one file per tool, no subfolders and no `index.ts`
(barrels live only in `src/`), imported directly by file path.
The only config files are `package.json`, `tsconfig.json`, and
`vite.config.ts`, plus `package-lock.json`. Repo-local lint rules and the rule
list live in `scripts/project-lint.ts`. Lint disable comments are not allowed;
fix the source instead.
The composite action uses npm only to install the externally distributed
Claude Code, Codex, and OpenCode command-line tools, plus Deno for agents that
check Deno-based repositories; do not treat those vendor executables as
repository TypeScript dependencies.