v0.2.0 — simplify install + bootstrap
The big one. Knowledge-worker default tier now ships in ~3-5 minutes. CCv4 toolchain (Rust/uv/bloks/tldr/FastEdit) is opt-in via --with-coding. Bootstrap slimmed 929 → 498 LOC. .mcp.json ships with 3 universal MCPs only — zero red errors on a fresh fork's first claude launch.
Re-extracted from daily-agents@f958d29.
Headlines
- Tier model.
./scripts/install.sh= minimal (knowledge-worker default)../scripts/install.sh --with-coding= adds Rust + uv + bloks + tldr + FastEdit MCP. Tier markerSBOS_TIER=minimal|codinglands in~/.second-brain-os.envand/bootstrapStep 2 reads it. - Bootstrap slimmed 929 → 498 LOC (-46%). 8 narrated steps merged to 6. T1-T4 invariants preserved canonically with point-of-use refs. Affective moments ("Meet your assistant:" echo-back; voice-synthesis preview-before-write gate) preserved verbatim.
assistant.pronounfield added (she / he / they / no-pronouns). All<him/her/them>placeholder literals eliminated..mcp.json3-universal defaults — gemini-vision (local stdio), exa (HTTP), firecrawl (HTTP). Slack/Atlassian/Figma are opt-in via bootstrap Step 2.5 multi-select; canonical entries live in.mcp.json_notes.opt_in_*as the single source of truth.firecrawlMCP added as the third universal default (https://mcp.firecrawl.dev/v2/mcp). Auth viaFIRECRAWL_API_KEYshell env.
Added
--with-codingtier flag +SBOS_TIERmarker--with-ripgrepopt-in flag (ripgrep no longer auto-installed;/findfalls back togrep -r)- ASCII logo opener + closing summary card + duration +
~/.claude/install.logtee --doctorflag (working stub in v0.2.0 — read-only probe of foundation/tier/coding-tier/MCP/log; full implementation in v0.3.0)assistant.pronounConfiguration token- Day 2+ rhythms externalized to
beru-workspace/3-Resources/onboarding/day-2-plus.md - Bootstrap Step 2.5 — interactive MCP opt-in multi-select for Slack/Atlassian/Figma
firecrawlMCP in.mcp.jsondefaultsGEMINI_API_KEYandFIRECRAWL_API_KEYin.env.example(and the matching HEREDOC inscripts/lib/api-keys.sh)
Changed
- Bootstrap SKILL.md rewritten — 8 → 6 steps; T1-T4 canonical-only with single-line step-header refs; failure-modes table 18 → 10 rows; Step 4b voice synthesis collapsed three branches into one spec with the preview-before-write gate preserved
INSTALL.mdrewritten for the tier model — Path A (minimal) + Path B (coding)README.mdForking section reframed as 2-layer install (system tools / persona + workspace)README-template.mdaligned with tier model (collapsed old Lite-CCv4 / Full paths into single--with-codingflag).env.examplesectioned by purpose (default-MCP keys / skill-only keys / opt-in connector keys), 7 keys totalTOOLS.mdMCP + env sections rewritten; SBOS_TIER + FIRECRAWL_API_KEY documentedscripts/lib/api-keys.shno longer prompts — writes annotated.env.exampleonly
Removed
- ffmpeg + yt-dlp auto-install (zero active skills consumed them; pre-existing brew installs untouched)
- Slack / Atlassian / Figma from default
.mcp.jsonmcpServers(still available via bootstrap Step 2.5 opt-in) - ffmpeg / yt-dlp probes from
verify.sh
Deferred to v0.3.0
- Cross-platform Python rewrite + Windows port (W4)
- Full
--doctorimplementation with remediation hints (W5)
Upgrading
git pull
./scripts/install.sh # if you want the minimal-tier upgrade path
./scripts/install.sh --with-coding # if you want the full toolchainThe installer is idempotent and additive — existing forks get the new tier marker written automatically; nothing else regresses.
Acceptance gate
- Bootstrap LOC < 500 ✅ (498)
- 3 default MCPs ✅
- Tier gating + SBOS_TIER marker ✅
- Zero "what's bloks?" jargon on minimal tier ✅
- Extractor PHASE 10 leakage scan: PII clean, path-refs clean, samba-tools-setup clean ✅
- shellcheck + bash syntax +
--help+--doctorsmoke: all green ✅ - Fresh-VM empirical M1/M2 (time-to-first-
/briefing< 15 min; default install < 5 min): structurally gated, recommend fork users measure on their own machine
🤖 Generated with Claude Code