@heyramzi/lint 0.0.0-stage → 1.32.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +277 -2
  3. package/bin/heyramzi-comment-length.js +99 -0
  4. package/bin/heyramzi-commit-msg.js +31 -0
  5. package/bin/heyramzi-file-tokens.js +66 -0
  6. package/bin/heyramzi-inline-path.js +79 -0
  7. package/bin/heyramzi-jev-code.js +107 -0
  8. package/bin/heyramzi-push-diff.js +93 -0
  9. package/bin/heyramzi-repo-rules.js +70 -0
  10. package/bin/heyramzi-slop.js +314 -0
  11. package/bin/heyramzi-svelte-markup.js +50 -0
  12. package/bin/heyramzi-ui-rules.js +56 -0
  13. package/comment-length.js +368 -0
  14. package/commit-msg.js +57 -0
  15. package/config/oxlintrc.json +87 -0
  16. package/data/invisibles.js +218 -0
  17. package/data/jev-bench.js +115 -0
  18. package/data/jev-code-bench.js +313 -0
  19. package/data/slop-words.d.ts +64 -0
  20. package/data/slop-words.js +2681 -0
  21. package/file-tokens.js +122 -0
  22. package/gate-files.js +14 -0
  23. package/index.js +116 -0
  24. package/inline-path.js +90 -0
  25. package/jev-code.js +194 -0
  26. package/jev.js +341 -0
  27. package/package.json +81 -4
  28. package/processors/markdown.js +22 -0
  29. package/push-diff.js +55 -0
  30. package/register.d.ts +43 -0
  31. package/register.js +255 -0
  32. package/repo-rules/packages.js +164 -0
  33. package/repo-rules/paths.js +101 -0
  34. package/repo-rules/toolchain.js +172 -0
  35. package/repo-rules/tree.js +51 -0
  36. package/repo-rules/workflows.js +116 -0
  37. package/repo-rules.js +54 -0
  38. package/rules/convex-ast.js +66 -0
  39. package/rules/convex-index-name.js +40 -0
  40. package/rules/convex-internal-only.js +59 -0
  41. package/rules/convex-no-date-now-in-query.js +48 -0
  42. package/rules/convex-no-deprecated-crons.js +40 -0
  43. package/rules/convex-no-filter.js +41 -0
  44. package/rules/convex-no-get-metadata.js +26 -0
  45. package/rules/convex-no-v-any.js +24 -0
  46. package/rules/convex-react-client-module-scope.js +37 -0
  47. package/rules/convex-require-args.js +39 -0
  48. package/rules/convex-require-returns.js +31 -0
  49. package/rules/convex-runtime-imports.js +48 -0
  50. package/rules/max-function-lines.js +105 -0
  51. package/rules/max-object-methods.js +86 -0
  52. package/rules/no-ai-words.js +78 -0
  53. package/rules/no-app-stores.js +25 -0
  54. package/rules/no-chained-type-assertions.js +91 -0
  55. package/rules/no-class.js +47 -0
  56. package/rules/no-conditional-empty-object-spread.js +64 -0
  57. package/rules/no-deep-phosphor-imports.js +29 -0
  58. package/rules/no-default-export.js +70 -0
  59. package/rules/no-em-dash.js +198 -0
  60. package/rules/no-emoji.js +56 -0
  61. package/rules/no-hardcoded-models.js +63 -0
  62. package/rules/no-inline-path.js +46 -0
  63. package/rules/no-inline-svg.js +67 -0
  64. package/rules/no-known-value-widening.js +289 -0
  65. package/rules/no-legacy-compat.js +35 -0
  66. package/rules/no-overkill-fallback.js +77 -0
  67. package/rules/no-raw-try-catch.js +26 -0
  68. package/rules/no-redundant-prop-fallback.js +153 -0
  69. package/rules/no-relative-imports.js +213 -0
  70. package/rules/no-relative-type-imports.js +40 -0
  71. package/rules/no-rune-outside-svelte-file.js +56 -0
  72. package/rules/no-rune-shadowing-binding.js +85 -0
  73. package/rules/no-skipped-or-focused-tests.js +74 -0
  74. package/rules/no-snake-case-props.js +45 -0
  75. package/rules/no-svelte4-syntax.js +33 -0
  76. package/rules/no-vitest-import-in-vite-plus.js +64 -0
  77. package/rules/props-interface.js +44 -0
  78. package/rules/redirect-external-needs-option.js +45 -0
  79. package/rules/require-safety-comment-for-type-assertion.js +110 -0
  80. package/rules/svelte-section-order.js +115 -0
  81. package/rules/test-file.js +8 -0
  82. package/scripts/count-hits.mjs +213 -0
  83. package/scripts/harvest-voice.mjs +161 -0
  84. package/scripts/jev-bench.mjs +41 -0
  85. package/scripts/jev-code-bench.mjs +61 -0
  86. package/scripts/measure-register.mjs +61 -0
  87. package/slop-views.js +122 -0
  88. package/slop.d.ts +53 -0
  89. package/slop.js +534 -0
  90. package/svelte-markup.js +107 -0
  91. package/svelte-template.js +258 -0
  92. package/ui-rules.js +324 -0
@@ -0,0 +1,64 @@
1
+ export declare const wordsEn: readonly string[];
2
+ export declare const wordsFr: readonly string[];
3
+ export declare const words: readonly string[];
4
+ export declare const phrasesEn: readonly string[];
5
+ export declare const phrasesFr: readonly string[];
6
+ export declare const phrases: readonly string[];
7
+
8
+ export type SlopShape = {
9
+ /** Stable kebab-case id, safe to reference from a rule or a doc. */
10
+ id: string;
11
+ /** Short human name, used as the label in prompts and prose. */
12
+ name: string;
13
+ /** What the shape is and what to do instead. */
14
+ rule: string;
15
+ /** The shape written out so a model has something to match against. */
16
+ example: string;
17
+ };
18
+
19
+ /**
20
+ * Sentence shapes no word list can catch, so they are not linted. Shared by every
21
+ * prompt and by `slopGate`.
22
+ */
23
+ export declare const shapes: readonly SlopShape[];
24
+
25
+ export type SlopPattern = {
26
+ /** Stable kebab-case id, safe to reference from a rule, a doc or a finding. */
27
+ id: string;
28
+ /** Short human name, used as the label in prompts, prose and lint findings. */
29
+ name: string;
30
+ /** The signature. A line matching it is rejected. */
31
+ test: RegExp;
32
+ /** What the pattern is and what to write instead. */
33
+ rule: string;
34
+ /** The pattern written out so a model has something to match against. */
35
+ example: string;
36
+ /** Which reading of the draft the regex judges. The whole draft by default. */
37
+ view?: "anchored" | "faqless";
38
+ };
39
+
40
+ /**
41
+ * The sentence shapes with a literal signature, so they are linted rather than
42
+ * left to a human read. Everything needing judgment stays in `shapes`.
43
+ */
44
+ export declare const patterns: readonly SlopPattern[];
45
+
46
+ /**
47
+ * Citation and control markup a chatbot leaks into its own output, one entry per
48
+ * tool. A hit is proof, not a judgement, so it needs no corpus check.
49
+ */
50
+ export declare const artifacts: readonly SlopPattern[];
51
+
52
+ /** The rules a title or heading fails that a sentence would not. */
53
+ export declare const titleTells: readonly { id: string; test: RegExp; rule: string }[];
54
+
55
+ /**
56
+ * Every ban rendered as one prompt block. Use it instead of retyping a list.
57
+ */
58
+ export declare function slopPromptBlock(): string;
59
+
60
+ /**
61
+ * A prompt a reader pastes into their own AI so it builds a slop cleaning skill,
62
+ * with every ban inline.
63
+ */
64
+ export declare function slopSkillPrompt(): string;