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 +84 -330
- package/package.json +5 -3
- package/plugin/.claude-plugin/plugin.json +2 -2
- package/plugin/dist/markilo.mjs +318 -250
- package/plugin/skills/gallery/SKILL.md +6 -5
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="
|
|
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
|
-
|
|
10
|
-
|
|
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="
|
|
16
|
-
<img alt="
|
|
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
|
-
|
|
23
|
-
|
|
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
|
-

|
|
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
|
-
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
|
44
|
-
<td
|
|
45
|
-
|
|
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
|
-
|
|
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
|
-
|
|
168
|
-
|
|
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="
|
|
173
|
-
<td><img src="
|
|
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>
|
|
177
|
-
|
|
178
|
-
<td><sub>
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
224
|
-
|
|
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
|
-
|
|
261
|
-
|
|
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
|
-
|
|
265
|
-
|
|
266
|
-
|
|
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
|
-
|
|
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
|
-
|
|
272
|
-
|
|
273
|
-
|
|
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
|
-
|
|
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
|
-
|
|
86
|
+
In Claude Code:
|
|
302
87
|
|
|
303
88
|
```text
|
|
304
|
-
|
|
305
|
-
|
|
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
|
-
|
|
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
|
-
|
|
348
|
-
|
|
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
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
```bash
|
|
368
|
-
npm run ci
|
|
99
|
+
npm install -g markilo
|
|
369
100
|
```
|
|
370
101
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
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
|
|
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.
|
|
4
|
-
"description": "
|
|
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.
|
|
5
|
-
"description": "
|
|
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"
|