aibreze 0.1.0 → 0.1.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.
- package/README.md +21 -16
- package/package.json +4 -3
- package/rules/audit.md +4 -6
- package/rules/claims.md +4 -2
- package/rules/core.md +58 -4
- package/rules/cursor.mdc +16 -1
- package/rules/landing.md +6 -7
package/README.md
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="site/static/logo.svg" alt="aiBreze" width="128" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
1
5
|
# aiBreze
|
|
2
6
|
|
|
3
7
|
An installable writing rule set for AI agents.
|
|
4
8
|
|
|
5
|
-
|
|
9
|
+
Editorial rules for prose that actually says something instead of just
|
|
10
|
+
sounding like it. AI-assisted or not.
|
|
6
11
|
Written **aiBreze**. npm **`aibreze`**. A spray, not a breeze.
|
|
7
12
|
|
|
8
|
-
Direct > clever. Clear > profound. Useful > insightful-sounding.
|
|
9
|
-
|
|
13
|
+
Direct > clever. Clear > profound. Useful > insightful-sounding. Em dashes
|
|
14
|
+
earn their place; most don't.
|
|
10
15
|
|
|
11
16
|
Spray the prose, not the author. Earn the word.
|
|
12
17
|
|
|
@@ -22,9 +27,9 @@ software does that reliably.
|
|
|
22
27
|
|
|
23
28
|
## What it is
|
|
24
29
|
|
|
25
|
-
A composable editorial system for agent-generated prose
|
|
26
|
-
prose in the same register
|
|
27
|
-
|
|
30
|
+
A composable editorial system for agent-generated prose, and for human
|
|
31
|
+
prose in the same register. Markdown you install and point an agent at.
|
|
32
|
+
v1 has no CLI.
|
|
28
33
|
|
|
29
34
|
```text
|
|
30
35
|
core.md shared law (register, bans, cadence, heuristic)
|
|
@@ -40,12 +45,11 @@ claims.md substance first, then voice
|
|
|
40
45
|
Genre files assume `core.md` and are additive: surface law only, no
|
|
41
46
|
copied bans. Do not fork `core.md`.
|
|
42
47
|
|
|
43
|
-
The **applicability heuristic** is the
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
The **applicability heuristic** is the rule. The problem is unearned
|
|
49
|
+
language, not the dictionary. Earn the word: "transformative" is fine
|
|
50
|
+
if something transformed and you can say from what into what.
|
|
46
51
|
"Inflection point" is fine if there was one. Overlay the terms that
|
|
47
|
-
usually pass *here*, with one-line why. The
|
|
48
|
-
list is not exhaustive.
|
|
52
|
+
usually pass *here*, with one-line why. The list is not exhaustive.
|
|
49
53
|
|
|
50
54
|
`claims.md` is substance first, voice after. A clean-smelling wrong
|
|
51
55
|
essay is still wrong. Do not polish a lie.
|
|
@@ -89,10 +93,9 @@ either way. If the prose smells, spray it.
|
|
|
89
93
|
|
|
90
94
|
Adjacent tools tend to be humanizers ("make this sound human"), banned-word
|
|
91
95
|
anti-slop lists, or general style linters (Vale, write-good). This package
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
quality is the subject.
|
|
96
|
+
layers genre files, an earn-the-word test, claims before voice, and overlays
|
|
97
|
+
instead of forks. Use it while drafting or on a finished pass. Authorship
|
|
98
|
+
is irrelevant. Prose quality is the subject.
|
|
96
99
|
|
|
97
100
|
## Use from Node
|
|
98
101
|
|
|
@@ -141,7 +144,9 @@ pnpm site:build
|
|
|
141
144
|
|
|
142
145
|
## Publishing to npm
|
|
143
146
|
|
|
144
|
-
The maintainer publishes.
|
|
147
|
+
The maintainer publishes. `pnpm publish` runs a gate first: `pnpm whoami`,
|
|
148
|
+
then `pnpm login` if that fails, then a patch bump if this version is
|
|
149
|
+
already on npm (or behind it). Agents must not run `npm publish`,
|
|
145
150
|
`pnpm publish`, or `yarn npm publish`.
|
|
146
151
|
|
|
147
152
|
## License
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aibreze",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Installable writing rule set for AI agents. Sprays the performative, faux-profound register off prose. Core bans, smell audit, claims review, genre overlays.",
|
|
@@ -48,9 +48,10 @@
|
|
|
48
48
|
},
|
|
49
49
|
"scripts": {
|
|
50
50
|
"build": "tsc",
|
|
51
|
-
"test": "tsc && node --test dist/index.test.js",
|
|
51
|
+
"test": "tsc && node --test dist/index.test.js dist/publish-gate.test.js",
|
|
52
|
+
"ship": "pnpm --dir site run ship",
|
|
52
53
|
"site:dev": "pnpm --dir site dev",
|
|
53
54
|
"site:build": "pnpm --dir site run build",
|
|
54
|
-
"site:deploy": "pnpm --dir site run
|
|
55
|
+
"site:deploy": "pnpm --dir site run ship"
|
|
55
56
|
}
|
|
56
57
|
}
|
package/rules/audit.md
CHANGED
|
@@ -53,9 +53,11 @@ pass that skips the house bans.
|
|
|
53
53
|
Hunt every hard ban and cadence tell in `core.md`: escalation formula,
|
|
54
54
|
honest framing, validation+profundity, mechanism inflation, narrative
|
|
55
55
|
theater, genuinely-stacks, dramatic apology, suspense, setup sentences,
|
|
56
|
-
em
|
|
56
|
+
em-dash furniture, triad packing including prefix-repetition, empty marketing
|
|
57
57
|
vocab, helper theater, signpost openers, mic-drop closers, intensifier
|
|
58
|
-
filler, parallel-zinger density, bold-lead lists
|
|
58
|
+
filler, parallel-zinger density, bold-lead lists, riddle labels, cozy
|
|
59
|
+
machinery, operator notes in the brochure, hand-holding the obvious,
|
|
60
|
+
unparseable sentences. Apply the
|
|
59
61
|
corpus-applicability heuristic before rewriting overlay terms. Teaching
|
|
60
62
|
antithesis is allowed only when categories differ, never as
|
|
61
63
|
synonym-escalation. One concrete landing chant is a named exception,
|
|
@@ -123,10 +125,6 @@ product names, and words that would get less precise if swapped for
|
|
|
123
125
|
|
|
124
126
|
### Structural extras
|
|
125
127
|
|
|
126
|
-
- **Em dashes.** Core already bans them in publishable prose. Still flag
|
|
127
|
-
density and the clause-then-punchline construction as a smell signal
|
|
128
|
-
(some human writers use them heavily; combined with other tells they
|
|
129
|
-
are a strong signal).
|
|
130
128
|
- **Emoji as content furniture.** Checkmarks, rockets, and lightbulbs
|
|
131
129
|
doing the work that words or design should do, especially in lists and
|
|
132
130
|
result badges.
|
package/rules/claims.md
CHANGED
|
@@ -119,10 +119,12 @@ Only after Passes A-D:
|
|
|
119
119
|
1. Score AI smell 1-10 with one-paragraph justification (same scale as
|
|
120
120
|
`audit.md`).
|
|
121
121
|
2. Flag hard bans from `core.md`: escalation formula, honest-framing,
|
|
122
|
-
validation+profundity, narrative theater,
|
|
122
|
+
validation+profundity, narrative theater, setup-only
|
|
123
123
|
sentences, synonym antithesis, helper theater.
|
|
124
124
|
3. Flag cadence budgets: signpost openers, mic-drop closers, intensifier
|
|
125
|
-
filler, parallel-zinger density, bold-lead lists
|
|
125
|
+
filler, em-dash furniture, parallel-zinger density, bold-lead lists,
|
|
126
|
+
riddle labels, cozy machinery, operator notes in the brochure,
|
|
127
|
+
hand-holding the obvious, unparseable sentences.
|
|
126
128
|
4. Apply **corpus-applicability**: do not "correct" overlay terms when
|
|
127
129
|
they are structural.
|
|
128
130
|
5. Quote lines to **protect** (distinctive human voice).
|
package/rules/core.md
CHANGED
|
@@ -42,8 +42,9 @@ across with minimal ceremony.
|
|
|
42
42
|
Direct > clever. Clear > profound. Useful > insightful-sounding.
|
|
43
43
|
|
|
44
44
|
Contractions. Short sentences mixed with longer ones. Point first, support
|
|
45
|
-
second. Concrete over abstract.
|
|
46
|
-
|
|
45
|
+
second. Concrete over abstract. Em dashes earn their place, like everything
|
|
46
|
+
else, and most don't. A comma, period, or colon usually does the job with
|
|
47
|
+
less drama.
|
|
47
48
|
|
|
48
49
|
Pronouns are a project decision (I / we / you). Pick one per surface and
|
|
49
50
|
hold it. Do not let an agent default to corporate "we" on a personal essay,
|
|
@@ -154,7 +155,6 @@ Do not withhold the answer while building drama. Answer first.
|
|
|
154
155
|
|
|
155
156
|
### Also still banned
|
|
156
157
|
|
|
157
|
-
- Em dashes in publishable prose
|
|
158
158
|
- Alliterative triads and stacked-negation chants, except protected
|
|
159
159
|
maxims the overlay names, or **one concrete chant a genre file
|
|
160
160
|
explicitly allows** (landing). **Prefix-repetition triads count**
|
|
@@ -184,11 +184,42 @@ not single instances.
|
|
|
184
184
|
- **Intensifier repetition.** "actually," "whole," "real," "very"
|
|
185
185
|
recurring as filler. Keep only where the word marks a true contrast;
|
|
186
186
|
cut the padding uses.
|
|
187
|
+
- **Em-dash furniture.** Clause-then-punchline, a dash in every heading,
|
|
188
|
+
or stacks. One earned dash is not a finding. Density plus other tells
|
|
189
|
+
is. Do not treat the mark as an AI tell to erase.
|
|
187
190
|
- **Parallel-zinger density.** Chiasmus and mirror sentences ("X is a
|
|
188
191
|
performance. Y is a practice.") are spice. Track the count per piece;
|
|
189
192
|
protect native pairs, trim assistant-added ones first.
|
|
190
193
|
- **Bold-lead lists.** Every bullet "**Label.** Explanation" is a
|
|
191
194
|
template when the whole piece does it.
|
|
195
|
+
- **Riddle labels.** A bold lead-in or heading that is an aphorism the
|
|
196
|
+
reader can only decode after reading the body: "**Names you actually
|
|
197
|
+
say.**" over a paragraph about custom vocabulary. Core already bans the
|
|
198
|
+
setup sentence that announces the next sentence; this is the same waste
|
|
199
|
+
in reverse, withholding instead of announcing. Test: cover the body and
|
|
200
|
+
read the label alone. If it does not say which thing this is, name the
|
|
201
|
+
thing. The aphorism can go in the prose if it earns a place there.
|
|
202
|
+
- **Cozy machinery.** Infrastructure written the way a fond craftsman
|
|
203
|
+
would talk: the model is "asleep," a worker stays "warm," heavy jobs go
|
|
204
|
+
to a "quieter" box, "the mesh is the door." Terms of art pass the
|
|
205
|
+
applicability heuristic (warm cache, cold start, daemon), and one idiom
|
|
206
|
+
is not a finding. The tell is the register standing in for a fact the
|
|
207
|
+
writer already has: "asleep" covers suspended, unreachable, and
|
|
208
|
+
misconfigured at once, so it tells the reader less than "unreachable"
|
|
209
|
+
would. Keep it where the machine literally sleeps.
|
|
210
|
+
- **Operator notes in the brochure.** Recovery commands, internal folder
|
|
211
|
+
names, settle timers, gitignore facts, and "doctor and /health run the
|
|
212
|
+
same probes" listed as what the product is good at. The tell is
|
|
213
|
+
*placement*, not the fact. A recovery CLI belongs under Run. A Syncthing
|
|
214
|
+
wait belongs next to Syncthing. Test: would you say this first to a
|
|
215
|
+
friend who asked what it does? If not, it is later, or not at all.
|
|
216
|
+
- **Hand-holding the obvious.** "config.json is gitignored." One trap
|
|
217
|
+
warning is fine. Stating what a competent reader already knows, in the
|
|
218
|
+
voice of a tour guide, is the tell.
|
|
219
|
+
- **Unparseable sentence.** A finished-sounding line the reader cannot
|
|
220
|
+
repeat: "This is meant to live on a desktop you already leave on."
|
|
221
|
+
Related to riddle labels, but at sentence level. Rewrite until a smart
|
|
222
|
+
friend can say it back.
|
|
192
223
|
|
|
193
224
|
---
|
|
194
225
|
|
|
@@ -197,7 +228,7 @@ not single instances.
|
|
|
197
228
|
| Mode | Extra watch |
|
|
198
229
|
| --- | --- |
|
|
199
230
|
| **Agent chat** | Honest framing, validation theater, suspense, dramatic apology, genuinely-stack, helper theater |
|
|
200
|
-
| **Drafts / posts / pages** | Escalation formula, insight-labeling without evidence, setup sentences, em
|
|
231
|
+
| **Drafts / posts / pages** | Escalation formula, insight-labeling without evidence, setup sentences, riddle labels, cozy machinery, operator notes in the brochure, hand-holding, unparseable sentences, em-dash furniture, triad packing |
|
|
201
232
|
|
|
202
233
|
The table is extra watch, not a partition. Chat theater infects drafts.
|
|
203
234
|
Publish tells show up in chat.
|
|
@@ -240,6 +271,29 @@ Good: Just state the idea.
|
|
|
240
271
|
Bad: "Brain — the model plus the loop."
|
|
241
272
|
Good: "Brain: the model plus the loop."
|
|
242
273
|
|
|
274
|
+
**Riddle label**
|
|
275
|
+
Bad: "**Names you actually say.** `promptTerms` seeds the decoder."
|
|
276
|
+
Good: "**Custom vocabulary.** `promptTerms` seeds the decoder."
|
|
277
|
+
|
|
278
|
+
**Cozy machinery**
|
|
279
|
+
Bad: "If the cleanup model is asleep, you still get raw text."
|
|
280
|
+
Good: "If the cleanup model is unreachable, you still get raw text."
|
|
281
|
+
(Still fine: "the laptop was asleep," when it was.)
|
|
282
|
+
|
|
283
|
+
**Operator notes in the brochure**
|
|
284
|
+
Bad: "**Two settle timers.** Watched folders wait 30 minutes." as the
|
|
285
|
+
first item under "What it is good at."
|
|
286
|
+
Good: Mention the wait next to Syncthing. Lead the feature list with
|
|
287
|
+
what a friend would hear first.
|
|
288
|
+
|
|
289
|
+
**Hand-holding**
|
|
290
|
+
Bad: "`config.json` is gitignored." after `cp config.example.json`.
|
|
291
|
+
Good: Omit it. They already copied the example.
|
|
292
|
+
|
|
293
|
+
**Unparseable sentence**
|
|
294
|
+
Bad: "This is meant to live on a desktop you already leave on."
|
|
295
|
+
Good: "Run it on a computer you leave turned on."
|
|
296
|
+
|
|
243
297
|
---
|
|
244
298
|
|
|
245
299
|
## How to audit
|
package/rules/cursor.mdc
CHANGED
|
@@ -17,7 +17,7 @@ not copy genre law into this file.
|
|
|
17
17
|
## Target
|
|
18
18
|
|
|
19
19
|
Sharp, slightly tired colleague. Direct > clever. Clear > profound.
|
|
20
|
-
Useful > insightful-sounding.
|
|
20
|
+
Useful > insightful-sounding. Em dashes earn their place; most don't.
|
|
21
21
|
Judge the sentence, not the byline. Spray the prose, not the author.
|
|
22
22
|
Earn the word.
|
|
23
23
|
|
|
@@ -51,8 +51,23 @@ Earn the word.
|
|
|
51
51
|
- Mic-drop closer fragments ending every section.
|
|
52
52
|
- Intensifier filler: "actually / whole / real / very" where no contrast
|
|
53
53
|
is marked.
|
|
54
|
+
- Em-dash furniture: stacks and unearned drama. One earned dash is not a
|
|
55
|
+
finding.
|
|
54
56
|
- Parallel-zinger (chiasmus) density; trim assistant-added ones first.
|
|
55
57
|
- Bold-lead lists on every bullet.
|
|
58
|
+
- Riddle labels: a bold lead-in or heading the reader can only decode
|
|
59
|
+
after the body ("**Names you actually say.**" over custom vocabulary).
|
|
60
|
+
Name the thing instead.
|
|
61
|
+
- Cozy machinery: the model is "asleep," the worker stays "warm," a
|
|
62
|
+
"quieter" box. Terms of art pass; the tell is register replacing a fact
|
|
63
|
+
you have ("unreachable" says more than "asleep").
|
|
64
|
+
- Operator notes in the brochure: recovery CLIs, internal folder names,
|
|
65
|
+
settle timers, gitignore facts listed as what the product is good at.
|
|
66
|
+
Placement is the tell. Would you say this first to a friend?
|
|
67
|
+
- Hand-holding the obvious: "config.json is gitignored" after they
|
|
68
|
+
already copied the example.
|
|
69
|
+
- Unparseable sentence: a finished-sounding line the reader cannot
|
|
70
|
+
repeat ("a desktop you already leave on").
|
|
56
71
|
|
|
57
72
|
## Corpus-applicability carve-out (standing rule)
|
|
58
73
|
|
package/rules/landing.md
CHANGED
|
@@ -11,8 +11,8 @@ brand-metaphor budget.
|
|
|
11
11
|
|
|
12
12
|
## Voice extras (on top of core)
|
|
13
13
|
|
|
14
|
-
Core already has the register: contractions, mixed sentence length,
|
|
15
|
-
|
|
14
|
+
Core already has the register: contractions, mixed sentence length,
|
|
15
|
+
concrete over abstract. On a page, also:
|
|
16
16
|
|
|
17
17
|
1. **Not a salesperson, not a professor.** Punchy hook, then substance.
|
|
18
18
|
2. **Practical over aspirational.** Hours saved and bottlenecks fixed,
|
|
@@ -45,9 +45,8 @@ Everything else in this file works under either choice.
|
|
|
45
45
|
|
|
46
46
|
### Mechanical
|
|
47
47
|
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
metadata.
|
|
48
|
+
- Unearned em dashes in `<title>` and meta description. Chrome is a bad
|
|
49
|
+
place for the drama; a comma or colon almost always does it.
|
|
51
50
|
- Emoji as content (result badges, pain-list icons). Replace with type
|
|
52
51
|
or cut.
|
|
53
52
|
- Title Case On Every Card. Sentence case reads more human.
|
|
@@ -107,8 +106,8 @@ page.** The rest go to plain language.
|
|
|
107
106
|
|
|
108
107
|
A revised page passes when:
|
|
109
108
|
|
|
110
|
-
1.
|
|
111
|
-
|
|
109
|
+
1. Unearned em dashes in `<title>` and meta description; prefer a comma
|
|
110
|
+
or colon unless the dash earns the drama.
|
|
112
111
|
2. Pronoun decision made and applied consistently; builder claims
|
|
113
112
|
aligned to it.
|
|
114
113
|
3. Max 2 "not X, but Y" constructions, max 1 triadic negation chant, max
|