artifold 0.5.2__tar.gz

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.
@@ -0,0 +1,19 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ build/
6
+ dist/
7
+ .venv/
8
+ venv/
9
+
10
+ # Editable installs
11
+ *.dist-info/
12
+
13
+ # OS
14
+ .DS_Store
15
+
16
+ # Editors
17
+ .vscode/
18
+ .idea/
19
+ *.swp
artifold-0.5.2/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Shubham Goel
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,325 @@
1
+ Metadata-Version: 2.4
2
+ Name: artifold
3
+ Version: 0.5.2
4
+ Summary: Local-first library for your AI-generated HTML artifacts (Claude, ChatGPT, v0, …).
5
+ Project-URL: Homepage, https://github.com/shubhamgoel27/artifold
6
+ Project-URL: Repository, https://github.com/shubhamgoel27/artifold
7
+ Project-URL: Issues, https://github.com/shubhamgoel27/artifold/issues
8
+ Project-URL: Documentation, https://github.com/shubhamgoel27/artifold#readme
9
+ Project-URL: Changelog, https://github.com/shubhamgoel27/artifold/blob/main/tasks/
10
+ Author: Shubham Goel
11
+ License: MIT
12
+ License-File: LICENSE
13
+ Keywords: artifacts,chatgpt,claude,dashboard,html,llm,local-first
14
+ Classifier: Development Status :: 3 - Alpha
15
+ Classifier: Environment :: Console
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: License :: OSI Approved :: MIT License
18
+ Classifier: Operating System :: MacOS
19
+ Classifier: Operating System :: POSIX :: Linux
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Topic :: Utilities
22
+ Requires-Python: >=3.10
23
+ Requires-Dist: platformdirs>=4.0
24
+ Requires-Dist: playwright==1.51.0
25
+ Requires-Dist: watchdog>=4.0
26
+ Provides-Extra: intent
27
+ Requires-Dist: anthropic>=0.40; extra == 'intent'
28
+ Description-Content-Type: text/markdown
29
+
30
+ # Artifold
31
+
32
+ **Your AI artifacts have a home now.** Index, search, preview, **share with one click**, and use your past work as the style guide for your next one.
33
+
34
+ ![Artifold demo](docs/demo.gif)
35
+
36
+ ---
37
+
38
+ > *"I've started preferring HTML as an output format instead of Markdown.
39
+ > The added expressiveness means I get overall better output, and the chance
40
+ > of someone actually reading your spec, report or PR writeup is much higher
41
+ > if it's in HTML. … When writing this article, I asked Claude Code to read
42
+ > through my code folder and find all the HTML files I've generated, group
43
+ > and categorize them …"*
44
+ >
45
+ > — Thariq, *[The Unreasonable Effectiveness of HTML](https://x.com/trq212/status/2052809885763747935)* (Claude Code team)
46
+
47
+ **Artifold is that library.** If you're shifting from Markdown to HTML for
48
+ specs, reports, designs, prototypes, throwaway editors — the way Thariq
49
+ describes — Artifold is where they live.
50
+
51
+ You've been making a lot of HTML with AI lately: Claude Artifacts,
52
+ ChatGPT Canvas, v0, Lovable, Cursor. They land in `~/Downloads` or some
53
+ project folder, you bookmark a tab, you mean to come back to that ROI
54
+ calculator you made three weeks ago — and you can't find it.
55
+
56
+ That's the whole reason this exists. I made a 30-day workout tracker
57
+ for my partner, lost it in a maze of folders, regenerated a worse
58
+ version, and decided to just build the index myself.
59
+
60
+ Local-first, fast, runs entirely on your machine. Plus the part where,
61
+ when you *do* want to share an artifact, it's one click to a permanent
62
+ public URL.
63
+
64
+ ## Three things you can do
65
+
66
+ ### 1. ✨ Share any artifact in seconds → public URL anyone can open
67
+
68
+ Click any card → hit the share icon → in ~30 seconds you get back a
69
+ permanent URL like `https://you.github.io/artifold-share/abc12345.html`
70
+ that you can paste into iMessage, Slack, email, anywhere. URL is copied
71
+ to your clipboard automatically.
72
+
73
+ Free forever (uses your GitHub Pages quota — no Artifold infrastructure,
74
+ no sign-up, no per-share fees, no expiry). Anyone with the link sees
75
+ the fully-rendered report; recipient needs nothing installed.
76
+
77
+ ![Share flow in detail pane](docs/share-detail.png)
78
+
79
+ ### 2. 📚 Browse everything you've made, in one place
80
+
81
+ Sidebar filters by tool, status (shared / local), category, date.
82
+ ⌘K palette to jump to anything by name, prompt, or intent. Click → in-app
83
+ preview pane, no tab spam. Dark/light themes. Live auto-rescan — drop
84
+ a new file in any watched folder and it appears within seconds.
85
+
86
+ ![Command palette](docs/cmdk.png)
87
+
88
+ ### 3. 🎨 Generate new artifacts that match your style — `/craft` skill
89
+
90
+ After installing the Claude Code skill, type `/craft a 30-day strength
91
+ tracker for a beginner` in any session. The skill:
92
+
93
+ - Reads your library to see styles you've used, then deliberately picks
94
+ a *different* direction so your next artifact doesn't look like the
95
+ last one (the "all AI output looks the same" problem, actively fought)
96
+ - OR inherits a specific style: `/craft a poker probability explainer,
97
+ like dobble` — pulls dobble's actual CSS as the design baseline
98
+ - Applies 12 opinionated design principles distilled from Refactoring UI,
99
+ Linear, and Vercel/Geist (every one cited)
100
+ - Avoids 15 specific AI-slop signatures (purple-gradient hero, identical
101
+ bento cards, decorative emoji on every list item, glassmorphism, etc.)
102
+ - Saves to `~/artifold-inbox/2026-05-26-<topic>.html` — auto-indexed in
103
+ Artifold within ~2 seconds
104
+
105
+ Your past work becomes your style guide for the next one. The loop closes.
106
+
107
+ ## Install
108
+
109
+ ### 🪄 Easiest: ask Claude Code to do it
110
+
111
+ If you have [Claude Code](https://claude.com/claude-code), paste this
112
+ prompt — Claude figures out the rest, installs everything, and walks
113
+ you through first-run:
114
+
115
+ > [!TIP]
116
+ > **Copy this into Claude Code:**
117
+ >
118
+ > ```
119
+ > Install Artifold from https://github.com/shubhamgoel27/artifold using pipx
120
+ > (or pip if pipx isn't installed). Then run `artifold init` and help me
121
+ > pick a folder to watch. After that, run `artifold install-skill` to set
122
+ > up the /craft skill. Open the dashboard when ready and tell me what
123
+ > to try first.
124
+ > ```
125
+
126
+ That's the whole install. No terminal commands to memorize, no
127
+ dependencies to debug — Claude handles the awkward parts.
128
+
129
+ ### Or do it yourself
130
+
131
+ If you'd rather drive:
132
+
133
+ ```bash
134
+ pipx install artifold # or: pip install artifold
135
+ artifold init # interactive wizard
136
+ artifold # serves dashboard + opens browser
137
+ artifold install-skill # adds /craft to ~/.claude/skills/
138
+ ```
139
+
140
+ Don't have `pipx`? Run `brew install pipx` (mac) or `python -m pip
141
+ install --user pipx` (anywhere), then the above.
142
+
143
+ ### After install, in Claude Code
144
+
145
+ ```
146
+ /craft a one-pager comparing three SF apartments
147
+ /craft a 30-day strength tracker, like my last one
148
+ /craft a probability explainer for poker, in the style of dobble
149
+ ```
150
+
151
+ (Restart Claude Code once after `artifold install-skill` so the skill loads.)
152
+
153
+ The first run installs Playwright's headless Chromium (~170 MB) for
154
+ artifact thumbnails. After that, only new/changed files re-shoot.
155
+
156
+ ## What it actually does
157
+
158
+ **Auto-indexes** every `*.html` in your watched folders. Groups
159
+ `-v2`, ` (1)`, `print` variants into one card with a version dropdown.
160
+ Skips templates, `.git` repos, and anything buried 3 levels deep — your
161
+ library stays clean even when your folders aren't.
162
+
163
+ **Source-aware** — fingerprints Claude / ChatGPT / v0 / Lovable / Bolt
164
+ / Gemini artifacts from HTML markers, tags each card with the tool that
165
+ made it. Also reads `<meta name="artifold:*">` tags (which the `/craft`
166
+ skill emits) for zero-effort provenance.
167
+
168
+ **Visual** — every artifact gets a real screenshot thumbnail. Click a
169
+ card → slide-out preview pane with tabs for Provenance (source URL,
170
+ prompt, model, tags) and Design (palette swatches, fonts, mood flags).
171
+
172
+ **Live** — `artifold serve` watches your folders. Drop in a new artifact
173
+ and it appears in the dashboard within ~2 seconds, no refresh.
174
+
175
+ **Searchable** — ⌘K palette runs across titles, prompts, intents, and
176
+ exposed actions (toggle theme, switch view, rescan, import). Linear /
177
+ Raycast pattern.
178
+
179
+ ![Detail — Preview](docs/detail-preview.png)
180
+ ![Detail — Design](docs/detail-design.png)
181
+
182
+ ## All commands
183
+
184
+ ```bash
185
+ artifold # default: scan + serve + open browser
186
+ artifold init # interactive setup wizard
187
+ artifold add <dir> # watch another folder
188
+ artifold roots # list watched folders
189
+ artifold scan # one-shot rescan
190
+ artifold open # open the existing dashboard
191
+
192
+ artifold share <file> # publish to public URL + copy to clipboard
193
+ artifold share --list # all shares
194
+ artifold share --revoke <id> # take a public share down
195
+
196
+ artifold import <url> # fetch a public Claude/v0/Lovable share URL
197
+ artifold link <file> --tool claude --source URL --prompt "..."
198
+ artifold info <file> # show provenance for a file
199
+
200
+ artifold designs # list design fingerprints
201
+ artifold designs <id> --template # dump CSS + skeleton (paste into Claude)
202
+
203
+ artifold inbox [topic] # print the canonical path for a new artifact
204
+ artifold install-skill # install /craft into ~/.claude/skills/
205
+ artifold doctor # check setup; tells you exactly what to fix
206
+ ```
207
+
208
+ ## Config
209
+
210
+ `~/Library/Application Support/artifold/config.json` on macOS,
211
+ `~/.config/artifold/config.json` on Linux:
212
+
213
+ ```jsonc
214
+ {
215
+ "roots": ["/Users/me/Downloads", "/Users/me/work"],
216
+ "allow_repos": [], // dirs with their own .git to include anyway
217
+ "max_depth": 3,
218
+ "drop_dir": null, // where `artifold import` saves (default ~/artifold-inbox)
219
+ "enable_intent": false, // opt-in LLM intent metadata (Claude Haiku)
220
+ "categories": { // extend the auto-tag keywords
221
+ "Research": ["paper", "experiment", "ablation"]
222
+ }
223
+ }
224
+ ```
225
+
226
+ Cache (thumbnails, manifest, dashboard, Playwright Chromium) lives
227
+ under `~/Library/Caches/artifold/`. Wiping it just regenerates everything
228
+ from your real files — cache is replaceable, your source files are sacred.
229
+
230
+ ## Keyboard
231
+
232
+ | Key | What |
233
+ |-----------------|------|
234
+ | `⌘K` / `Ctrl+K` | palette (actions + artifact search) |
235
+ | `↵` | open selected in preview / run action |
236
+ | `⇧↵` | open selected in new tab |
237
+ | `Esc` | close palette / preview |
238
+ | `/` | focus the search box |
239
+ | Click card | open in preview pane (in-app, no tab spam) |
240
+ | `⌘`/`Ctrl`-click | open in a new browser tab |
241
+
242
+ ## Optional: AI intent layer
243
+
244
+ Artifold's core is **fully local — no LLM, no network, no API key required**.
245
+
246
+ If you want richer metadata (a one-line intent per artifact, topic tags,
247
+ audience detection — used for smarter search):
248
+
249
+ ```bash
250
+ pipx install 'artifold[intent]'
251
+ export ANTHROPIC_API_KEY=sk-ant-...
252
+ artifold scan --intent
253
+ ```
254
+
255
+ ~$0.003 per artifact with Claude Haiku, cached forever by content hash
256
+ so re-scans are free. ~$0.05 for 15 artifacts. Toggle off with
257
+ `artifold scan --no-intent`. Skip the extra and the feature simply
258
+ doesn't appear.
259
+
260
+ ## What Artifold is not
261
+
262
+ - **Not a cloud product.** Nothing leaves your machine unless you
263
+ explicitly `artifold share`. There's no sign-up, no account, no Artifold
264
+ server somewhere. Your library is `~/artifold-inbox/` and the dirs you
265
+ pointed it at — that's it.
266
+ - **Not a replacement for git** or your existing organization. It's a
267
+ *lens* on whatever you already have.
268
+ - **Not opinionated about where your files live.** Multi-root by
269
+ design. Want it to watch `~/Downloads` + `~/Documents` +
270
+ `~/work/reports`? Run `artifold add` three times.
271
+ - **Not trying to be everything for everyone.** Built for the specific
272
+ pain of "where did I put that thing I generated last month."
273
+
274
+ ## Why "Artifold"
275
+
276
+ A artifold is a working collection of pages that informs your next piece
277
+ of work. Your past artifacts become the reference set for the next one.
278
+ It's not an archive (cold storage), it's a working library.
279
+
280
+ The PyPI package is `artifold` because `artifold` was taken. CLI command is
281
+ `artifold`. Same pattern as `open-interpreter` / `interpreter`.
282
+
283
+ ## Status
284
+
285
+ **v0.5, alpha.** Tested on macOS Sequoia; Linux should work; Windows
286
+ untested. Single-developer project made in evenings — issues + PRs
287
+ welcome, but I'm shipping what I personally use rather than what's
288
+ broadly polished.
289
+
290
+ If you try it and something feels off, [open an issue](../../issues/new) —
291
+ even one line is helpful, "the X button is confusing" is exactly the
292
+ feedback that improves things.
293
+
294
+ ## Roadmap
295
+
296
+ In rough priority order:
297
+
298
+ - [ ] **Mobile dashboard** — currently breaks below 760px
299
+ - [ ] **`artifold adopt <file>`** — opt-in consolidation into `~/artifold-inbox/`
300
+ for existing files (keeping multi-root for those who want it)
301
+ - [ ] **Cloudflare Pages backend** for `artifold share` (alternative to GH
302
+ Pages for users without `gh` CLI)
303
+ - [ ] **`artifold generate --like <id>`** — direct one-command generation,
304
+ opt-in via `[intent]` extra
305
+ - [ ] **Markdown rendering** — first-class support for `*.md`
306
+ - [ ] **Semantic search** — when you remember the gist but not the title
307
+ - [ ] **Version diff view** — when you iterate v1/v2/v3, see what changed
308
+ - [ ] **A real test suite** — currently human-tested
309
+
310
+ ## Made by
311
+
312
+ [@shubhamgoel27](https://github.com/shubhamgoel27) — built because I
313
+ genuinely needed it. If you find it useful, **starring the repo is the
314
+ single best thing you can do** so other people building with AI find it.
315
+
316
+ The `/craft` skill took real research to make non-generic — the 12
317
+ design principles trace to Refactoring UI chapters, Linear's
318
+ [Method](https://linear.app/method/introduction), Vercel's
319
+ [Geist](https://vercel.com/geist), and a couple of recent AI-slop
320
+ critique articles. If you ship cool reports with it, tag me — I love
321
+ seeing what people make.
322
+
323
+ ## License
324
+
325
+ MIT
@@ -0,0 +1,296 @@
1
+ # Artifold
2
+
3
+ **Your AI artifacts have a home now.** Index, search, preview, **share with one click**, and use your past work as the style guide for your next one.
4
+
5
+ ![Artifold demo](docs/demo.gif)
6
+
7
+ ---
8
+
9
+ > *"I've started preferring HTML as an output format instead of Markdown.
10
+ > The added expressiveness means I get overall better output, and the chance
11
+ > of someone actually reading your spec, report or PR writeup is much higher
12
+ > if it's in HTML. … When writing this article, I asked Claude Code to read
13
+ > through my code folder and find all the HTML files I've generated, group
14
+ > and categorize them …"*
15
+ >
16
+ > — Thariq, *[The Unreasonable Effectiveness of HTML](https://x.com/trq212/status/2052809885763747935)* (Claude Code team)
17
+
18
+ **Artifold is that library.** If you're shifting from Markdown to HTML for
19
+ specs, reports, designs, prototypes, throwaway editors — the way Thariq
20
+ describes — Artifold is where they live.
21
+
22
+ You've been making a lot of HTML with AI lately: Claude Artifacts,
23
+ ChatGPT Canvas, v0, Lovable, Cursor. They land in `~/Downloads` or some
24
+ project folder, you bookmark a tab, you mean to come back to that ROI
25
+ calculator you made three weeks ago — and you can't find it.
26
+
27
+ That's the whole reason this exists. I made a 30-day workout tracker
28
+ for my partner, lost it in a maze of folders, regenerated a worse
29
+ version, and decided to just build the index myself.
30
+
31
+ Local-first, fast, runs entirely on your machine. Plus the part where,
32
+ when you *do* want to share an artifact, it's one click to a permanent
33
+ public URL.
34
+
35
+ ## Three things you can do
36
+
37
+ ### 1. ✨ Share any artifact in seconds → public URL anyone can open
38
+
39
+ Click any card → hit the share icon → in ~30 seconds you get back a
40
+ permanent URL like `https://you.github.io/artifold-share/abc12345.html`
41
+ that you can paste into iMessage, Slack, email, anywhere. URL is copied
42
+ to your clipboard automatically.
43
+
44
+ Free forever (uses your GitHub Pages quota — no Artifold infrastructure,
45
+ no sign-up, no per-share fees, no expiry). Anyone with the link sees
46
+ the fully-rendered report; recipient needs nothing installed.
47
+
48
+ ![Share flow in detail pane](docs/share-detail.png)
49
+
50
+ ### 2. 📚 Browse everything you've made, in one place
51
+
52
+ Sidebar filters by tool, status (shared / local), category, date.
53
+ ⌘K palette to jump to anything by name, prompt, or intent. Click → in-app
54
+ preview pane, no tab spam. Dark/light themes. Live auto-rescan — drop
55
+ a new file in any watched folder and it appears within seconds.
56
+
57
+ ![Command palette](docs/cmdk.png)
58
+
59
+ ### 3. 🎨 Generate new artifacts that match your style — `/craft` skill
60
+
61
+ After installing the Claude Code skill, type `/craft a 30-day strength
62
+ tracker for a beginner` in any session. The skill:
63
+
64
+ - Reads your library to see styles you've used, then deliberately picks
65
+ a *different* direction so your next artifact doesn't look like the
66
+ last one (the "all AI output looks the same" problem, actively fought)
67
+ - OR inherits a specific style: `/craft a poker probability explainer,
68
+ like dobble` — pulls dobble's actual CSS as the design baseline
69
+ - Applies 12 opinionated design principles distilled from Refactoring UI,
70
+ Linear, and Vercel/Geist (every one cited)
71
+ - Avoids 15 specific AI-slop signatures (purple-gradient hero, identical
72
+ bento cards, decorative emoji on every list item, glassmorphism, etc.)
73
+ - Saves to `~/artifold-inbox/2026-05-26-<topic>.html` — auto-indexed in
74
+ Artifold within ~2 seconds
75
+
76
+ Your past work becomes your style guide for the next one. The loop closes.
77
+
78
+ ## Install
79
+
80
+ ### 🪄 Easiest: ask Claude Code to do it
81
+
82
+ If you have [Claude Code](https://claude.com/claude-code), paste this
83
+ prompt — Claude figures out the rest, installs everything, and walks
84
+ you through first-run:
85
+
86
+ > [!TIP]
87
+ > **Copy this into Claude Code:**
88
+ >
89
+ > ```
90
+ > Install Artifold from https://github.com/shubhamgoel27/artifold using pipx
91
+ > (or pip if pipx isn't installed). Then run `artifold init` and help me
92
+ > pick a folder to watch. After that, run `artifold install-skill` to set
93
+ > up the /craft skill. Open the dashboard when ready and tell me what
94
+ > to try first.
95
+ > ```
96
+
97
+ That's the whole install. No terminal commands to memorize, no
98
+ dependencies to debug — Claude handles the awkward parts.
99
+
100
+ ### Or do it yourself
101
+
102
+ If you'd rather drive:
103
+
104
+ ```bash
105
+ pipx install artifold # or: pip install artifold
106
+ artifold init # interactive wizard
107
+ artifold # serves dashboard + opens browser
108
+ artifold install-skill # adds /craft to ~/.claude/skills/
109
+ ```
110
+
111
+ Don't have `pipx`? Run `brew install pipx` (mac) or `python -m pip
112
+ install --user pipx` (anywhere), then the above.
113
+
114
+ ### After install, in Claude Code
115
+
116
+ ```
117
+ /craft a one-pager comparing three SF apartments
118
+ /craft a 30-day strength tracker, like my last one
119
+ /craft a probability explainer for poker, in the style of dobble
120
+ ```
121
+
122
+ (Restart Claude Code once after `artifold install-skill` so the skill loads.)
123
+
124
+ The first run installs Playwright's headless Chromium (~170 MB) for
125
+ artifact thumbnails. After that, only new/changed files re-shoot.
126
+
127
+ ## What it actually does
128
+
129
+ **Auto-indexes** every `*.html` in your watched folders. Groups
130
+ `-v2`, ` (1)`, `print` variants into one card with a version dropdown.
131
+ Skips templates, `.git` repos, and anything buried 3 levels deep — your
132
+ library stays clean even when your folders aren't.
133
+
134
+ **Source-aware** — fingerprints Claude / ChatGPT / v0 / Lovable / Bolt
135
+ / Gemini artifacts from HTML markers, tags each card with the tool that
136
+ made it. Also reads `<meta name="artifold:*">` tags (which the `/craft`
137
+ skill emits) for zero-effort provenance.
138
+
139
+ **Visual** — every artifact gets a real screenshot thumbnail. Click a
140
+ card → slide-out preview pane with tabs for Provenance (source URL,
141
+ prompt, model, tags) and Design (palette swatches, fonts, mood flags).
142
+
143
+ **Live** — `artifold serve` watches your folders. Drop in a new artifact
144
+ and it appears in the dashboard within ~2 seconds, no refresh.
145
+
146
+ **Searchable** — ⌘K palette runs across titles, prompts, intents, and
147
+ exposed actions (toggle theme, switch view, rescan, import). Linear /
148
+ Raycast pattern.
149
+
150
+ ![Detail — Preview](docs/detail-preview.png)
151
+ ![Detail — Design](docs/detail-design.png)
152
+
153
+ ## All commands
154
+
155
+ ```bash
156
+ artifold # default: scan + serve + open browser
157
+ artifold init # interactive setup wizard
158
+ artifold add <dir> # watch another folder
159
+ artifold roots # list watched folders
160
+ artifold scan # one-shot rescan
161
+ artifold open # open the existing dashboard
162
+
163
+ artifold share <file> # publish to public URL + copy to clipboard
164
+ artifold share --list # all shares
165
+ artifold share --revoke <id> # take a public share down
166
+
167
+ artifold import <url> # fetch a public Claude/v0/Lovable share URL
168
+ artifold link <file> --tool claude --source URL --prompt "..."
169
+ artifold info <file> # show provenance for a file
170
+
171
+ artifold designs # list design fingerprints
172
+ artifold designs <id> --template # dump CSS + skeleton (paste into Claude)
173
+
174
+ artifold inbox [topic] # print the canonical path for a new artifact
175
+ artifold install-skill # install /craft into ~/.claude/skills/
176
+ artifold doctor # check setup; tells you exactly what to fix
177
+ ```
178
+
179
+ ## Config
180
+
181
+ `~/Library/Application Support/artifold/config.json` on macOS,
182
+ `~/.config/artifold/config.json` on Linux:
183
+
184
+ ```jsonc
185
+ {
186
+ "roots": ["/Users/me/Downloads", "/Users/me/work"],
187
+ "allow_repos": [], // dirs with their own .git to include anyway
188
+ "max_depth": 3,
189
+ "drop_dir": null, // where `artifold import` saves (default ~/artifold-inbox)
190
+ "enable_intent": false, // opt-in LLM intent metadata (Claude Haiku)
191
+ "categories": { // extend the auto-tag keywords
192
+ "Research": ["paper", "experiment", "ablation"]
193
+ }
194
+ }
195
+ ```
196
+
197
+ Cache (thumbnails, manifest, dashboard, Playwright Chromium) lives
198
+ under `~/Library/Caches/artifold/`. Wiping it just regenerates everything
199
+ from your real files — cache is replaceable, your source files are sacred.
200
+
201
+ ## Keyboard
202
+
203
+ | Key | What |
204
+ |-----------------|------|
205
+ | `⌘K` / `Ctrl+K` | palette (actions + artifact search) |
206
+ | `↵` | open selected in preview / run action |
207
+ | `⇧↵` | open selected in new tab |
208
+ | `Esc` | close palette / preview |
209
+ | `/` | focus the search box |
210
+ | Click card | open in preview pane (in-app, no tab spam) |
211
+ | `⌘`/`Ctrl`-click | open in a new browser tab |
212
+
213
+ ## Optional: AI intent layer
214
+
215
+ Artifold's core is **fully local — no LLM, no network, no API key required**.
216
+
217
+ If you want richer metadata (a one-line intent per artifact, topic tags,
218
+ audience detection — used for smarter search):
219
+
220
+ ```bash
221
+ pipx install 'artifold[intent]'
222
+ export ANTHROPIC_API_KEY=sk-ant-...
223
+ artifold scan --intent
224
+ ```
225
+
226
+ ~$0.003 per artifact with Claude Haiku, cached forever by content hash
227
+ so re-scans are free. ~$0.05 for 15 artifacts. Toggle off with
228
+ `artifold scan --no-intent`. Skip the extra and the feature simply
229
+ doesn't appear.
230
+
231
+ ## What Artifold is not
232
+
233
+ - **Not a cloud product.** Nothing leaves your machine unless you
234
+ explicitly `artifold share`. There's no sign-up, no account, no Artifold
235
+ server somewhere. Your library is `~/artifold-inbox/` and the dirs you
236
+ pointed it at — that's it.
237
+ - **Not a replacement for git** or your existing organization. It's a
238
+ *lens* on whatever you already have.
239
+ - **Not opinionated about where your files live.** Multi-root by
240
+ design. Want it to watch `~/Downloads` + `~/Documents` +
241
+ `~/work/reports`? Run `artifold add` three times.
242
+ - **Not trying to be everything for everyone.** Built for the specific
243
+ pain of "where did I put that thing I generated last month."
244
+
245
+ ## Why "Artifold"
246
+
247
+ A artifold is a working collection of pages that informs your next piece
248
+ of work. Your past artifacts become the reference set for the next one.
249
+ It's not an archive (cold storage), it's a working library.
250
+
251
+ The PyPI package is `artifold` because `artifold` was taken. CLI command is
252
+ `artifold`. Same pattern as `open-interpreter` / `interpreter`.
253
+
254
+ ## Status
255
+
256
+ **v0.5, alpha.** Tested on macOS Sequoia; Linux should work; Windows
257
+ untested. Single-developer project made in evenings — issues + PRs
258
+ welcome, but I'm shipping what I personally use rather than what's
259
+ broadly polished.
260
+
261
+ If you try it and something feels off, [open an issue](../../issues/new) —
262
+ even one line is helpful, "the X button is confusing" is exactly the
263
+ feedback that improves things.
264
+
265
+ ## Roadmap
266
+
267
+ In rough priority order:
268
+
269
+ - [ ] **Mobile dashboard** — currently breaks below 760px
270
+ - [ ] **`artifold adopt <file>`** — opt-in consolidation into `~/artifold-inbox/`
271
+ for existing files (keeping multi-root for those who want it)
272
+ - [ ] **Cloudflare Pages backend** for `artifold share` (alternative to GH
273
+ Pages for users without `gh` CLI)
274
+ - [ ] **`artifold generate --like <id>`** — direct one-command generation,
275
+ opt-in via `[intent]` extra
276
+ - [ ] **Markdown rendering** — first-class support for `*.md`
277
+ - [ ] **Semantic search** — when you remember the gist but not the title
278
+ - [ ] **Version diff view** — when you iterate v1/v2/v3, see what changed
279
+ - [ ] **A real test suite** — currently human-tested
280
+
281
+ ## Made by
282
+
283
+ [@shubhamgoel27](https://github.com/shubhamgoel27) — built because I
284
+ genuinely needed it. If you find it useful, **starring the repo is the
285
+ single best thing you can do** so other people building with AI find it.
286
+
287
+ The `/craft` skill took real research to make non-generic — the 12
288
+ design principles trace to Refactoring UI chapters, Linear's
289
+ [Method](https://linear.app/method/introduction), Vercel's
290
+ [Geist](https://vercel.com/geist), and a couple of recent AI-slop
291
+ critique articles. If you ship cool reports with it, tag me — I love
292
+ seeing what people make.
293
+
294
+ ## License
295
+
296
+ MIT
@@ -0,0 +1,2 @@
1
+ """Artifold — a local-first library for your AI-generated HTML artifacts."""
2
+ __version__ = "0.5.2"