mirror of
https://github.com/Dvorinka/Dash.git
synced 2026-10-28 07:41:27 +00:00
Establishes the skeleton every later phase builds on: Go+Gin API with zap logging, /api/healthz, SQLite+goose runner; Vite+React18+TS strict+ Tailwind v4 frontend with bento-mono theme tokens; openapi.yaml driving a generated TS client; oxlint with vendored anti-slop rules; GitHub CI; multi-stage Dockerfile -> 33.6MB distroless image; docker compose up serves the blank board. Generated with [Devin](https://devin.ai) Authored By: TDvorak <[email protected]> Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
24 lines
1.1 KiB
TypeScript
24 lines
1.1 KiB
TypeScript
// Vendored from github.com/dmmulroy/anti-slop (MIT), trimmed to the adopted
|
|
// rule set in references/architecture.md. Do not add rules here without
|
|
// updating the adopted list.
|
|
import { eslintCompatPlugin } from "@oxlint/plugins";
|
|
|
|
import { noChainedTypeAssertionsRule } from "./rules/no-chained-type-assertions.ts";
|
|
import { noKnownValueWideningRule } from "./rules/no-known-value-widening.ts";
|
|
import { noUnsafeDictionaryTypeRule } from "./rules/no-unsafe-dictionary-type.ts";
|
|
import { noWidenThenAssertRule } from "./rules/no-widen-then-assert.ts";
|
|
import { requireSafetyCommentForTypeAssertionRule } from "./rules/require-safety-comment-for-type-assertion.ts";
|
|
|
|
const antiSlopPlugin = eslintCompatPlugin({
|
|
meta: { name: "anti-slop" },
|
|
rules: {
|
|
"no-chained-type-assertions": noChainedTypeAssertionsRule,
|
|
"no-known-value-widening": noKnownValueWideningRule,
|
|
"no-unsafe-dictionary-type": noUnsafeDictionaryTypeRule,
|
|
"no-widen-then-assert": noWidenThenAssertRule,
|
|
"require-safety-comment-for-type-assertion": requireSafetyCommentForTypeAssertionRule,
|
|
},
|
|
});
|
|
|
|
export default antiSlopPlugin;
|