8c6e8e4986
Fully rename the ultragoal component to ulw-loop so the identifier matches the ulw-loop skill it powers. Renames the component directory, nested skill, TS identifiers (UlwLoop / ULW_LOOP_* / ulwLoop*), the omo ulw-loop CLI subcommand, the .omo/ulw-loop state directory, the OMO_ULW_LOOP_STEER directive token, and the @code-yeongyu/codex-ulw-loop package. Also threads Atlas-style right-sized parallel worker delegation and a Prometheus-style QA + maximum-parallelism plan into the ulw-loop skill, with a critical post-subagent QA gate. Updates aggregate wiring (plugin package components, hooks.json, sync-skills), the install-codex agent-link test fixture, and user docs.
1.3 KiB
1.3 KiB
Repository Conventions
Conventions for human contributors and AI agents working on this repository.
Stack
- Node >=20 runtime.
- npm package manager.
- TypeScript 6 strict mode.
- Biome 2 linting and formatting.
- Vitest 4 test runner.
Forbidden
- No
as anyoras unknown. - No
@ts-ignoreor@ts-expect-error. - No enums.
- No non-null assertions.
- No default exports.
vitest.config.tsis exempt because the framework requires that shape.
File Ceiling
- Keep each
src/TypeScript file under 250 pure LOC. - Split by responsibility before a file reaches the ceiling.
Test Discipline
- Use Vitest with nested
describenames in#given,#when, and#thenform, or inline// given,// when, and// thencomments. - Never use Arrange-Act-Assert comments.
- Keep fixtures in
test/fixtures/.
Commit Style
- Use Conventional Commits.
- Keep commits atomic.
- Each commit's tests and build must pass on its own.
Branding
- Repo artifacts live under
.omo/ulw-loop/paths. - Environment variables use the
OMO_ULW_LOOP_*prefix. - CLI commands use the
omo ulw-loopform. - Do not use any alternate legacy CLI alias anywhere.
Build and Hooks
- Build output goes to
dist/. hooks/hooks.jsonrunsnode ${PLUGIN_ROOT}/dist/cli.js hook user-prompt-submit.