Skip to content

Commit cd6a2e6

Browse files
hooshyarclaude
andcommitted
chore(package): shrink published archive 3 MB -> 1 MB (-67%)
Two related cleanups against `flutter pub publish` bloat: 1. Delete unreferenced duplicate GIFs at repo root. `1.gif` (472 KB) and `2.gif` (1 MB) sat at the repo root alongside their canonical copies in `assets/`. The README has always pointed at `assets/1.gif` / `assets/2.gif`, so the root files were never referenced anywhere — just dead weight in every published archive. 2. Add `.pubignore` to drop internal maintenance files from the bundle. `CLAUDE.md`, `SPECS.md`, `tool/`, and `doc/` are roadmap notes, generator scripts, and the auto-generated font preview. They're tracked in git for the autonomous /loop workflow but ship zero value to package consumers, so they don't belong in the published tarball. Because `.pubignore` fully overrides `.gitignore` for pub bundling, the file also replicates the existing `.gitignore` patterns that should still apply (build artifacts, IntelliJ files, Claude Code session state, etc.). The `doc/font_preview.md` drift test still passes — it reads the file from the working tree, not the published archive. Verified: flutter analyze # No issues found flutter test # 31 of 31 passed dart format --set-exit-if-changed # clean flutter pub publish --dry-run # 1 MB archive (was 3 MB) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 56b2918 commit cd6a2e6

5 files changed

Lines changed: 57 additions & 1 deletion

File tree

‎.pubignore‎

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# .pubignore — files excluded from `flutter pub publish`.
2+
#
3+
# pub uses .gitignore by default; the presence of this file overrides that.
4+
# Anything listed here is dropped from the published archive even if it's
5+
# checked into git.
6+
7+
# --- Internal docs and tooling that ship no value to package consumers ---
8+
/CLAUDE.md
9+
/SPECS.md
10+
/tool/
11+
/doc/
12+
13+
# --- Mirror of .gitignore patterns we still want excluded from pub ---
14+
# (When .pubignore is present, it fully replaces .gitignore for archive
15+
# content, so we have to re-list anything that matters.)
16+
*.class
17+
*.log
18+
*.pyc
19+
*.swp
20+
.DS_Store
21+
.atom/
22+
.buildlog/
23+
.history
24+
.svn/
25+
migrate_working_dir/
26+
27+
# IntelliJ
28+
*.iml
29+
*.ipr
30+
*.iws
31+
.idea/
32+
33+
# Flutter/Dart/Pub
34+
/pubspec.lock
35+
**/doc/api/
36+
.dart_tool/
37+
.flutter-plugins-dependencies
38+
/build/
39+
/coverage/
40+
41+
# Claude Code local session state
42+
.claude/

‎1.gif‎

-473 KB
Binary file not shown.

‎2.gif‎

-1.08 MB
Binary file not shown.

‎CHANGELOG.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
## Unreleased
22

3+
- chore(package): published archive size dropped from 3 MB to 1 MB (-67%).
4+
Two changes:
5+
1. Deleted unreferenced duplicate `1.gif` (472 KB) and `2.gif` (1 MB) from
6+
the repo root — the canonical copies have always lived in `assets/` and
7+
the README points there.
8+
2. Added a `.pubignore` to exclude internal maintenance files from the
9+
published bundle: `CLAUDE.md`, `SPECS.md`, `tool/`, `doc/`. None of
10+
these ship value to package consumers; they're roadmap, generator
11+
scripts, and the auto-generated font preview.
312
- chore(pubspec): description rewritten (154 chars) to reflect every post-0.0.5
413
capability — scrolling marquee text, custom pixel frames, AI chat indicator —
514
while staying in pub.dev's 60–180 sweet spot.

‎SPECS.md‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@
2525

2626
## Done
2727

28+
### Tick 10 — 2026-05-16
29+
- [x] **Published archive size: 3 MB → 1 MB (-67%)**. Two changes:
30+
- Deleted unreferenced duplicate `1.gif` (472 KB) and `2.gif` (1 MB) from the repo root — README always pointed at the `assets/` copies; the root files were leftover dead weight.
31+
- Added `.pubignore` to exclude internal maintenance files (`CLAUDE.md`, `SPECS.md`, `tool/`, `doc/`) from the published bundle. Replicates the relevant `.gitignore` patterns since `.pubignore` fully overrides `.gitignore` for pub bundling.
32+
- [x] Verified the drift test still passes — it reads `doc/font_preview.md` from the working tree, not from the published archive, so the exclusion is safe.
33+
2834
### Tick 9 — 2026-05-16
2935
- [x] **pubspec.yaml description rewritten** (137 → 154 chars, within pub.dev's 60–180 sweet spot). New copy: "Customizable dot-matrix and LED loading animations for Flutter — 60 patterns, scrolling marquee text, custom pixel frames, AI chat indicator. Zero deps." Surfaces the four post-0.0.5 capabilities + the AI-chat positioning the README now leads with.
3036
- [x] **pubspec topics tightened** from generic (`animation`, `loader`, `loading`, `widget`, `ui`) to high-signal niche (`loader`, `animation`, `dot-matrix`, `led`, `pixel-art`). Maximum 5 topics on pub.dev, so each one matters; dropping `loading`/`widget`/`ui` (duplicative or generic) makes room for `dot-matrix`/`led`/`pixel-art` (specific, low-noise queries).
@@ -90,7 +96,6 @@
9096
- [ ] **Add a "Used in" or "Inspiration" section** to README — concrete demo links boost click-through and credibility.
9197
- [ ] **Verify pub.dev "Likes" / pub points** — manual check, queue any score-recovering fixes.
9298
- [ ] **Add `screenshots:` alt-text accessibility check** — pub.dev renders these in card previews.
93-
- [ ] **Exclude `tool/` and `doc/` from the published archive** via a `.pubignore` file. Currently `tool/font_preview.dart`, `tool/generate_font_preview.dart`, and `doc/font_preview.md` are bundled (~3 KB + 33 KB) but provide zero value to consumers — they're maintenance tooling.
9499

95100
### P1 — feature completeness
96101
- [ ] **`MatrixText` Arabic-Indic / Persian digit glyphs** (٠–٩, ۰–۹) — useful for RTL audiences. (Latin punctuation done in tick 2.)

0 commit comments

Comments
 (0)