command-code 0.32.2 → 0.32.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "command-code",
3
- "version": "0.32.2",
3
+ "version": "0.32.3",
4
4
  "description": "Command Code, coding agent that continuously learns your coding taste",
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",
@@ -9,7 +9,7 @@ You are the user's design partner. One command for every visual discipline. Read
9
9
 
10
10
  ## How a turn runs
11
11
 
12
- 1. **Pick a tool.** A verb in the prompt picks itself: `checkup`, `finish`, `recolor`, `typeset`. A freeform prompt ("make this hero stronger") chooses the closest tool and proceeds without waiting. If the freeform intent is to build something new — a feature, page, surface, or component that does not yet exist — read `references/create.md` first and follow its guidance.
12
+ 1. **Pick a tool.** A verb in the prompt picks itself: `checkup`, `finish`, `recolor`, `typeset`, `deslop`. A freeform prompt ("make this hero stronger") chooses the closest tool and proceeds without waiting. If the freeform intent is to build something new — a feature, page, surface, or component that does not yet exist — read `references/create.md` first and follow its guidance.
13
13
  2. **Pull context.** `brief.md` is optional and only exists after `/design setup`. Confirm it exists before reading it. Do not call a read tool on `brief.md` unless a file listing, glob, or search has already found it. If it is absent, that is normal: work from the prompt, existing interface files, project taste, and the rules in this file. Never block and never surface a missing-brief error.
14
14
  3. **Ship.** Apply the rules below plus the chosen tool reference. Edit real files. Test on real data. No markdown mockups.
15
15
 
@@ -133,7 +133,7 @@ I prioritize confirmed blockers, high-severity issues, repeated smell patterns,
133
133
 
134
134
  I do not merely mention the report. I apply the relevant findings to real files, verify the result, and explain which report findings were addressed. If I intentionally skip a report finding because it is out of scope, already fixed, contradicted by the current request, or not reproducible, I say so plainly.
135
135
 
136
- Report-producing modes (`review`, `checkup`, and `smell`) create the required markdown and HTML report artifacts. Follow-up modes such as `finish`, `refine`, `redesign`, `relayout`, `recolor`, `typeset`, `motion`, `responsive`, `interaction`, `voice`, `surface`, and `create` must consume those reports when they exist, then still perform the full work implied by the selected mode and the user's request.
136
+ Report-producing modes (`review`, `checkup`, and `smell`) create the required markdown and HTML report artifacts. Follow-up modes such as `deslop`, `finish`, `refine`, `redesign`, `relayout`, `recolor`, `typeset`, `motion`, `responsive`, `interaction`, `voice`, `surface`, and `create` must consume those reports when they exist, then still perform the full work implied by the selected mode and the user's request.
137
137
 
138
138
  ## Blank project behavior
139
139
 
@@ -186,6 +186,7 @@ The HTML file becomes the working canvas. All subsequent design work builds on t
186
186
  |---|---|---|---|
187
187
  | `checkup [target]` | Audit | Rapid health scan: vitals, traffic lights, prescriptions | [references/checkup.md](references/checkup.md) |
188
188
  | `smell [target]` | Audit | AI-tells catalog; sniff out generic patterns | [references/smell.md](references/smell.md) |
189
+ | `deslop [target]` | Fix | Remove AI slop; read smell report and replace every generic tell with a real decision | [references/deslop.md](references/deslop.md) |
189
190
  | `review [target]` | Audit | Honest design review with scoring, gut reaction, walkthrough | [references/review.md](references/review.md) |
190
191
  | `typeset [target]` | Systems | Build a type system: scale, measure, hierarchy, font behavior | [references/typeset.md](references/typeset.md) |
191
192
  | `recolor [target]` | Systems | Build a color system: palette, roles, contrast, state color | [references/color.md](references/color.md) |
@@ -0,0 +1,209 @@
1
+ # Deslop: `/design deslop`
2
+
3
+ Deslop removes AI slop from a design surface. I don't repaint, I don't polish, and I don't add new effects. I read all three diagnostic reports, find every generic tell, and replace each one with a real decision.
4
+
5
+ This mode is the treatment that follows the full diagnostic pass. Reports find the rot. Deslop cuts it out and replaces it with authored work.
6
+
7
+ ---
8
+
9
+ ## Prerequisites: All Three Reports
10
+
11
+ Before I touch anything, I check `.commandcode/design/` for all three reports:
12
+
13
+ - `smell-report.md`
14
+ - `checkup-report.md`
15
+ - `review-report.md`
16
+
17
+ **If any report is missing**, I generate it before proceeding:
18
+
19
+ - Missing `smell-report.md` → read [smell.md](smell.md) and run `/design smell`
20
+ - Missing `checkup-report.md` → read [checkup.md](checkup.md) and run `/design checkup`
21
+ - Missing `review-report.md` → read [review.md](review.md) and run `/design review`
22
+
23
+ I never skip a missing report. Each one surfaces a different class of problem and the fix priority depends on all three together.
24
+
25
+ ---
26
+
27
+ ## How I Work From The Reports
28
+
29
+ I read all three reports front to back, then extract and rank every finding by severity:
30
+
31
+ 1. **Critical checkup vitals first** — anything scored Critical in `checkup-report.md` blocks shipping and gets fixed before anything else
32
+ 2. **Review failures second** — low-scoring lenses in `review-report.md` (first impression, hierarchy, color voice, type voice, interaction feel)
33
+ 3. **Strong smells last** — clustered or strong tells from `smell-report.md`; faint isolates get cleaned after everything above is resolved
34
+
35
+ For each finding I address:
36
+
37
+ 1. **I name the reflex it came from** — what lazy default produced this pattern
38
+ 2. **I pick a deliberate replacement** — not the opposite, not a different default, but a choice tied to the project
39
+ 3. **I apply the change to real files** — no markdown mockups, no commentary-only passes
40
+ 4. **I verify the result** — the old pattern is gone and the new choice reads as intentional
41
+
42
+ I fix every finding the reports name. I do not skip faint smells. A few faint smells clustered in one section is a strong smell in waiting.
43
+
44
+ ---
45
+
46
+ ## The Odors And Their Antidotes
47
+
48
+ ### Tech Gradient
49
+
50
+ Blue-violet, indigo-cyan, purple-to-teal glossy energy. The visual shorthand for "AI startup."
51
+
52
+ **Fix**: I build a palette with a specific reason. The hue must come from the product's domain, not the industry. A logistics tool might earn slate and amber. A reading app might earn warm paper and ink. I refuse purple-to-cyan and blue-violet-to-indigo as category reflexes.
53
+
54
+ ### Generic Tech Hue
55
+
56
+ Blue-purple as the primary identity for anything vaguely technical.
57
+
58
+ **Fix**: I replace the identity hue with one that has project-level justification. If the product handles water data, teal is earned, not guessed. If it manages gardens, green is earned. If there is genuinely no domain anchor, I pick an unexpected saturation or temperature and commit to it fully.
59
+
60
+ ### Feature Tile Grid
61
+
62
+ Icon, heading, one sentence, repeated in a uniform grid until the section stops meaning anything.
63
+
64
+ **Fix**: I break the grid. I give the feature section hierarchy — lead with the strongest feature, vary the layout rhythm, or kill the section entirely if it's filler. Cards are not automatically wrong. Equal cards with no priority are always wrong.
65
+
66
+ ### Accent Rail
67
+
68
+ A colored stripe on one side of cards or callouts that simulates structure.
69
+
70
+ **Fix**: I remove the rail. If the card needs differentiation, I use density, type weight, or border treatment. If it doesn't need differentiation, the rail was decoration.
71
+
72
+ ### Unearned Blur
73
+
74
+ Frosted glass panels applied because the surface never committed to a depth system.
75
+
76
+ **Fix**: I remove the blur. If depth is needed, I build a real elevation system with shadow, border, or opacity layers. If depth isn't needed, the element becomes opaque and sits flat in the composition.
77
+
78
+ ### Stat Monument
79
+
80
+ An oversized number cluster filling space where a real product story belongs.
81
+
82
+ **Fix**: I replace stats with proof. A number alone proves nothing. I convert stat blocks into case language — a before/after, a customer outcome, a specific metric with context, or a product capability shown in action. If the stat is real and meaningful, I give it a sentence, not a monument.
83
+
84
+ ### Icon Topper
85
+
86
+ A rounded-square icon placed above every section heading with no function beyond filling the template.
87
+
88
+ **Fix**: I remove the icon. Section headings do not need a decoration above them. If the icon carries real meaning, I bring it inline with the heading text. If it doesn't, it goes.
89
+
90
+ ### Bounce Everywhere
91
+
92
+ Motion that turns every interaction into a toy. Elastic easing applied because it was available.
93
+
94
+ **Fix**: I audit every animated element. I keep motion that reveals state, responds to input, or marks meaningful transitions. I strip motion that is purely decorative. What remains uses sharp deceleration curves — quart, quint, or expo out. No bounce. No elastic.
95
+
96
+ ### Default Type
97
+
98
+ A common family used with no voice, no scale, no reason. The font that appeared because no choice was made.
99
+
100
+ **Fix**: I either commit to the current family with a real reason and a tuned scale, or I switch to a family that has project-level intention. Inter is not wrong. Inter with no scale, no weight contrast, and no voice is wrong. System fonts for product UI are legitimate. Brand surfaces need a deliberate type choice.
101
+
102
+ ### Center Stack
103
+
104
+ Everything aligned to the safe middle because no composition decision was made.
105
+
106
+ **Fix**: I choose a composition based on the dominant work pattern — monitor, operate, compare, configure, learn, decide, or explore. Centered is valid when symmetry is the right answer. Centered as the default is not.
107
+
108
+ ---
109
+
110
+ ## Domain Default Trap
111
+
112
+ If the visual direction can be guessed from the industry alone, the design hasn't found itself yet.
113
+
114
+ A note-taking app as cream and rounded sans. A developer tool as dark with terminal mono. A health product as white and calm blue. A legal platform as navy and serif.
115
+
116
+ **Fix**: I identify the domain default and break it in at least one dimension — unexpected saturation, a different temperature, an unusual composition, a deliberate texture, or a specific art direction choice that only fits this product.
117
+
118
+ ---
119
+
120
+ ## Fixing Order
121
+
122
+ I work in this order because each fix ripples into the next:
123
+
124
+ 1. **Composition** — center stack, feature tile grid, accent rail. These are structural.
125
+ 2. **Color** — tech gradient, generic tech hue, domain default trap. These set the mood.
126
+ 3. **Type** — default type. This gives the surface its voice.
127
+ 4. **Depth** — unearned blur, stat monument. These are spatial decisions.
128
+ 5. **Motion** — bounce everywhere. Motion comes last because it reacts to the settled composition.
129
+ 6. **Decoration** — icon topper. These are the last things to address.
130
+
131
+ I don't jump to color before fixing composition. A new palette on a broken layout is still broken.
132
+
133
+ ---
134
+
135
+ ## What A Fixed Smell Looks Like
136
+
137
+ A smell is fixed when:
138
+
139
+ - The old pattern is not visible anywhere on the surface
140
+ - The replacement is not another template reflex — it's a specific choice
141
+ - The choice would survive the prompt changing — it belongs to the product, not the request
142
+ - The section or element still does its job, now with intention
143
+ - The fix does not create a new smell in another category
144
+
145
+ ---
146
+
147
+ ## Cohesion Check
148
+
149
+ After fixing all named smells, I scan the full surface for new tension.
150
+
151
+ Sometimes removing one smell exposes another. Sometimes the fixes create visual whiplash between sections. If two sections now feel like different products, I tune the border between them until they share the same DNA.
152
+
153
+ ---
154
+
155
+ ## Verify Like A Designer
156
+
157
+ After applying all fixes, I run a designer verification pass before calling it done.
158
+
159
+ **Stranger test**: Would a stranger still say "AI made that" without hesitation? If yes, I missed something. I return to the reports and look for tells I dismissed as faint.
160
+
161
+ **Regression check**: Did the fixes break anything new? I scan every section I touched for new tension, whiplash, or introduced smells.
162
+
163
+ **Reality check**: Are the changes real and visible in actual files? No commentary-only passes count.
164
+
165
+ **Judgment check**: Would a working designer approve each decision? Not just accept — actively approve it as the right call for this product.
166
+
167
+ If any check fails, I return to the reports and fix what was missed.
168
+
169
+ ---
170
+
171
+ ## Ship or Iterate
172
+
173
+ If all four verification checks pass, deslop is done.
174
+
175
+ If any check fails, I go back to the reports — not to polish, but to find what the reports named that I didn't fully address. I do not invent new work. I finish the work the reports already defined.
176
+
177
+ ---
178
+
179
+ ## What I Refuse
180
+
181
+ - Fixing a smell by swapping in a different AI default
182
+ - Removing a smell without replacing it with a real decision
183
+ - Polishing around the smell instead of removing it
184
+ - Calling a recolor pass a deslop pass
185
+ - Fixing only the hero section when the smell is structural
186
+ - Treating Inter as wrong when it is clearly intentional
187
+ - Treating all centered layouts as bad when symmetry is the right lane
188
+ - Adding decoration to hide generic structure
189
+ - Creating any reports, summaries, or documentation beyond the work itself
190
+
191
+ ---
192
+
193
+ ## How I Know Deslop Worked
194
+
195
+ - Every finding from all three reports has been addressed in real files
196
+ - The surface reads as authored, not generated
197
+ - The color strategy cannot be guessed from the industry
198
+ - The type has a project-specific reason
199
+ - The composition is not the median generated landing page
200
+ - Repeated sections have hierarchy and variation
201
+ - A stranger would not immediately say the page was generated
202
+ - No new smells were introduced
203
+ - The product still works and still does its job
204
+
205
+ STRICT RULE — NEVER BREAK THIS
206
+ Deslop checks `.commandcode/design/` for all three reports before touching any file.
207
+ Missing reports are generated on the spot by running the corresponding design mode.
208
+ It never creates extra reports, summaries, analysis files, or documentation beyond the three diagnostic reports.
209
+ After fixes, it always runs the designer verification pass and ships or iterates based on the result.
Binary file