38 lines
1.9 KiB
Markdown
38 lines
1.9 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/`.
|
|
|
|
`src/` is flat, so `package.json` has no `imports` aliases and modules, tests,
|
|
and `scripts/` import each other relatively. If one is ever added, it may point
|
|
only at a direct subfolder of `src/` (its `index.ts`, or a `#x/*` pattern
|
|
inside it); never at `src/` itself, a deeper folder, or anything outside `src/`.
|
|
`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.
|