Harness Intelligence Wiki
SpecsCLIScaffold Lint Config Baseline

Scaffold Lint Config Baseline Implementation Notes

Scaffold Lint Config Baseline Implementation Notes

Execution mode

sequential

Progress

TaskStatusNotes
T1CompleteReact pack now uses Ultracite React plus the unnecessary-effect overlay.
T2CompleteScaffold now creates package/app oxlint.config.ts files from Ultracite presets.
T3CompleteScaffold patches nearest package devDependencies for oxlint, ultracite, and overlays.
T4CompleteHook now runs Oxlint without forcing root config.
T5CompleteRoot docs, routed project docs, hook concept page, and scaffold handoff copy updated.

Sanity checks

CommandResultNotes
bun run --cwd apps/cli test data/hooks.test.ts content/content.test.ts scaffold/run.test.tsPassed30 focused tests passed.
bun run check-types --filter=@punks/cliPassedCLI and dependency type checks passed.
bun run check --filter=@punks/cliPassedFirst run found formatting only in new spec files; after formatting, full filtered check passed.
bun run --cwd apps/cli test scaffold/run.test.ts -t "package-scoped Oxlint|merges package Oxlint"PassedUltracite config creation and JSONC merge tests passed after the preset pivot.

Acceptance audit

CriterionStatusEvidence
React pack output includes Ultracite React and valid unnecessary-effect rules.MetCatalog selects ultracite/oxlint/react and the valid unnecessary-effect JS plugin rules; invalid no-empty-effect absent.
Scaffold writes a complete Oxlint config when no closest config exists.MetrunScaffold test creates apps/web/oxlint.config.ts for a React workspace.
Scaffold patches the closest Oxlint config and dependencies when missing.MetMerge test carries forward existing JSONC local rules and inserts missing overlays/dependencies.
Existing configs keep unrelated local values.MetMerge test preserves local/existing-rule and pre-existing plugin versions.
The neutral hook lets Oxlint resolve nearest config.MetHook command now runs oxlint <file> through the repo package manager.
Lint metadata and docs describe applied config output.MetSelection JSON includes applied config summaries; docs and handoff copy updated.
Tests cover catalog, config, dependency, and hook behavior.MetFocused tests cover hook command, config creation, config merge, dependency insertion, and invalid rule absence.

Manual Review Checklist

AreaCheckHow to performExpected result
Scaffold React workspaceVerify generated lint baseline.Run bun run --cwd apps/cli test scaffold/run.test.ts or inspect a fresh React scaffold output.React package has oxlint.config.ts with Ultracite React/effect overlay rules and package devDependencies include required lint packages.
Hook behaviorVerify nearest config lookup.Run bun run --cwd apps/cli test data/hooks.test.ts.Oxlint command has no -c .oxlintrc.json argument.
DocsReview scaffold docs.Read docs/reference/dp-requirements.md and docs/runbooks/dp-cli-scaffolding.md.Docs describe nearest config application, dependency patching, and Ruff future model.

Remaining work

None.

On this page