markilo 1.1.1 → 1.1.2

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,379 +1,133 @@
1
1
  <p align="center">
2
2
  <picture>
3
- <source media="(prefers-color-scheme: dark)" srcset="assets/logo-dark.svg">
4
- <img src="assets/logo-light.svg" alt="Markilo" width="360">
3
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cihantopac/markilo/markilo--v1.1.2/assets/logo-dark.svg">
4
+ <img src="https://raw.githubusercontent.com/cihantopac/markilo/markilo--v1.1.2/assets/logo-light.svg" alt="Markilo" width="340">
5
5
  </picture>
6
6
  </p>
7
7
 
8
+ <h3 align="center">A brand identity studio inside Claude Code.</h3>
9
+
8
10
  <p align="center">
9
- <b>The open-source brand identity studio for Claude Code.</b><br>
10
- Research a brand, design original SVG identities, check them against the marks and names you collected, and export every asset you need.
11
+ Three original identities for your product, drawn as real SVG and checked for originality.<br>
12
+ You compare them, choose or ask for changes — and get every file the product needs.
11
13
  </p>
12
14
 
13
15
  <p align="center">
14
16
  <a href="https://github.com/cihantopac/markilo/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/cihantopac/markilo/actions/workflows/ci.yml/badge.svg"></a>
15
- <a href="LICENSE"><img alt="License: Apache-2.0" src="https://img.shields.io/badge/license-Apache--2.0-d12c12"></a>
16
- <img alt="Version" src="https://img.shields.io/badge/version-1.1.1-101218">
17
- <img alt="Platforms" src="https://img.shields.io/badge/platforms-macOS%20%7C%20Linux%20%7C%20Windows-101218">
17
+ <a href="https://www.npmjs.com/package/markilo"><img alt="npm" src="https://img.shields.io/npm/v/markilo?color=7e1d2a&label=npm"></a>
18
+ <a href="https://github.com/cihantopac/markilo/blob/main/LICENSE"><img alt="License: Apache-2.0" src="https://img.shields.io/badge/license-Apache--2.0-16120f"></a>
18
19
  </p>
19
20
 
20
- ---
21
-
22
- Markilo is not a "generate a logo" prompt. It is a Claude Code plugin plus a deterministic toolchain that
23
- **researches** a product, **designs** original vector marks, **measures** them (small-size legibility,
24
- balance, contrast, one-color reproduction), **compares** them against competitors and each other, and
25
- **exports** a complete, platform-correct asset kit — all locally, with no servers, paid APIs or accounts.
26
-
27
- ![Markilo's own identity: every logo file, exported by Markilo](assets/kit-overview.png)
21
+ <p align="center">
22
+ <img src="https://raw.githubusercontent.com/cihantopac/markilo/markilo--v1.1.2/assets/screens/gallery.png" alt="The Markilo Gallery showing three proposals, A Hallmark, B Inktrap and C Seal, side by side" width="100%">
23
+ </p>
24
+ <p align="center"><sub>The Gallery with Markilo's own round of three proposals (from <a href="https://github.com/cihantopac/markilo/tree/main/branding">branding/</a>; the chosen one, A, already shows its finished icon).</sub></p>
28
25
 
29
- <sub>Markilo's identity was made by running Markilo 1.1 on itself, with its owner choosing: one round of three proposals
30
- by the Opus designer ($9.57, 18 min), from which the owner kept one word, a monograph-style serif cut with one 45-degree
31
- chisel and dotted with an oxblood lozenge; three new icon options for it ($4.11), of which the owner chose the M and
32
- asked for it symmetric, redrawn with Markilo's own `construct` toolchain; then finalize and export. Every image in this
33
- README and the plugin icon is an unedited Markilo export (`branding/`). No trademark registry search has been done
34
- yet; the guidelines say so.</sub>
26
+ ## Three proposals → Compare → Select or request changes → Finalize → Export
35
27
 
36
- ## Made with Markilo
37
-
38
- Three open-source tools from the same author got their brand identities from Markilo 1.1. Each came from one round of
39
- three proposals with its owner choosing; the logos below are the files Markilo exported, unedited.
28
+ Markilo reads your product, writes a short brief and draws **three genuinely different identities**. In the Gallery you
29
+ see each one on light and dark, as an app icon and at 16 px, with its idea, its strengths and its honest weaknesses.
30
+ Nothing is finalized without your choice.
40
31
 
41
32
  <table>
42
33
  <tr>
43
- <td align="center" width="33%"><a href="https://github.com/cihantopac/relivaro"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/made-with/relivaro-dark.svg"><img src="assets/made-with/relivaro-light.svg" alt="Relivaro" height="44"></picture></a><br><a href="https://github.com/cihantopac/relivaro"><b>Relivaro</b></a><br><sub>Software quality, security, reliability and release engineering</sub></td>
44
- <td align="center" width="33%"><a href="https://github.com/cihantopac/searvex"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/made-with/searvex-dark.svg"><img src="assets/made-with/searvex-light.svg" alt="Searvex" height="44"></picture></a><br><a href="https://github.com/cihantopac/searvex"><b>Searvex</b></a><br><sub>Search intelligence: technical SEO and GEO audits with safe fixes</sub></td>
45
- <td align="center" width="33%"><a href="https://github.com/cihantopac/jourilo"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/made-with/jourilo-dark.svg"><img src="assets/made-with/jourilo-light.svg" alt="Jourilo" height="44"></picture></a><br><a href="https://github.com/cihantopac/jourilo"><b>Jourilo</b></a><br><sub>Product experience and conversion engineering</sub></td>
34
+ <td width="34%" valign="top"><img src="https://raw.githubusercontent.com/cihantopac/markilo/markilo--v1.1.2/assets/screens/gallery-request.png" alt="A proposal with Request changes chosen: chips for simpler and better at small sizes, a note, and a pin on the mark"></td>
35
+ <td valign="top"><img src="https://raw.githubusercontent.com/cihantopac/markilo/markilo--v1.1.2/assets/screens/gallery-compare.png" alt="Two proposals compared side by side, each with a Prefer this button"></td>
36
+ </tr>
37
+ <tr>
38
+ <td><sub><b>Request changes</b> in your words: pick what to change, add a note, or pin a spot on the mark.</sub></td>
39
+ <td><sub><b>Compare</b> any two side by side and say which you prefer and why. Your decisions go straight back to Claude.</sub></td>
46
40
  </tr>
47
41
  </table>
48
42
 
49
- How each one was made, what it cost and what the owner chose at every step is in
50
- [docs/RELEASE-1.1.md](docs/RELEASE-1.1.md) (products A, B and C, in this order).
51
-
52
- ## Highlights
53
-
54
- - **Brand intelligence, with receipts.** Repository and website scans, competitor and market research, and a persistent
55
- Brand Intelligence Profile where every finding is `observed`, `inferred`, `verified` or `user-provided` and carries a
56
- source and a date. Markilo reads what the product actually does — value proposition, features, audience, surfaces,
57
- platforms, languages, pricing — and keeps what the product states apart from what it inferred. Unknowns are recorded
58
- as gaps instead of guesses.
59
- - **Originality engine.** Silhouette overlap under rotation and mirroring, perceptual hashes (aHash/dHash/DCT pHash),
60
- structural descriptors, palette distance (CIEDE2000), stock-primitive detection, concept-to-concept diversity, name
61
- confusion (spelling, sound, stems) and trademark pre-screening plans for WIPO, TMview, USPTO, TÜRKPATENT and UKIPO —
62
- written up as an Originality & Similarity Report with side-by-side overlays. Verdicts say how much evidence they rest
63
- on — counted in distinct brands, with official, store and catalog sources rated apart: with too few references or no
64
- logged registry searches the answer is `insufficient-evidence`, never "clear". Calibrated on 24 real brands' logos
65
- (AUC 0.99; mirrored, rotated and recolored copies always caught; see [docs/ORIGINALITY.md](docs/ORIGINALITY.md)). It
66
- finds conflicts among what was collected; it cannot prove a mark is unique or registrable.
67
- - **Three proposals, your choice.** Markilo reads the product, writes a short brief, and shows three genuinely
68
- different, visually developed identities side by side — each with its word, a compact icon, light and dark previews,
69
- the idea in one sentence, strengths and honest weaknesses. You select one, ask for changes, combine two, or reject
70
- all three with a note; after two rounds it asks you for direction instead of guessing on. Nothing is finalized
71
- without your choice.
72
- - **Drawn, not assembled.** Designers draw freely: Bézier contours, custom letterforms built from real font outlines
73
- and their own strokes, ligatures and treatments that run through the whole word. Wordmark-led by default for coined
74
- names. `proposals` measures how close each word still is to its typeface set plainly, so "a stock font with a
75
- coloured dot" is caught before you see it; it also flags an icon drawn on its own tile.
76
- - **Development keeps what you chose.** The drawing you picked is kept; after development you see it next to the
77
- result, with two or three icon options to choose from in the same decision.
78
- - **Real design output.** Construction specs (primitives, booleans, gaps, fillets, repeats and real letterforms,
79
- compiled with Skia's path engine) when they help, freeform SVG when it is better. Wordmarks outlined from 24 bundled
80
- OFL families with real kerning (Turkish and other Latin-extended letters checked in every weight); changed letters
81
- are measured against the font's own alphabet, so a word that would be misread is caught. Lockups aligned to cap
82
- height, OKLCH tonal palettes with WCAG pairs.
83
- - **Looks before it talks.** Every concept is rendered to a review sheet (16–256 px, light, dark, black, white) and a
84
- context sheet (a browser tab, a home screen next to the competitors, a site header, an avatar). One independent
85
- critic reads the developed identity cold — what a stranger sees first, scores and concrete craft fixes — as advice
86
- for you, never as a gate in front of you.
87
- - **Costs in the open.** `markilo cost` records each phase against a budget (default $12) and stops paid work when it
88
- is reached. Your references — logos, screenshots, mood boards, sketches you like or dislike — guide the design and are
89
- checked for originality like any competitor mark.
90
- - **Complete asset kit.** Logo variants, favicons, PWA + maskable icons, iOS (incl. dark/tinted and Icon Composer
91
- layers), macOS `.icns`, Android adaptive + themed icons, Windows ICO + MSIX assets, Open Graph and social images,
92
- marketing templates, design tokens and brand guidelines, with a manifest of sizes and hashes. You get what the
93
- product needs: a web app gets web, social, tokens and guidelines; app and desktop icon sets are one question away.
94
- - **Brand Preview Gallery.** One offline HTML file comparing concepts on realistic surfaces (browser tab, home screen,
95
- Dock, store listing, link preview, business card). Pin notes on the mark itself, compare two concepts side by side,
96
- mark a preferred one, and send the decisions straight back to Claude (`gallery --serve`, local only) or paste them.
97
- - **Monorepo-aware.** Finds the sites, apps and packages of a monorepo, registers the user-facing ones as brands of a
98
- family, and researches each separately — including existing icon sets and design-system docs.
99
- - **Families and locked brands.** Multi-product families share a system; existing identities can be **locked** so they
100
- are reproduced byte-for-byte and never redesigned.
101
- - **Fits your stack.** `install-assets --framework auto` puts the files where Next.js (App Router metadata files),
102
- Laravel, Flutter (Android, iOS and web) or a static site expects them — a dry run first, backups before anything is
103
- replaced.
104
- - **Not tied to one AI.** Claude Code is home, but the toolchain is a plain CLI: `agent-setup` gives VS Code with
105
- Copilot, Codex and Cursor the same workflow, with the researcher, designer and critic as sub-agents on the models
106
- you choose (see [docs/INTEGRATIONS.md](docs/INTEGRATIONS.md)).
107
-
108
- ## Measured quality
109
-
110
- **1.1, steered (validation on three real products).** The 1.1 workflow was validated on three real developer tools
111
- with their owner choosing at each step, and measured with Claude Code's own cost report. All three reached an identity
112
- the owner accepted. The first took about $15 across seven runs while the process was being corrected; with its lessons
113
- adopted, the second took $11.27 (one round, one development, one change made directly) and the third $5.29 (one round,
114
- finished as chosen). Every step, its cost and what it taught is in [docs/RELEASE-1.1.md](docs/RELEASE-1.1.md). 1.0
115
- spent $6.85 on the first product unattended and showed nothing. This is three products and one owner's judgment, not a
116
- benchmark.
117
-
118
- **1.0 and earlier, unattended (benchmark).** Markilo is benchmarked end to end with nobody steering, on nine realistic products (an independent SaaS, a mobile
119
- app, a multi-product family, a developer tool, an online shop, a B2B platform, a learning app, a feature-flag service
120
- and a team secrets manager). Six of them were **holdouts** for a while: written before the changes they test and
121
- never used for tuning until those results were in. The plugin researches, writes the brief, designs, critiques, and
122
- finalizes only what passes its own gate. Blind judges then rate every critiqued concept from the brief and the images
123
- alone. Every run, image and score is in [bench/](bench).
124
-
125
- | Version | Runs | Passed the gate | Opus 5.5 judge would present (of concepts it judged) | Time per run | Cost per run (API equivalent) |
126
- | ------------ | ------------------------------------------- | ------------------------ | ---------------------------------------------------- | ------------ | ----------------------------- |
127
- | 0.4.0-rc.1 | 3 | 0 | — | 11–21 min | $2.61–3.67 |
128
- | 0.4.0-rc.2 | 3 | 1 | — | 8–15 min | $1.60–2.68 |
129
- | 0.4.0-rc.3 | 3 | 2 | 0 of 2 (the two that passed) | 14–24 min | $3.15–4.37 |
130
- | 0.4.0-rc.5 | 9 (6 on holdouts) | 2 | 0 of 12 | 10–19 min | $2.29–4.41 |
131
- | 0.4.0-rc.7 | 11 (2 new holdouts) | 0 | 2 of 5 — both rejected by the gate | 6–16 min | $1.66–3.30 |
132
- | 0.4.0-rc.8 | 9 | 0 | 0 of 3 — the recalibrated gate agreed on all 3 | 8–18 min | $1.91–3.48 |
133
- | 0.4.0 (rc.9) | 9 | 2 | Portwise 2 of 4 looks, Dozeline 0 of 4 | 14–28 min | $3.00–7.13 |
134
- | 0.5.0-rc.1 | 9 (4 on new holdouts) | 2 | 2 of 29, the two that passed (3/3 and 2/3 looks) | 14–36 min | $3.37–5.86 |
135
- | **1.0.0** | **14 (5 sealed holdouts, 9 on real tools)** | **2, both false passes** | **0 of 43 (Opus + Sonnet panel)** | 21–35 min | $6.85–13.87 |
136
-
137
- What this shows, plainly:
138
-
139
- - **1.0 did not make unattended work better, and says so.** On five briefs sealed before any 1.0 change and on three
140
- real developer tools, an independent panel (Opus and Sonnet, blind) would present none of the 1.0 concepts; it would
141
- not have presented the 0.5.0-rc.1 ones either. The two 1.0 gate passes were edge passes the panel rejected; the
142
- gallery now marks such passes "at the edge". What 1.0 did improve is everything around the design: safety, the
143
- install transaction, letter checks, typefaces, the critique process and the evidence. See
144
- [bench/results/1.0.0](bench/results/1.0.0).
145
-
146
- - **Unattended, Markilo still rarely reaches its own gate** — 6 of the 47 validation runs since rc.5, 2 of 12 on
147
- briefs that were still untouched holdouts when they ran.
148
- - **For the first time, what passes is what a strict judge would present.** In 0.5.0-rc.1 the gate and the Opus judge
149
- (the majority of three looks per concept) agreed on all 29 critiqued concepts, and both identities that passed —
150
- Quillnest, and Pinehold on a brief written for this round — were presentable to the judge. In 0.4.0 the two that
151
- passed split it 2 of 4 and 0 of 4.
152
- - **Words beat invented symbols.** Both passes were wordmark-led: the name drawn from a real typeface with one letter
153
- changed, the icon cut from it (2 of 13 judged presentable; invented symbols 0 of 16). Symbols assembled from
154
- rectangles, circles and polygons keep reading as UI icons or objects — a power button, a wallet, an eye.
155
- - **Reworking a failed idea does not work, so Markilo stopped doing it.** Of 34 concepts sent back after a failed gate
156
- in earlier rounds, one passed later, after three rounds. The gate now says `fix` once or `reject`; in rc.1 one
157
- concept got a fix round, and the budget went to more directions instead (43, up from 27).
158
- - **How the gate got here was measured.** The critic's scores given after reading the rationale barely tracked the
159
- strict judge (Spearman 0.20 on 32 concepts), a cold look did much better (0.51); the gate rests on the cold look.
160
- Across all runs the gate and the judges agreed on 77 of 86 critiqued concepts. When nothing passes, Markilo says
161
- so and nothing is finalized or exported.
162
- - **What moved the needle was measured, not guessed.** Hairline gaps came from Markilo's own guide; clichés reached
163
- development because the sketch review picked the best of weak boards; the name's initial with a cut became the
164
- default move once objects were ruled out; same-colour layers left seams. Each was found in the runs and fixed in
165
- the plugin. The model was not the bottleneck (Opus 5.5 as designer did no better on the SaaS brief).
43
+ ## Made with Markilo
166
44
 
167
- Markilo is built to work with you: you pick the sketch to develop, react in the gallery and decide. Unattended runs
168
- measure the floor. The two that passed in 0.5.0-rc.1, as exported (fictional products, no human edits):
45
+ Real products, each from one round of three proposals with its owner choosing. These are the files Markilo exported,
46
+ unedited.
169
47
 
170
48
  <table>
171
49
  <tr>
172
- <td><img src="bench/results/0.5.0-rc.1/edu-app/quillnest/overview.png" alt="Quillnest logo files made by Markilo unattended"></td>
173
- <td><img src="bench/results/0.5.0-rc.1/secrets-team-r2/pinehold/overview.png" alt="Pinehold logo files made by Markilo unattended"></td>
50
+ <td width="33%"><a href="https://github.com/cihantopac/relivaro"><img src="https://raw.githubusercontent.com/cihantopac/markilo/markilo--v1.1.2/assets/made-with/relivaro-og.png" alt="Relivaro identity: a cairn of stones and the word Relivaro"></a></td>
51
+ <td width="33%"><a href="https://github.com/cihantopac/searvex"><img src="https://raw.githubusercontent.com/cihantopac/markilo/markilo--v1.1.2/assets/made-with/searvex-og.png" alt="Searvex identity: a broad-nib V and the word searvex"></a></td>
52
+ <td width="33%"><a href="https://github.com/cihantopac/jourilo"><img src="https://raw.githubusercontent.com/cihantopac/markilo/markilo--v1.1.2/assets/made-with/jourilo-og.png" alt="Jourilo identity: a book serif with a hanging J"></a></td>
174
53
  </tr>
175
54
  <tr>
176
- <td><sub>Quillnest (writing coach for teenagers): passed the gate; Opus judge "present" in 3 of 3 looks, 6.3 — "a
177
- smiling face built from a q, with the orange dot as a nose".</sub></td>
178
- <td><sub>Pinehold (secrets manager for small teams, a fresh holdout): passed the gate; Opus judge "present" in 2 of 3
179
- looks, 6.3 — "an arch or doorway sheltering an orange seed".</sub></td>
55
+ <td><sub><b>Relivaro</b> — release engineering. ≈ $15, seven runs while the 1.1 process was being corrected.</sub></td>
56
+ <td><sub><b>Searvex</b> — search intelligence. $11.27: one round, one development, one direct change.</sub></td>
57
+ <td><sub><b>Jourilo</b> — product experience. $5.29: one round, finished as chosen.</sub></td>
180
58
  </tr>
181
59
  </table>
182
60
 
183
- ## Install
184
-
185
- Requirements: [Claude Code](https://code.claude.com) and Node.js ≥ 20.10. Nothing else — the toolchain ships prebuilt
186
- (pure JavaScript + WebAssembly) and works on macOS, Linux and Windows.
187
-
188
- In Claude Code:
189
-
190
- ```text
191
- /plugin marketplace add cihantopac/markilo
192
- /plugin install markilo@markilo
193
- ```
194
-
195
- Or from a terminal:
196
-
197
- ```bash
198
- claude plugin marketplace add cihantopac/markilo
199
- ```
200
-
201
- ```bash
202
- claude plugin install markilo@markilo
203
- ```
204
-
205
- To update later: `claude plugin marketplace update markilo`, then `claude plugin update markilo@markilo` and restart
206
- Claude Code.
207
-
208
- Without Claude Code — for other coding agents ([docs/INTEGRATIONS.md](docs/INTEGRATIONS.md)) and scripts — the same
209
- toolchain is on npm:
210
-
211
- ```bash
212
- npm install -g markilo
213
- ```
214
-
215
- Then `markilo help`; to run without a global install, use `npx markilo <command>`.
216
-
217
- ### `/markilo` and `/markilo:design`
61
+ Markilo's own identity came out of the same process: $13.68 for one round and three icon options.
218
62
 
219
- After installing, both `/markilo` and `/markilo:design` start the studio (verified with Claude Code 2.1.308). If another
220
- command already uses the name `/markilo` on your machine, Markilo can install a tiny personal skill that forwards to the
221
- plugin. It never touches files it did not create:
63
+ ## The kit you get
222
64
 
223
- ```bash
224
- node ~/.claude/plugins/marketplaces/markilo/plugin/dist/markilo.mjs shortcut install --yes
225
- ```
226
-
227
- (`shortcut status` and `shortcut uninstall --yes` are available too.)
228
-
229
- ## Use
230
-
231
- | Command | What it does |
232
- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------- |
233
- | `/markilo:design <url, repo, name or task>` | The full studio: understand → three proposals → your choice → develop → verify → export |
234
- | `/markilo:research <url or repo>` | Brand Intelligence Profile and brief only |
235
- | `/markilo:concepts <brand>` | One round of three visually developed proposals for you to choose from |
236
- | `/markilo:originality <concept, file or name>` | Similarity analysis, name check and trademark pre-screening plan |
237
- | `/markilo:refine <brand> <concept> <feedback>` | Develop the concept you chose, with icon options and one critique, then finalize on your approval |
238
- | `/markilo:export <brand>` | Generate the asset kit (optionally install web assets into your project) |
239
- | `/markilo:gallery` | Build the Brand Preview Gallery |
240
- | `/markilo:audit <logo or brand>` | Evaluate an existing identity: keep, refresh or redesign |
241
-
242
- Requests can be written in any language; files and reports are produced in English.
243
-
244
- ### A typical session
245
-
246
- ```text
247
- you › /markilo:design ./ — we're launching this as a product, it needs an identity
248
- › Understand: README, interface colours and type, five competitor marks (with your OK), a short brief,
249
- two questions with suggested answers, and "any logos, screenshots or sketches you like or dislike?"
250
- › Explore: three designers draw three directions in parallel — a worked wordmark, a symbol with a matching
251
- word, a warmer route — rendered side by side (proposals/round-1.png) with strengths and risks
252
- › You, in the gallery: "the second one, but the icon should come from the first"
253
- › Develop: the chosen word refined, three icon options, your choice shown next to the result
254
- › Verify: checks clean, one cold critique ("option C reads as a person icon at 32 px"), originality report
255
- › You: "icon B, approved" → Finalize → Export: 81 files → Next.js detected (dry run, 0 overwrites)
256
- ```
257
-
258
- ### Monorepos and product families
65
+ <p align="center">
66
+ <img src="https://raw.githubusercontent.com/cihantopac/markilo/markilo--v1.1.2/assets/kit-overview.png" alt="Every Markilo logo file: primary, secondary, compact, symbol and wordmark in color, reversed, black and white" width="100%">
67
+ </p>
259
68
 
260
- ```text
261
- /markilo:research This is our product family monorepo at ./ — sites in products/, apps in apps/. The Ledger app's existing identity is locked.
262
- ```
69
+ Logos in color, reversed, black and white (SVG + PNG) · favicons, PWA and maskable icons · iOS, macOS, Android and
70
+ Windows app icons · Open Graph and social images · design tokens · brand guidelines · a manifest with sizes and
71
+ checksums. Each kit opens with a preview page that shows every file on the background it is made for:
263
72
 
264
- Markilo runs `research monorepo`, shows you the packages it considers brands, and after you confirm registers them
265
- (with their folders) and scans each one. Work then proceeds family-first: shared system, master brand, sites one by one,
266
- and many apps as one coherent app-icon system. Exports can be copied into any package with
267
- `install-assets --project <folder>` (dry run first).
73
+ <p align="center">
74
+ <img src="https://raw.githubusercontent.com/cihantopac/markilo/markilo--v1.1.2/assets/screens/kit-preview.png" alt="The asset kit preview page for Markilo: the primary logo on paper and on dark, the palette and a Start here table" width="100%">
75
+ </p>
268
76
 
269
- ## What you get
77
+ The Gallery, the kit preview and the guidelines work offline from a single file, in **English or Turkish**, in
78
+ **light, dark or system** theme — on a phone too.
270
79
 
271
- ```text
272
- brand/
273
- ├── markilo.json # workspace: brands, family
274
- ├── brands/<slug>/
275
- │ ├── brief.json · profile.json · answers.json · decisions.md
276
- │ ├── research/references/ # competitor marks for comparison (git-ignored)
277
- │ ├── concepts/<id>/ # concept.json, symbol.svg, wordmark.svg, review/*.png
278
- │ ├── reports/ # originality-<id>.md|json, quality-<id>.md|json
279
- │ ├── final/ # approved masters + brand.json
280
- │ └── exports/
281
- │ ├── index.html # open first: a preview of every file on the background it is made for
282
- │ ├── README.md # the files most people need, what each folder holds
283
- │ ├── logos/ # primary, secondary, compact, symbol, wordmark × color/reversed/black/white (SVG + PNG), appmark
284
- │ ├── web/ # favicon.svg (dark-mode aware), favicon.ico, apple-touch-icon, icon-*/maskable-*, site.webmanifest, head-snippet.html
285
- │ ├── ios/ # AppIcon.appiconset (default, dark, tinted), icon-composer/ layers
286
- │ ├── macos/ # AppIcon.icns, .iconset, full-bleed 1024 for macOS 26+
287
- │ ├── android/ # mipmap-* legacy + adaptive foreground/background/monochrome, anydpi-v26 XML, Play icon
288
- │ ├── windows/ # app.ico, MSIX Assets (scales, target sizes, unplated variants)
289
- │ ├── social/ # og-image (+dark), GitHub social preview, X header, LinkedIn cover, avatar
290
- │ ├── marketing/ # watermarks, email signature, title slide, business card
291
- │ ├── tokens/ # tokens.json (W3C DTCG), tokens.css, palette.json
292
- │ ├── guidelines/ # brand-guidelines.md, index.html
293
- │ └── asset-manifest.json # every file: purpose, size, sha256, source master
294
- └── gallery/index.html # Brand Preview Gallery
295
- ```
80
+ <p align="center">
81
+ <img src="https://raw.githubusercontent.com/cihantopac/markilo/markilo--v1.1.2/assets/screens/gallery-mobile-tr-dark.png" alt="The Gallery on a phone, in Turkish and dark theme" width="300">
82
+ </p>
296
83
 
297
- Platform sizes and safe zones are kept in [`src/export/specs.ts`](src/export/specs.ts) with the official source for
298
- each requirement (Apple HIG and Xcode docs, Android Developers, Microsoft Learn, W3C/MDN/web.dev, OGP, GitHub, LinkedIn).
299
- See [docs/OUTPUTS.md](docs/OUTPUTS.md).
84
+ ## Install
300
85
 
301
- ## How it works
86
+ In Claude Code:
302
87
 
303
88
  ```text
304
- Claude Code ── skills/ (process: research, strategy, design, critique) ── agents/ (researcher, designer, critic)
305
- │ node ${CLAUDE_PLUGIN_ROOT}/dist/markilo.mjs …
306
- ▼
307
- Toolchain (src/ → plugin/dist/): XML/SVG lint & optimize · resvg-wasm rendering · shape features & perceptual hashes ·
308
- similarity & genericity · quality scorecard · fontkit wordmarks · lockups · OKLCH palettes · research scanners ·
309
- originality & quality reports · exporters (ICO/ICNS encoders) · gallery · guidelines
310
- ```
311
-
312
- The rule that keeps it honest: **anything measurable comes from code; anything judged is labeled as judgment.**
313
- Read [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) and [docs/ORIGINALITY.md](docs/ORIGINALITY.md).
314
-
315
- ## The toolchain on its own
316
-
317
- The same CLI runs without Claude Code — useful in CI or scripts:
318
-
319
- ```bash
320
- node plugin/dist/markilo.mjs help
321
- ```
322
-
323
- ```bash
324
- node plugin/dist/markilo.mjs compare my-logo.svg competitor.png
89
+ /plugin marketplace add cihantopac/markilo
90
+ /plugin install markilo@markilo
325
91
  ```
326
92
 
327
- Examples: `wordmark --text "Acme" --font sora --weight 600 -o acme.svg`, `score logo.svg`, `palette "#f45d2c"`,
328
- `render logo.svg -o sheet.png --sheet`, `name check Acme --against Acmo,Akme`. Every command prints JSON.
329
-
330
- ## Privacy and permissions
331
-
332
- - Everything runs locally, with no accounts, servers or paid APIs. The toolchain reaches the network only in the
333
- research and font commands (`research site`, `research competitors`, `research app`, `fonts search/add`), which require
334
- `--allow-network`; the skills ask you first, and before web searches that would reveal unreleased names. Site
335
- research honours `robots.txt`.
336
- - The repository scanner never opens secret-like files (`.env*`, keys, credentials), and profiles store project-relative
337
- paths, never your user name or folder layout.
338
- - Markilo writes only inside the brand workspace (`./brand`). Copying assets into your project is a dry run until you
339
- approve `--apply`; existing files are never overwritten without `--force` and are backed up first.
340
- - `gallery --serve` listens on `127.0.0.1` only, with a random token, and serves only the gallery and approved artwork.
341
- - Raw research captures and competitor references are git-ignored inside the workspace.
342
-
343
- Details: [docs/PRIVACY.md](docs/PRIVACY.md) · [SECURITY.md](SECURITY.md).
344
-
345
- ## Limitations
93
+ Then: `/markilo <your repo, URL or product name>`.
346
94
 
347
- - **Not legal advice.** Similarity analysis and registry pre-screening do not clear a trademark. No results ≠ unique.
348
- Use a trademark attorney before adopting a brand.
349
- - Automated similarity measures form, composition, structure and color. **Conceptual** similarity (the same idea drawn
350
- differently) is judged by the critic agent and by you.
351
- - Reference comparison covers only the marks collected for the brand; collecting good references matters.
352
- - Raster images (PNG/JPEG) are analyzed for similarity; vector tracing of raster logos is not included.
353
- - Icon Composer (`.icon`) files are not written directly; Markilo exports the layer sources to import.
354
- - X (Twitter) image sizes could not be verified against x.com documentation (blocked to automated readers).
355
- - Design quality depends on the model and on your direction. Unattended, 1.0 produced no identity an independent panel
356
- would present ([bench/results/1.0.0](bench/results/1.0.0)). 1.1 is built to be steered: in its validation three real
357
- products reached identities their owner accepted, each from one round of proposals — judged by their owner, not a
358
- benchmark ([docs/RELEASE-1.1.md](docs/RELEASE-1.1.md)). Icons remain the hardest part (they still tend to be
359
- letters); expect to choose between options.
360
-
361
- ## Develop
95
+ Without Claude Code — for other coding agents and scripts — the same toolchain is on npm (Node.js ≥ 20.10, macOS,
96
+ Linux and Windows):
362
97
 
363
98
  ```bash
364
- npm ci
365
- ```
366
-
367
- ```bash
368
- npm run ci
99
+ npm install -g markilo
369
100
  ```
370
101
 
371
- `npm run ci` runs Biome, TypeScript, Vitest (unit, integration and bundled-CLI tests), the build and a check that the
372
- committed `plugin/dist/` matches the sources. `node scripts/smoke.mjs` takes an empty folder to installed assets with
373
- the bundle alone (CI also runs it on the copy `claude plugin install` produces). `node scripts/bench.mjs` runs the
374
- end-to-end benchmark ([bench/](bench)). Plugin evals live in [`plugin/evals/`](plugin/evals) (`claude plugin eval plugin`).
375
- See [CONTRIBUTING.md](CONTRIBUTING.md) and [docs/MAINTAINING.md](docs/MAINTAINING.md).
102
+ ## What it costs, and what it has shown
103
+
104
+ - **The toolchain is free.** It runs locally — rendering, measuring, originality checks, export — with no account,
105
+ server or paid service.
106
+ - **The design work is done by the AI model and uses your Claude Code usage.** In validation, one round of three
107
+ proposals cost $5–10 and a finished identity $5–15 (API-equivalent, measured by Claude Code; on a subscription it
108
+ counts against your plan instead). `markilo cost` tracks it against a budget you set (default $12) and stops paid
109
+ work when it is reached.
110
+ - **Steered, it works; unattended, it does not yet.** With their owner choosing, all three real products above reached
111
+ an identity the owner approved — three products and one owner's judgment, not a benchmark. Unattended, 1.0 produced
112
+ no identity a blind judge panel would present. The full record, with every run and image:
113
+ [benchmarks](https://github.com/cihantopac/markilo/blob/main/docs/BENCHMARKS.md) ·
114
+ [1.1 validation log](https://github.com/cihantopac/markilo/blob/main/docs/RELEASE-1.1.md).
115
+ - **Not legal advice.** The originality checks compare against the marks Markilo collected; they cannot prove a mark is
116
+ unique or registrable. No trademark registry search is done for you.
117
+
118
+ ## Learn more
119
+
120
+ [Usage and commands](https://github.com/cihantopac/markilo/blob/main/docs/USAGE.md) ·
121
+ [Asset outputs](https://github.com/cihantopac/markilo/blob/main/docs/OUTPUTS.md) ·
122
+ [Originality](https://github.com/cihantopac/markilo/blob/main/docs/ORIGINALITY.md) ·
123
+ [Architecture](https://github.com/cihantopac/markilo/blob/main/docs/ARCHITECTURE.md) ·
124
+ [Other coding agents](https://github.com/cihantopac/markilo/blob/main/docs/INTEGRATIONS.md) ·
125
+ [Privacy](https://github.com/cihantopac/markilo/blob/main/docs/PRIVACY.md) ·
126
+ [Security](https://github.com/cihantopac/markilo/blob/main/SECURITY.md) ·
127
+ [Changelog](https://github.com/cihantopac/markilo/blob/main/CHANGELOG.md) ·
128
+ [Contributing](https://github.com/cihantopac/markilo/blob/main/CONTRIBUTING.md)
376
129
 
377
130
  ## License
378
131
 
379
- [Apache-2.0](LICENSE). Bundled fonts are SIL OFL 1.1; see [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
132
+ [Apache-2.0](https://github.com/cihantopac/markilo/blob/main/LICENSE). Bundled fonts are SIL OFL 1.1; see
133
+ [THIRD_PARTY_NOTICES.md](https://github.com/cihantopac/markilo/blob/main/THIRD_PARTY_NOTICES.md).
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "markilo",
3
- "version": "1.1.1",
4
- "description": "AI-powered brand identity studio for Claude Code: research, originality analysis, SVG identity design, verification and complete asset export.",
3
+ "version": "1.1.2",
4
+ "description": "Brand identity studio for Claude Code: three original SVG identities to compare and choose from, originality checks, and a complete asset kit (logos, app icons, favicons, social images, tokens, guidelines).",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "author": "Cihan Topaç (https://github.com/cihantopac)",
@@ -22,7 +22,9 @@
22
22
  "favicon",
23
23
  "app-icon",
24
24
  "design-system",
25
- "originality"
25
+ "originality",
26
+ "brand-guidelines",
27
+ "design-tokens"
26
28
  ],
27
29
  "engines": {
28
30
  "node": ">=20.10"
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "markilo",
3
3
  "displayName": "Markilo",
4
- "version": "1.1.1",
5
- "description": "AI-powered brand identity studio: brand research, originality and similarity analysis, original SVG identity design with visual verification, and complete asset export (web, iOS, Android, macOS, Windows, social).",
4
+ "version": "1.1.2",
5
+ "description": "Brand identity studio: researches your product, draws three original SVG identities for you to compare and choose from, checks originality, and exports a complete asset kit (web, iOS, Android, macOS, Windows, social, tokens, guidelines).",
6
6
  "author": {
7
7
  "name": "Cihan Topa\u00e7",
8
8
  "url": "https://github.com/cihantopac"