aibreze 0.1.6 → 0.1.8

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
@@ -6,60 +6,13 @@
6
6
 
7
7
  An installable writing rule set for AI agents.
8
8
 
9
- Editorial rules for prose that actually says something instead of just
10
- sounding like it. AI-assisted or not.
11
- Written **aiBreze**. npm **`aibreze`**. A spray, not a breeze.
12
-
13
- Direct > clever. Clear > profound. Useful > insightful-sounding. Em dashes
14
- earn their place; most don't.
9
+ Editorial rules for prose that says something instead of sounding like it.
10
+ AI-assisted or not. Written **aiBreze**. npm **`aibreze`**. A spray, not a
11
+ breeze.
15
12
 
16
13
  Spray the prose, not the author. Earn the word.
17
14
 
18
- ## Before / after
19
-
20
- **Before.** At its core, building software isn't just about writing
21
- code. It's about bridging the gap between imagination and execution,
22
- creating solutions that don't merely function but fundamentally
23
- transform the way we interact with technology.
24
-
25
- **After.** Software turns an idea into something people can use. Good
26
- software does that reliably.
27
-
28
- ## What it is
29
-
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.
33
-
34
- ```text
35
- core.md shared law (register, bans, cadence, heuristic)
36
- genre files surface extras only (essay, landing, outreach, launch)
37
- project overlay pronouns, carve-outs, protected lines
38
-
39
- drafting
40
-
41
- audit.md smell
42
- claims.md substance first, then voice
43
- ```
44
-
45
- Genre files assume `core.md` and are additive: surface law only, no
46
- copied bans. Do not fork `core.md`.
47
-
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.
51
- "Inflection point" is fine if there was one. Overlay the terms that
52
- usually pass *here*, with one-line why. The list is not exhaustive.
53
-
54
- `claims.md` is substance first, voice after. A clean-smelling wrong
55
- essay is still wrong. Do not polish a lie.
56
-
57
- Cadence tells are a budget, not a ban. Flag density: signpost openers,
58
- em-dash furniture, riddle labels (a heading you can only decode after
59
- the body), cozy machinery (register standing in for a fact you have),
60
- operator notes in the brochure, hand-holding the obvious, unparseable
61
- sentences. One earned em dash is not a finding. Do not treat the mark
62
- as an AI tell to erase.
15
+ **Docs:** [aibreze.com/docs](https://aibreze.com/docs) · **Site:** [aibreze.com](https://aibreze.com)
63
16
 
64
17
  ## Install
65
18
 
@@ -67,107 +20,34 @@ as an AI tell to erase.
67
20
  pnpm add -D aibreze
68
21
  ```
69
22
 
70
- ## What's in the box
71
-
72
- | File | Use |
73
- | --- | --- |
74
- | `rules/core.md` | Always. Register, applicability heuristic, teaching antithesis, hard bans, cadence budgets (density, not single uses), chat vs publish. |
75
- | `rules/audit.md` | Paste-in smell audit (score, flags, protect list, top 5). |
76
- | `rules/claims.md` | Skeptical peer review. Substance first, voice after. |
77
- | `rules/essays.md` | Longform: one register, author in the essay, concrete instance. Not for reference docs. |
78
- | `rules/landing.md` | Page copy: pronouns, rhetorical budgets, substance, read-aloud. |
79
- | `rules/outreach.md` | Email / DM / text. Relationship first, one ask. |
80
- | `rules/launch.md` | Shipping posts. Open on a specific moment or the artifact, not the announcement formula. |
81
- | `rules/cursor.mdc` | Always-on agent digest. Copy into `.cursor/rules/`. |
82
- | `skills/aibreze/` | Host-agnostic skill. Copy into `.claude/skills/` or `.cursor/skills/`. |
83
-
84
- ## Why "aiBreze"?
85
-
86
- People who live with a smell stop noticing it. Generated prose does the
87
- same trick. Charles Duhigg tells the household version in *The Power of
88
- Habit* (2012): an odor-eliminating spray that flopped until the company
89
- realized habituation was the problem, then sold the bottle as the reward
90
- at the end of a cleaning habit. This package is that move for writing.
91
- Make the smell visible, then take it off. Read Duhigg for the original.
23
+ Copy `node_modules/aibreze/rules/cursor.mdc` to `.cursor/rules/aibreze.mdc`.
24
+ Keep a short overlay. Full wiring: [docs](https://aibreze.com/docs/install).
92
25
 
93
- The register is also leaking the other way: humans now write like the
94
- models. aiBreze is a writing standard, not an AI-cleanup gimmick.
26
+ Or skip npm and [install the skill](https://aibreze.com/skill) as a folder.
95
27
 
96
28
  ## Not a humanizer
97
29
 
98
- aiBreze does not determine whether a human or a model wrote something,
99
- and it does not try to fool AI detectors. It applies the same standard
100
- either way. If the prose smells, spray it.
30
+ aiBreze does not determine whether a human or a model wrote something, and it
31
+ does not try to fool AI detectors. Same standard either way. If the prose
32
+ smells, spray it.
101
33
 
102
- Adjacent tools tend to be humanizers ("make this sound human"), banned-word
103
- anti-slop lists, or general style linters (Vale, write-good). This package
104
- layers genre files, an earn-the-word test, claims before voice, and overlays
105
- instead of forks. Use it while drafting or on a finished pass. Authorship
106
- is irrelevant. Prose quality is the subject.
34
+ <!-- xfacts-nutrition-label -->
107
35
 
108
- ## Use from Node
36
+ ## Nutrition label
109
37
 
110
- ```ts
111
- import { readRule, files, catalog } from "aibreze";
38
+ - **AppFacts:** [viewer](https://appfacts.dev/v#af1.eNp1kU1rAyEQhv_KMmeTpVePDRRa0l42t1LKrE6Mjaui4xYb8t-Lu6GQQ29-PO_H6AVmkA8CPE4EEtA-JvohEMA1tgNnx4SpgoDMyCU3RrGdG-KsIp8b9fp8WAl1BnkBh94UNO3mUCMNKtnIonvBGdc1CEjFs10y34Km7VdeDKqz3oCE3TCAgFPIfNu7UPTRYWq5EdUZDX1O6NFQAgnRxwmuAjTFDPL9Ah4kfCf0xlFqijuLTlN0oU7kGa5ihQ3x0TqKiXK-CXRQpTHINvhuDVs1HwLyrP6C7sq1OrfeHXrdkTbUqTDFsozStGOxTrd3-n-QRDFkyyHVZsccs-x7Y_lUxq0KU79DRlczb55CMrTZ73c92nH5uusvQqie3Q) · [raw](https://github.com/Catalyst-Forge-LLC/aibreze/blob/main/APP_FACTS.md)
39
+ - **SkillFacts:** [viewer](https://skillfacts.dev/v#sf1.eNq9VE1v2zgQ_SsD9dIYlu3mECzU0_Yji2DTIkCCvViBQUu0RUQiBZKy4Gbzu3rvL-vMUJLt2AHSHoogcTxfnHnz3jxGmyh5N460qGSUREItrfwmo3GUy40sTS0tWj8KL8qt83Bp7JqcG2mdMhpds8m7yQVanBe-cVQh82pDMaXKpHZU9MvVHX5_UDrHL1ljnbGxe1Blida6sbXhqM-58sYqUYJtSulgZSzUzbJUrhDLUkJtMe49uNqK7RhEg-H4ofM-KK6Fc9Aa-7AqTRvy_76K0aiclzm0Vnml1_SmNRuphc7w2cfImcbSf1Hhfe2S6XStfNEsJ5mppv3gMQ8eX19_nO4Q6t49hdDTOFLaedsgGEa7hZUiK_ixQuLYSaSNphJaemoYDaqqSyVztK0UTo-lZIVmTMypmjempDIraSX2jUDO78fRstF5KfOFsF6tEHjEf_4Y1cIXlEooTjNj5aTKd_gbTx0_jZ_FMZ6vCcxKoSp3KhIbkmsrnaNBvSxlJb3d7obNpcMFCEaE-sexClPJWqz30e_wJfgxx0pkB_Fi-xsLsqLFrDiOU810WzBGi468CaTM3lkapZron0CXmuqB_AkcbjbVz7IvKDuQH_OZ-6nuqJ8AMj_VhFIC-7xPdUd7qvKHeE999nAncALtVO_A3gW8CmucZ5BUkmqAoKlfrgIwaOoY-GNBhadIUQkQx-hrp6gEOkGRbaeoBEhQqX4uJ640v0_1kaLYEwNJIIEDSZEDICyXFXAc2YvqFaGDrE7EBlVxJ4OsdhPvyyrhIdZSSyt8N1aO_yVwPju_iGd_xeczsnURBmEukEqxaHyBU-HjGf5V3dhDnUWrqNN-m8xhRmeCQqHIZaNKv1huic-He8Mx-7S2bSdZ51yRj_lAvGSJpvoN3FJluKTSmDjwItX_A_7gB0byL1lGo0-9TEcj9D97uIv5L-iVI1iwveOWRcv2oNvecR3Uyx4UcG_-F1fCtn0lkzPVoy9iCyvps2IgcM57DdSDlTUV7EkNhAMBpcBecbPG-vdh1a1ykhnqoDRZfxGmkxGj8wZuwtWgb3_qanQPD_J-aRm3rHh0_JLkA7Y3vehPLpEbuNoTP7D4X2yE7gHaSR6h_NdwEtDW3YRgvhyuAnoI9OGxO7oOsLsOZH5L9c66gA_hSsBwJUIzN6hnrEVEOWrr4HRgEO8b9lz9rTjlG47DvpM7-cyn4SUs7vprcYDHp72DgY4wWajIQhz90-seSPcwZ1WyKO_fnr4BZ_DjO6KCRwCWW5gfLnGXdPoCnCG9o6efXsK6pA) · [raw](https://github.com/Catalyst-Forge-LLC/aibreze/blob/main/skills/aibreze/SKILL_FACTS.md)
112
40
 
113
- const core = readRule("core");
114
- // files.audit is an absolute path to rules/audit.md
115
- ```
116
-
117
- Markdown is also exported as `aibreze/rules/core.md` (and the rest), so
118
- an agent or a prompt assembler can read the files from `node_modules`.
119
- v1 is `readRule`. Assembling core + genre + overlay is concatenation on
120
- purpose.
121
-
122
- ## Agent setup
123
-
124
- 1. `pnpm add -D aibreze`
125
- 2. Copy `node_modules/aibreze/rules/cursor.mdc` to
126
- `.cursor/rules/aibreze.mdc`
127
- 3. Point "Full rules" at `node_modules/aibreze/rules/core.md`
128
- 4. Keep a project overlay (carve-outs, I vs we, protected lines)
129
- 5. When drafting a page, essay, note, or ship post, open that genre file
130
- 6. For a publish pass: paste `rules/core.md` plus the overlay, then
131
- `rules/audit.md` or `rules/claims.md` (both are additive; do not paste
132
- the prompt alone)
133
-
134
- ## Skill
135
-
136
- Host-agnostic `SKILL.md` for Claude Code and anything else that loads a
137
- named folder. Raw file on the site:
138
-
139
- https://aibreze.com/skills/aibreze/SKILL.md
140
-
141
- Copy `skills/aibreze/` (or `node_modules/aibreze/skills/aibreze/`) to
142
- `~/.claude/skills/aibreze/`, `.claude/skills/aibreze/`, or
143
- `.cursor/skills/aibreze/`. Full law is next to it on
144
- https://aibreze.com/rules/core.md.
145
-
146
- ## Overlay shape
147
-
148
- Keep it short. Point at this package, then only:
149
-
150
- - Pronouns per surface
151
- - Terms that pass the applicability heuristic *here*, with one-line why
152
- - Protected maxims / testimony
153
- - Genre extras that are house law (every essay ends in a deed, brand
154
- metaphor budget, …)
155
-
156
- ## Site
157
-
158
- The public site lives in [`site/`](site/) (FilePress, [`getfilepress`](https://www.npmjs.com/package/getfilepress)). [aibreze.com](https://aibreze.com). Source: [Catalyst-Forge-LLC/aibreze](https://github.com/Catalyst-Forge-LLC/aibreze).
41
+ ## Development
159
42
 
160
43
  ```bash
44
+ pnpm install
45
+ pnpm test
161
46
  pnpm site:dev
162
- pnpm site:build
163
47
  ```
164
48
 
165
- ## Publishing to npm
166
-
167
- The maintainer publishes. `pnpm publish` runs a gate first: `pnpm whoami`,
168
- then `pnpm login` if that fails, then a patch bump if this version is
169
- already on npm (or behind it). Agents must not run `npm publish`,
170
- `pnpm publish`, or `yarn npm publish`.
49
+ Site (FilePress + docs mount): `pnpm ship`. The maintainer publishes to npm.
50
+ Agents must not run `npm publish`.
171
51
 
172
52
  ## License
173
53
 
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  declare const packageRoot: string;
2
2
  declare const rulesDir: string;
3
- export declare const ruleIds: readonly ["core", "audit", "claims", "essays", "landing", "outreach", "launch"];
3
+ export declare const ruleIds: readonly ["core", "audit", "claims", "essays", "landing", "outreach", "launch", "civic", "academic"];
4
4
  export type RuleId = (typeof ruleIds)[number];
5
5
  export declare const files: {
6
6
  readonly core: string;
@@ -10,6 +10,8 @@ export declare const files: {
10
10
  readonly landing: string;
11
11
  readonly outreach: string;
12
12
  readonly launch: string;
13
+ readonly civic: string;
14
+ readonly academic: string;
13
15
  readonly cursor: string;
14
16
  };
15
17
  export type FileId = keyof typeof files;
package/dist/index.js CHANGED
@@ -11,6 +11,8 @@ export const ruleIds = [
11
11
  "landing",
12
12
  "outreach",
13
13
  "launch",
14
+ "civic",
15
+ "academic",
14
16
  ];
15
17
  export const files = {
16
18
  core: join(rulesDir, "core.md"),
@@ -20,6 +22,8 @@ export const files = {
20
22
  landing: join(rulesDir, "landing.md"),
21
23
  outreach: join(rulesDir, "outreach.md"),
22
24
  launch: join(rulesDir, "launch.md"),
25
+ civic: join(rulesDir, "civic.md"),
26
+ academic: join(rulesDir, "academic.md"),
23
27
  cursor: join(rulesDir, "cursor.mdc"),
24
28
  };
25
29
  export const catalog = [
@@ -58,6 +62,16 @@ export const catalog = [
58
62
  title: "Launch / announcement",
59
63
  use: "Shipping posts. Open on a specific moment or the artifact, not the announcement formula.",
60
64
  },
65
+ {
66
+ id: "civic",
67
+ title: "Civic / institutional",
68
+ use: "Filings, testimony, legal-adjacent memos. Ceremony is earned; colleague voice is wrong here.",
69
+ },
70
+ {
71
+ id: "academic",
72
+ title: "Academic / scholarly",
73
+ use: "Papers and methods. Precision and citations, not the academic costume.",
74
+ },
61
75
  {
62
76
  id: "cursor",
63
77
  title: "Cursor pocket card",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aibreze",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
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.",
@@ -0,0 +1,114 @@
1
+ # Academic / scholarly
2
+
3
+ Apply [`core.md`](./core.md) first. This file is the genre overlay for
4
+ journal articles, working papers, methods sections, literature reviews,
5
+ and dissertation chapters that are papers.
6
+
7
+ It is not the file for essays or talks ([`essays.md`](./essays.md)),
8
+ filings ([`civic.md`](./civic.md)), or product pages. Reference docs
9
+ and textbooks that are really manuals still get core only.
10
+
11
+ The colleague voice is close. Precision and citations are the shift.
12
+ Do not put on the academic costume.
13
+
14
+ ---
15
+
16
+ ## Register
17
+
18
+ Write for a peer who already knows the field. Say what you did, what
19
+ you found, and where the claim stops. Full forms more often than the
20
+ default. Contractions are rare, not banned. One is not a finding.
21
+
22
+ First person is allowed when the field or the overlay uses it ("we
23
+ measured," "I argue"). Passive is not required. Do not convert every
24
+ sentence to "it was found that."
25
+
26
+ Hedging is earned when it names a limit, a method bound, or a claim
27
+ the data cannot support. "In this sample," "we did not observe,"
28
+ "suggests" stay when they are true. "It could perhaps be argued that"
29
+ is hiding.
30
+
31
+ The read-aloud test is a careful colleague in the field, not a tired
32
+ product person and not a quarterly from 1987.
33
+
34
+ Pronouns follow the overlay or the journal. Do not invent "the authors"
35
+ to sound impersonal if the venue uses we.
36
+
37
+ Hard bans still hold. Insight theater does not become allowed because
38
+ the bibliography is long. Earn the word: "robust," "novel," and
39
+ "seminal" need a measurement, a contrast, or a cite that actually
40
+ carries that weight.
41
+
42
+ ---
43
+
44
+ ## What earns its place
45
+
46
+ - Citations, operational definitions, method, limitations
47
+ - Field terms of art (applicability heuristic)
48
+ - The journal's sections (IMRaD or whatever they print)
49
+ - An abstract that states the finding, not a teaser
50
+
51
+ Repeating a defined term is not hand-holding. Numbered hypotheses and
52
+ result rows are not triad packing.
53
+
54
+ ---
55
+
56
+ ## The costume (do not reach for it)
57
+
58
+ These are the stereotypical academic tells. Ban them as furniture.
59
+ Leave a word if it is doing a real job in the sentence.
60
+
61
+ - "Moreover," "Thus," "Furthermore," "Indeed" opening clause after
62
+ clause
63
+ - "This paper seeks to" / "this study aims to" / "the present work"
64
+ - "It has been shown that" with no cite, or with a cite that does not
65
+ show it
66
+ - "The extant literature," "a growing body of work," "little attention
67
+ has been paid"
68
+ - "It is worth noting that" / "it is important to note"
69
+ - Nominalization stacks ("the utilization of the implementation")
70
+ - Forced passive when the actor is known and the field allows we
71
+ - A literature review that only announces a gap
72
+ - A last sentence that winks or mic-drops
73
+
74
+ Do not inject an essay scene to "humanize" the paper. A worked example
75
+ or a named dataset is an instance, not a memoir. Do not apply essay
76
+ law here.
77
+
78
+ Do not apply civic captions or landing pain lists.
79
+
80
+ ---
81
+
82
+ ## Claims
83
+
84
+ This genre lives on citations. Run [`claims.md`](./claims.md) when the
85
+ paper asserts effects, magnitudes, or what prior work showed.
86
+
87
+ A clean-smelling wrong paper is still wrong. Do not cologne a missing
88
+ cite or an overclaim in the abstract.
89
+
90
+ ---
91
+
92
+ ## Audit extras for this genre
93
+
94
+ On top of `core.md` and `audit.md`:
95
+
96
+ - Costume density (Moreover / Thus / seeks to / extant literature)
97
+ - Hedging that hides a claim instead of naming a limit
98
+ - Forced impersonal voice against the overlay or the venue
99
+ - Abstract that teases and never states the finding
100
+ - Essay anecdote or landing structure
101
+ - A claim that needs a cite and has none
102
+
103
+ ---
104
+
105
+ ## Acceptance criteria
106
+
107
+ 1. Overlay or venue named the speaker (we, I, or the paper's convention).
108
+ 2. Abstract states the finding.
109
+ 3. Hedging names a limit or is cut.
110
+ 4. No costume furniture in the open or the close.
111
+ 5. Claims that need cites have them, or `claims.md` already flagged
112
+ the gaps.
113
+ 6. No essay scene. No civic caption. No landing pain list.
114
+ 7. Hard bans still hold.
package/rules/audit.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # AI smell audit prompt
2
2
 
3
3
  Reusable prompt for auditing any copy (landing pages, emails, blog posts,
4
- social posts, docs) for signs it was AI-generated or AI-flavored.
4
+ social posts, docs, filings) for signs it was AI-generated or AI-flavored.
5
5
 
6
6
  **This prompt is additive.** Paste into a model, in order:
7
7
 
package/rules/civic.md ADDED
@@ -0,0 +1,112 @@
1
+ # Civic / institutional
2
+
3
+ Apply [`core.md`](./core.md) first. This file is the genre overlay for
4
+ regulatory comment letters, government filings, testimony, legal-adjacent
5
+ memos, and compliance notes.
6
+
7
+ It is not the file for product pages, essays, outreach, ship posts, or
8
+ papers. Those have their own genre files. Reference docs still get
9
+ core only.
10
+
11
+ The default colleague voice is wrong here. Overlay this file. Do not
12
+ obey the tired-colleague register in a captioned filing.
13
+
14
+ ---
15
+
16
+ ## Register
17
+
18
+ Ceremony is earned. Contractions loosen their grip. Full forms are the
19
+ default, not a leak.
20
+
21
+ Write for a docket clerk, a reviewing attorney, an ALJ, or a comment-
22
+ period staffer. The read-aloud test is whether they recognize a filing,
23
+ not whether you would say it to a peer at the end of a long day.
24
+
25
+ Pronouns are a project decision. Typical: the named organization,
26
+ "the commenter," or institutional we. An individual comment may use I
27
+ when the overlay says the filer is speaking as themselves. Do not let
28
+ an agent default to colleague I, or to landing-page we, without that
29
+ choice.
30
+
31
+ Hard bans still hold. Escalation, honest-framing, and insight theater
32
+ do not become allowed because the letterhead is formal. Earn the word
33
+ still applies: "transformative" needs from-what-into-what even at OMB.
34
+
35
+ ---
36
+
37
+ ## Ceremony that earns its place
38
+
39
+ Leave these when the form or the forum requires them:
40
+
41
+ - Captions, docket numbers, agency names, comment deadlines
42
+ - Recitals of authority and standing
43
+ - Defined terms, used consistently
44
+ - Pin cites, record cites, statutory and regulatory citations
45
+ - "Respectfully submitted," signature blocks, certificates of service
46
+
47
+ Do not spray those into a blog post. Do not strip them from a filing
48
+ to make it sound like core's default.
49
+
50
+ Numbered headings (`I.`, `II.`, `Comment 1`) are the genre. They are
51
+ not riddle labels and not signpost smell.
52
+
53
+ Repeating a defined term is not hand-holding. Parallel numbered
54
+ comments are not triad packing.
55
+
56
+ ---
57
+
58
+ ## Ceremony that does not
59
+
60
+ - Empty deference stacks ("we respectfully submit that we respectfully
61
+ request")
62
+ - Throat-clearing that is not a required recital
63
+ - "Hereby," "aforementioned," "herein" added as furniture. If the form
64
+ uses them, leave them. Do not import them for the smell of formality.
65
+ - Launch energy: "excited to comment," "pleased to share our views"
66
+ - Colleague contractions in the caption, the summary of request, or
67
+ the prayer for relief
68
+ - Mic-drop closers and punchy hooks. Close on the request.
69
+ - An essay scene injected so the letter "has a person in it." A
70
+ first-hand harm belongs when the commenter is that person and the
71
+ overlay says so. Do not invent one to satisfy essay law.
72
+ - A landing pain list. This is not a product page.
73
+
74
+ ---
75
+
76
+ ## Claims
77
+
78
+ This genre lives on citations. Run [`claims.md`](./claims.md) when the
79
+ letter asserts facts, effects, costs, or what the record shows.
80
+
81
+ A clean-smelling wrong filing is still wrong. Do not cologne a missing
82
+ cite.
83
+
84
+ ---
85
+
86
+ ## Audit extras for this genre
87
+
88
+ On top of `core.md` and `audit.md`:
89
+
90
+ - Colleague-voice leak in a captioned draft
91
+ - Missing request: the letter never says what the agency should do
92
+ - A claim that needs a cite and has none
93
+ - Ceremony stripped that the form requires, or ceremony added that
94
+ the form does not
95
+ - Essay anecdote or landing structure where the forum did not ask
96
+ for either
97
+
98
+ ---
99
+
100
+ ## Acceptance criteria
101
+
102
+ 1. Overlay named the speaker (organization, commenter, or I).
103
+ 2. Full forms default; contractions rare, and never in the caption or
104
+ the request.
105
+ 3. Required caption / docket / authority / signature elements present
106
+ when the forum uses them.
107
+ 4. Closes on the request, not a zinger.
108
+ 5. Claims that need cites have them, or `claims.md` already flagged
109
+ the gaps.
110
+ 6. No essay scene and no landing pain list unless the overlay asked
111
+ for a first-hand comment.
112
+ 7. Hard bans still hold.
package/rules/claims.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Claims + voice review prompt
2
2
 
3
3
  Reusable prompt for a hard review of any essay, landing page,
4
- announcement, or internal doc. It answers two questions at once:
4
+ announcement, filing, paper, or internal doc. It answers two questions at once:
5
5
 
6
6
  1. **Does what we're claiming hold up?** (truth, scope, evidence,
7
7
  overclaim)
package/rules/core.md CHANGED
@@ -7,9 +7,11 @@ Written **aiBreze**. npm **`aibreze`**. A spray, not a breeze.
7
7
 
8
8
  This file is the shared core. Genre files add surface-specific rules.
9
9
  They are additive: point here, then write only what that surface adds.
10
- Do not copy the hard bans, cadence budgets, or register into each genre
11
- file. Projects add a short overlay for dialect carve-outs and pronoun
12
- policy. Do not copy this file into each repo and then diverge.
10
+ Do not copy the hard bans or cadence budgets into each genre file.
11
+ Register stays in core as the default; a genre file may shift it by
12
+ name (`civic.md`, `academic.md`). Projects add a short overlay for dialect carve-outs
13
+ and pronoun policy. Do not copy this file into each repo and then
14
+ diverge.
13
15
 
14
16
  Judge the sentence, not the byline. Human prose in this register gets
15
17
  sprayed too. Distinctive dialect and verbatim testimony still stand.
@@ -21,7 +23,7 @@ Protected maxims (do not rewrite into a cleverer synonym):
21
23
 
22
24
  **Also in this package:** `audit.md` (smell), `claims.md` (substance then
23
25
  voice), `essays.md`, `landing.md`, `outreach.md`, `launch.md`,
24
- `cursor.mdc` (agent pocket card).
26
+ `civic.md`, `academic.md`, `cursor.mdc` (agent pocket card).
25
27
 
26
28
  The name is a household joke. People who live with a smell stop noticing
27
29
  it. Generated prose does the same trick: the tics fade into the furniture
@@ -46,6 +48,18 @@ second. Concrete over abstract. Em dashes earn their place, like everything
46
48
  else, and most don't. A comma, period, or colon usually does the job with
47
49
  less drama.
48
50
 
51
+ This is the **default** for essays, product pages, and internal docs. It
52
+ is not the only register. Genre files shift it. Civic and institutional
53
+ writing ([`civic.md`](./civic.md)) earns ceremony and loosens
54
+ contractions. Scholarly papers ([`academic.md`](./academic.md)) keep
55
+ the colleague close and add precision; they do not put on the academic
56
+ costume. Overlay the file for the room. Do not force the default into
57
+ a filing, and do not "elevate" a paper into Moreover / Thus.
58
+
59
+ The target is the absence of theater, not a personality. Clean is a
60
+ floor. If every surface sounded like the same colleague, that would be
61
+ a new smell. Overlay the register for the room you are in.
62
+
49
63
  Pronouns are a project decision (I / we / you). Pick one per surface and
50
64
  hold it. Do not let an agent default to corporate "we" on a personal essay,
51
65
  or to "I" on a two-person product page, without an overlay that says so.
@@ -311,7 +325,8 @@ Good: "Run it on a computer you leave turned on."
311
325
 
312
326
  Keep a short file in the consuming project. It should contain:
313
327
 
314
- - Pronoun policy per surface (essay I, landing we, outreach I, …)
328
+ - Pronoun policy per surface (essay I, landing we, outreach I, civic
329
+ as the overlay names the filer, academic as the venue uses we or I, …)
315
330
  - Terms that pass the applicability heuristic here, with one-line why
316
331
  - Protected maxims / testimony the agent must not "de-smell"
317
332
  (this package: Earn the word. Spray the prose, not the author.)
@@ -319,5 +334,5 @@ Keep a short file in the consuming project. It should contain:
319
334
 
320
335
  Do not restate the hard bans. Point at this package. Genre files in
321
336
  this package follow the same rule. They may grant a named exception
322
- (one concrete landing chant; talks may signpost). They may not silently
323
- rewrite a ban.
337
+ (one concrete landing chant; talks may signpost; civic and academic
338
+ may shift register). They may not silently rewrite a ban.
package/rules/cursor.mdc CHANGED
@@ -16,10 +16,11 @@ not copy genre law into this file.
16
16
 
17
17
  ## Target
18
18
 
19
- Sharp, slightly tired colleague. Direct > clever. Clear > profound.
20
- Useful > insightful-sounding. Em dashes earn their place; most don't.
21
- Judge the sentence, not the byline. Spray the prose, not the author.
22
- Earn the word.
19
+ Sharp, slightly tired colleague. Default register, not the only one.
20
+ Direct > clever. Clear > profound. Useful > insightful-sounding. Em
21
+ dashes earn their place; most don't. Judge the sentence, not the
22
+ byline. Spray the prose, not the author. Earn the word. Filings:
23
+ [`civic.md`](./civic.md). Papers: [`academic.md`](./academic.md).
23
24
 
24
25
  ## Hard bans
25
26
 
@@ -93,6 +94,8 @@ digest.
93
94
  - Essay / talk / long argument: [`essays.md`](./essays.md)
94
95
  - Email / DM / text to someone you know: [`outreach.md`](./outreach.md)
95
96
  - Ship post / announcement: [`launch.md`](./launch.md)
97
+ - Filing / testimony / legal-adjacent: [`civic.md`](./civic.md)
98
+ - Paper / methods / lit review: [`academic.md`](./academic.md)
96
99
 
97
100
  Reference docs, changelogs, API pages, UI chrome: core only. Do not
98
101
  inject a scene to satisfy essay law.
package/rules/essays.md CHANGED
@@ -5,7 +5,8 @@ essays, talks, and other long argumentative prose.
5
5
 
6
6
  It is not the file for reference docs, changelogs, API pages, or UI
7
7
  chrome. Those get core only. Same house register is fine. Required
8
- anecdote is not.
8
+ anecdote is not. Journal articles and working papers use
9
+ [`academic.md`](./academic.md), not this file's scene rule.
9
10
 
10
11
  ---
11
12