@deslop/coding-standards
v0.1.913
Published
A strict Oxlint preset and an installer for the engineering, design and testing agent skills. Requires Node 26+.
Readme
Coding standards
A strict Oxlint preset and an installer for the engineering, design and testing agent skills. Requires Node 26+.
Install the skills
Run inside a Git repository, including a linked worktree:
vpx @deslop/coding-standards@latestIt copies the three skills into the repository's existing .agents, .claude and .codex directories. It always writes .claude, which Claude Code reads, and writes .agents when no .codex exists. A refresh replaces only those three skills, and destinations outside the repository or inside global agent configuration are rejected. Nothing is added to the manifest, lockfile or lint configuration. Installed copies are read-only; refresh them with the CLI.
Use the lint preset
vp add -D @deslop/coding-standards @effect/tsgo
vp exec effect-tsgo patch --no-typescript --oxlintimport {defineConfig} from 'vite-plus'
import {oxlint} from '@deslop/coding-standards'
export default defineConfig({lint: {extends: [oxlint]}})The preset needs Effect-tsgo's patched Oxlint, so keep the patch command in the project's prepare script.
Decisions
| Owner | Decision |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| src/ | Flat package structure; rules in src/rules, no separate plugin or install-test harness |
| skills/ | Maintained engineering, design and testing sources; refresh repository copies from the TypeScript CLI, no build needed |
| Lint rules | Prefer an equivalent maintained rule before custom enforcement; consumer code conforms to strict standards, not the reverse. Fix broken or imprecise rules, not inconvenient valid diagnostics. A rule targets code the engineering skill and the other rules allow; an edge case that only unusual code reaches takes an inline disable with its reason, never a looser rule |
| Rule proof | Existing public CLI regression cases, with accepted and rejected controls; no severity or exclusion workaround |
With workspace dependencies installed, from the repository root:
vp test run tools/coding-standards/src/rules/rules.test.ts
node tools/coding-standards/src/install.tsRejected shortcuts
| Candidate | Reason |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Blanket unknown type ban | Opaque SDK and framework contracts legitimately need it; narrow or decode before use instead of fabricating a shape |
| Functional preset or dependency just to replace no-let | The preset conflicts; a selective plugin adds dependencies for a tiny rule |
| Syntax-only generator-failure rule | Factory-call syntax does not establish yieldability; the existing type-aware Effect rule owns that check |
Skill sources
| Source | Used and boundary | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Matt Pocock's engineering skills | Caller-first contracts, causal debugging and one uncertain behavior at a time; no universal TDD | | Cursor / pstack | Interface rationale, focused bug replay and defensible benchmarks; no playbook-stage machinery | | Kit Langton's Effect skill | Schema construction/optionality, checked against actual Effect 4 source | | Vercel's agent skills | Independent I/O and narrow subscriptions, translated to Effect/atoms; no manual React memoization | | Anthropic frontend-design, Taste Skill, Vercel design guidelines | Task-led composition and copy in both modes; creative mode adapts Anthropic's studio stance, grounding and generated-default list; no plugin bundle or fixed aesthetic bans | | Emil Kowalski's skills | Realistic layout stress, interruptible motion and mobile checks; no fixed variant picker or audit fan-out. Performance caveats checked against Motion docs | | Dillon Mulroy's skills and anti-slop | Reviewed Effect/error and cleanup approaches; retain our own service layout and ownership | | Awesome DESIGN.md and Impeccable | Impeccable's concept comparison and screenshot critique shaped creative mode; community brand analyses are inspiration, not authoritative or current tokens |
These are selectively adapted ideas, not imported frameworks. Concrete behavior, existing stack and settled user decisions govern the maintained skills.
