Skip to content

Releases: SunnyDevendranadh/Bloom

v1.4.0 — Token-optimized bloom-plan with output-quality improvements

26 May 03:49

Choose a tag to compare

Token Optimization

bloom-plan + bloom-core combined: 3,001 tokens (42% reduction from 5,224). Fits 200k+ context windows at 75% utilization.

Performance Audit — 9 Output Quality Gaps Fixed

Each fix addresses where a tersely-instructed agent would produce worse output than the original verbose skill:

# Area Fix
1 Decision tables Real Prisma/Drizzle/Sequelize example — agents now produce concrete benchmarks, not vague descriptors
2 Scale detection Explicit "When to use" column — no more gray area between Greenfield and Brownfield
3 Context section Good vs bad contrast — "JWT-based REST API so mobile app can auth without session cookies" not "building an API"
4 File paths Must be src/config/auth.ts line 24-38 not "update config"
5 Risk assessment low/med/high mandatory on likelihood and impact
6 Approval gate All 4 user actions explained: approve, edit, reject, scope down
7 Verify phase Failure loop: fix → re-verify → update plan
8 Self-check Structured 9-item checkbox list (was single-line, easily skipped)
9 Research phase Strengthened "MUST NOT" prohibitions

Technical

  • All 13 bloom-validator tests pass
  • All example HTML artifacts validate clean
  • 25 behavioral parity checks pass
  • 6 harness files synced (Cursor, Claude Code, AGENTS.md, GEMINI.md, plugin marketplace)

Bloom v1.3.0 — Decision-Transparent Planning

26 May 02:52

Choose a tag to compare

What's New

bloom-plan: Decision-Transparent Planning Skill

Bloom now ships a planning skill alongside the HTML artifact mode. Activate with /bloom-plan or /plan in any supported harness.

How it works — Plan-Execute-Verify loop:

  1. Research (read-only) — explores codebase, gathers context, asks clarifying questions
  2. Plan — writes .plan.md + interactive .plan.html companion to .cursor/plans/
  3. Approve — pauses for your explicit approval before making any changes
  4. Execute — implements step-by-step after you approve
  5. Verify — re-reads files, runs lint/test, confirms against the plan

Decision transparency — every decision includes 3-4 alternatives:

# Option Example Benchmark Why not chosen
Chosen Concrete library/pattern Measurable metric
2 Alt Concrete example Metric Specific reason

Adaptive planning scale:

  • Greenfield — full-scope (tech stack, architecture, tooling, security, performance)
  • Brownfield — execution-level (scope, pattern consistency, step order, risk)
  • Phase Planning — task-level (atomic steps, prerequisites, verification, edge cases)

HTML companion features: decision cards (--clay highlight), implementation checklist (localStorage), risk matrix (--rust/--clay/--olive), status timeline, scale badge, copy-as-markdown, print stylesheet.

Harness Support

Both /bloom and /bloom-plan work across all supported harnesses:

Harness Bloom Plan install
Claude Code .claude/skills/bloom-plan/SKILL.md
Cursor .cursor/rules/bloom-plan.mdc
Codex CLI/App, OpenCode, Copilot CLI, Aider Included in AGENTS.md (auto-synced)
Gemini CLI Included in GEMINI.md (auto-synced)
Factory Droid Copy droids/bloom-plan.md to .factory/droids/
Continue Copy droids/bloom-plan.md to .continue/rules/
Windsurf, Copilot VS Code, Pi Append snippet to rules file

Open-Source Cleanliness

  • .gitignore hardened: excludes scratch/, .cursor/plans/, node_modules/, .env, editor artifacts
  • LICENSE copyright updated to 2025-2026
  • No secrets, no proprietary code, no hardcoded paths in tracked files
  • Runtime directories (.factory/, .continue/) are NOT tracked — users copy from droids/
  • All harness installs reference droids/ as the canonical source

Verification

  • All 13 validator tests pass
  • All templates, skeletons, and examples pass bloom-validate
  • No placeholder content (Lorem, TODO) in any artifact
  • File tree in README matches actual filesystem

Full Changelog: v1.2.0...v1.3.0

v1.2.0 — Version sync tooling

25 May 00:41

Choose a tag to compare

Version sync tooling

This release fixes the plugin manifest versioning workflow so both files stay in sync on every release. Same version string = no reinstall.

What's new

  • scripts/bump-version.sh — atomically bumps version in both .claude-plugin/marketplace.json and plugins/bloom/.claude-plugin/plugin.json. Accepts SemVer or 40-char commit SHA. Running without args shows current versions.
  • scripts/check-versions.sh — CI-friendly validation (exit 0 = synced, exit 1 = mismatch). Drop into a pre-commit hook or GitHub Actions.
  • Manifests bumped to 1.2.0 — marketplace.json and plugin.json now agree on "version": "1.2.0".

The invariant

Both manifest files carry the same version string. When they match, Claude Code sees no change and skips reinstall. When they differ (as happened between v1.0.0 and v1.1.0), it triggers an unnecessary reinstall.

Usage

# Bump both manifests at once
./scripts/bump-version.sh 1.3.0

# Or use a commit SHA
./scripts/bump-version.sh $(git rev-parse HEAD)

# Check sync in CI
./scripts/check-versions.sh

v1.1.0 — Stub rules implemented, new rules, interactive templates, doc restructure

25 May 00:30

Choose a tag to compare

Validator: 13 → 19 rules

Implemented (were stubs returning []):

  • aria-landmarks — flag <svg> without aria-label or role="img"
  • contrast-minimum — warn on hard-coded color + background hex pairs
  • focus-visible — require :focus-visible styles with interactive elements
  • lang-attribute — enforce <html lang="...">
  • no-empty-elements — catch empty <div>, <span>, <p>, <section>, <article>
  • no-inline-styles-except-root — reject inline style= attributes
  • print-media-query — require @media print block
  • responsive-images — check max-width: 100% and alt attributes

New rules:

  • no-external-urls — reject external <img src="http(s)://..."> and <link href="http(s)://...">
  • no-placeholder-content — flag lorem ipsum, TODO, placeholder dates, Company Name stubs in <body>
  • responsive-breakpoints — require @media (max-width: 640px) and 960px
  • editor-export-hint — warn if triage/board/editor artifacts lack clipboard export

Security hardening:

  • S7 — block clipboard.writeText(...innerHTML); build export text programmatically

Templates

  • 2 new interactive templates: triage-board.html (drag-and-drop with markdown export), animation-sandbox.html (easing curve playground)
  • Upstream reorganization: production templates in templates/ + 10 starter skeletons with data-template= slots in templates/skeletons/
  • All 20 template/example files pass validate-all

Docs

  • Split droids/bloom.md into bloom-core.md (~210 lines) and bloom-patterns.md (~400 lines) to fit harness context limits
  • Added docs/harness-capabilities.md — slash commands, stickiness, context size per harness
  • Added docs/skill-smoke-test.md — reproducible smoke test checklist

Harness support

  • AGENTS.md and GEMINI.md at repo root (universal entry points for Codex CLI, Codex App, OpenCode, Copilot CLI, Aider, Gemini CLI, and more)
  • .cursor/rules/bloom.mdc for Cursor
  • scripts/sync-skill-files.sh — regenerate all harness files from droids/ source

Infrastructure

  • .gitignore — ignore .bloom marker and bloom/ output directory
  • .github/workflows/ci.yml — validator tests + artifact validation on push
  • scripts/check-skill-sizes.sh — verify synced files fit harness context limits
  • bloom-validator/src/rule-registry.ts — unified registry for all 19 rules
  • npm run validate-all works cross-platform (Node resolves the file list)

Bloom v1.0.0

19 May 16:10
107a660

Choose a tag to compare

What's Changed

Full Changelog: https://github.com/SunnyDevendranadh/Bloom/commits/v1.0.0