taste-lint 0.0.11 → 0.2.0

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.
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  <div align="center">
2
2
 
3
- # Taste Lint
3
+ # [Taste Lint](https://blode.co/taste-lint)
4
4
 
5
5
  **Catch AI slop before you ship.**
6
6
 
7
- Scan your project with [Jev by TypeSafe AI](https://docs.typesafe.ai/introduction).
7
+ Design review on every commit, from the [Taste Training](https://blode.co/taste-training) and [Agent Skills](https://github.com/mblode/agent-skills) rules.
8
8
 
9
9
  <p align="center">
10
10
  <a href="https://www.npmjs.com/package/taste-lint"><img alt="npm version" src="https://img.shields.io/npm/v/taste-lint?style=flat&colorA=000000&colorB=000000" /></a>
@@ -19,36 +19,43 @@ Scan your project with [Jev by TypeSafe AI](https://docs.typesafe.ai/introductio
19
19
  npx taste-lint@latest init
20
20
  ```
21
21
 
22
- Requires Node 24.11 or later. Run it from your project directory. Init installs locally and adds a scan script.
22
+ Node 24.11+. Init adds a `taste` script that runs `taste-lint lint --profile product`.
23
23
 
24
24
  ## Quickstart
25
25
 
26
- Create a [Vercel AI Gateway key](https://vercel.com/docs/ai-gateway/authentication-and-byok/api-keys). Then:
26
+ ```bash
27
+ npm run taste -- --dry-run
28
+ ```
29
+
30
+ No key, no account. The mechanical checks run and fail the build on what they find.
31
+
32
+ To add the Jev review notes, get a [Vercel AI Gateway key](https://vercel.com/docs/ai-gateway/authentication-and-byok/api-keys):
27
33
 
28
34
  ```bash
29
35
  export AI_GATEWAY_API_KEY="your-vercel-ai-gateway-key"
30
36
  npm run taste
31
37
  ```
32
38
 
33
- No taste-lint account or config. AI checks send selected text and rule context to Vercel AI Gateway, billed to your account. Repeat runs reuse cached answers.
34
-
35
- Use your package manager in place of npm. Pass `--agent` to init for agent instructions, or `--dry-run` to preview setup.
39
+ Checks bill your key and cache between runs. `--dry-run` previews the cost first.
36
40
 
37
41
  ## What it checks
38
42
 
39
- - **Product interfaces:** error recovery, empty states, confirmation labels, unsupported claims, and broad CSS transitions.
40
- - **Writing:** Markdown, MDX, and READMEs with `--profile writing`.
41
- - **Agent instructions:** AGENTS.md and skills with `--profile instructions`.
43
+ - **Motion:** `transition-all`, ease-in, linear easing, transitions over 300ms, entrances from scale zero.
44
+ - **Copy:** “click here” links, “successfully” toasts, emoji in UI, Latinisms, nominalisations, anthropomorphism, sentences over 25 words.
45
+ - **Typography:** straight quotes, three-dot ellipses, hyphens for dashes, `x` for ×, missing space before a unit, light weights on small body text, uppercase without tracking.
46
+ - **Under review:** vague errors, empty states with no action, bare “Confirm” labels, claims with nothing to check, missing error states. These go to [Jev by TypeSafe AI](https://docs.typesafe.ai/introduction), which answers with a probability.
42
47
 
43
- Rules come from [Agent Skills](https://github.com/mblode/agent-skills) and [Taste Training](https://blode.co/taste-training). Local checks handle measurable rules. Jev judges meaning and returns probabilities. Uncalibrated AI rules stay advisory. Active findings can fail a run.
48
+ 22 checks block. 122 more report and never fail a run. They are pattern ports nobody has yet watched on a real codebase, and Jev questions no labelled corpus has yet promoted. See [usage](https://blode.co/taste-lint/docs/usage) for how promotion works.
44
49
 
45
- The default scan focuses on six checks and shows five prioritized groups. Use `--only <rule-id>` for a specific check or `--profile all` for the full catalog. Source checks do not replace reviewing the running interface.
50
+ Profiles scope a run: `product` (tsx, jsx, css), `writing` (md, mdx, README), `instructions` (AGENTS.md, skills, plans), `all`.
46
51
 
47
52
  ## Docs
48
53
 
49
- [taste-lint.blode.md](https://taste-lint.blode.md)
50
-
51
- `taste-lint scan --help` lists every option. `--dry-run` previews scope and cost. `--output json` and `--output sarif` are for scripts and code review.
54
+ <p>
55
+ <a href="https://blode.co/taste-lint/docs">
56
+ <img alt="Read the docs" src="https://raw.githubusercontent.com/mblode/taste-lint/main/.github/assets/documentation.svg" width="200" height="48" />
57
+ </a>
58
+ </p>
52
59
 
53
60
  ## License
54
61
 
@@ -54,9 +54,6 @@
54
54
  "readme",
55
55
  "skill",
56
56
  "plan",
57
- "personal",
58
- "pr",
59
- "slides",
60
57
  "unknown"
61
58
  ]
62
59
  }
@@ -75,47 +72,6 @@
75
72
  }
76
73
  }
77
74
  }
78
- },
79
- "architecture": {
80
- "type": "object",
81
- "additionalProperties": false,
82
- "properties": {
83
- "boundaries": {
84
- "type": "array",
85
- "items": {
86
- "type": "object",
87
- "additionalProperties": false,
88
- "required": ["from", "disallow", "reason"],
89
- "properties": {
90
- "from": {
91
- "type": "string",
92
- "minLength": 1
93
- },
94
- "disallow": {
95
- "type": "string",
96
- "minLength": 1
97
- },
98
- "reason": {
99
- "type": "string",
100
- "minLength": 1
101
- }
102
- }
103
- }
104
- },
105
- "deprecatedImports": {
106
- "type": "object",
107
- "additionalProperties": {
108
- "type": "string",
109
- "minLength": 1
110
- }
111
- },
112
- "generated": {
113
- "type": "array",
114
- "items": {
115
- "type": "string"
116
- }
117
- }
118
- }
119
75
  }
120
76
  },
121
77
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -199,9 +199,6 @@
199
199
  "readme",
200
200
  "skill",
201
201
  "plan",
202
- "personal",
203
- "pr",
204
- "slides",
205
202
  "unknown"
206
203
  ]
207
204
  }
@@ -30,7 +30,6 @@ preconditions:
30
30
  ui,
31
31
  unknown,
32
32
  readme,
33
- personal,
34
33
  ]
35
34
  smartQuotesAtBuild: false
36
35
  status: active