mirror of
https://github.com/gnekt/My-Brain-Is-Full-Crew.git
synced 2026-09-07 22:36:26 +00:00
* Fix istall/update scripts * test: capture pre-refactor install snapshot for regression Adds take-snapshot.sh script and the resulting snapshot/ directory, capturing the exact vault state produced by launchme.sh before the framework-agnosticity refactor begins. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Summary: Refactor agents/skills/hooks/mcp in agentic-platform-agnostic templates. refactor: rename source CLAUDE.md → DISPATCHER.md (framework-neutral) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> refactor: convert agent frontmatter from tools: to neutral capabilities: Replace Claude Code-specific `tools:` frontmatter with framework-agnostic `mode: subagent` and `capabilities: [...]` in all 8 agent files. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> refactor: add neutral hook trigger manifests (.hook.yaml) refactor: hooks read neutral JSON schema (args.* instead of tool_input.*) refactor: convert .mcp.json to neutral mcp/servers.yaml Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Implement agentic-platform adapters skeleton. build: add adapters/lib.sh skeleton with vocabulary constants test: bash test runner for adapter helpers Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(adapters): parse_frontmatter helper with tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(adapters): parse_capabilities helper with tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(adapters): should_include helper with tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(adapters): parse_hook_yaml helper with tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(adapters): agent_body helper with tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(adapters): enumerate_agents and enumerate_hooks helpers Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Implement agentic-platform adapter for Claude Code. build(adapters): claude-code adapter skeleton with capability/event tables build(claude-code): adapter_translate_dispatcher with test build(claude-code): adapter_translate_references with test build(claude-code): adapter_translate_skills with tests build(claude-code): adapter_translate_agents with capability→tools mapping build(claude-code): hook wrapper template (CC native → neutral schema) build(claude-code): adapter_translate_hooks with wrapper generation build(claude-code): adapter_translate_mcp with hand-rolled YAML parser build(claude-code): adapter_finalize and complete adapter_build wiring build: scripts/build.sh dispatches to per-framework adapter Also fix adapter_translate_hooks and adapter_translate_agents to use while-read loops (avoiding word-splitting on paths with spaces) and guard grep calls with || true to survive set -eo pipefail when hooks have no match-tool field. Remove scripts/build.sh from .gitignore. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Refactor install/update scripts to support agentic-platform agnosticity. refactor(lib.sh): generalize install_claude_md → install_dispatcher New signature takes the full destination path instead of just the vault dir, allowing callers to install CLAUDE.md, AGENTS.md, or any dispatcher file to an explicit location. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> feat(launchme): support --framework flag, build dist/ before install Add --framework and --target arg parsing. Run build.sh before installing to populate dist/<framework>/. All install_* calls now read from dist/<framework>/ instead of the raw source dirs. MCP is now handled automatically by the adapter (no interactive prompt). Replaced install_claude_md with install_dispatcher. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> feat(updateme): support --framework flag, build dist/ before update Add --framework and --target arg parsing. Run build.sh before installing to populate dist/<framework>/. All install_* calls now read from dist/<framework>/ instead of raw source dirs. Replaced install_claude_md with install_dispatcher. Also fix set -e compatibility in lib.sh: add || true to all conditional [[ ... ]] && info "..." logging lines so they don't abort the script when VERBOSE_COPY=0. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * test: regression runner diffs dist/claude-code against pre-refactor snapshot - Add tests/regression/run.sh that builds dist/claude-code and compares against snapshot, excluding runtime-only artifacts (.mbifc-manifest, .mcp.json, .claude-plugin/plugin.json) - Fix adapters/lib.sh agent_body: preserve '---' section dividers in body (awk now only skips '---' while still inside frontmatter, fm < 2) - Fix adapters/claude-code/adapter.sh: change 'read' capability to expand to only 'Read', appending 'Glob, Grep' at end of tools list to match snapshot ordering - Update snapshot to reflect intentional refactor changes: hook JSON schema (.args.* instead of .tool_input.*), wrapper scripts, settings.json with wrapper paths, and consistent tool ordering for postman/sorter Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Implement opencode adapter. Co-Authored-By: win0na <winnie@winneon.moe> feat(lib.sh): add install_plugins helper for opencode JS plugins build(adapters): opencode adapter skeleton with capability/event tables build(opencode): adapter_translate_dispatcher (DISPATCHER.md → AGENTS.md) build(opencode): adapter_translate_references and adapter_translate_skills Implements Task 4 and Task 5: - adapter_translate_references: Copies reference markdown files to .opencode/references/ - adapter_translate_skills: Copies skill SKILL.md files to .opencode/skills/<name>/ with exclude filtering Both functions respect framework filtering via should_include(). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(opencode): adapter_translate_agents with capability→permission mapping Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(opencode): bash-executor template for spawning hook scripts build(opencode): plugin-stub template for mbifc-hooks.js build(opencode): adapter_translate_hooks with JS plugin generation Implements _oc_hook_registry_json and adapter_translate_hooks in the opencode adapter. Copies hook scripts to .opencode/hooks/, generates a single .opencode/plugins/mbifc-hooks.js by inlining bash-executor.js and synthesising a hook registry from *.hook.yaml files. Uses python3 for template substitution to safely handle multi-line JS content. Adds 3 unit tests (copies scripts, registry entries, noop when no hooks dir). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(opencode): adapter_translate_mcp with local/remote handling build(opencode): adapter_finalize and complete adapter_build wiring Add adapter_finalize placeholder and wire adapter_translate_mcp into adapter_build; add end-to-end integration test (14/14 pass). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> feat(launchme): branch on --framework for opencode install layout Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> feat(updateme): branch on --framework for opencode install layout Mirror the same case "$FRAMEWORK" block from launchme.sh: framework-specific DIST_COMPONENTS_DIR, VAULT_COMPONENTS_DIR, DISPATCHER_SRC/DST, MCP_SRC/DST, HAS_PLUGINS; conditional install_plugins; conditional install_settings; framework-aware vault-setup check; framework-neutral summary messages. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix adapters to follow the same template. fix: restore adapter_build() contract, revert function renames Both adapters now export adapter_build() and adapter_translate_*() as the uniform public contract. scripts/build.sh sources one adapter and calls adapter_build uniformly. Private helpers (_oc_*) and vocabulary tables (cc_capability_to_tools, oc_capability_to_permission, etc.) retain their prefixes. CC regression and OC unit tests all pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> fix(tests): restore test_oc_ prefix on adapter_build end-to-end test * Fix agent format in opencode adapter * refactor: rename --framework to --platform across all scripts and tests Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Modify generic name for model tiers Co-Authored-By: win0na <winnie@winneon.moe> refactor: neutral model vocabulary (low/mid/high) in source agents feat(claude-code): cc_model_to_native() maps low/mid/high to haiku/sonnet/opus Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> feat(opencode): update oc_model_to_provider() for low/mid/high vocabulary Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Add gemini-cli adapter Co-Authored-By: win0na <winnie@winneon.moe> build(gemini-cli): adapter skeleton with capability/event/model tables build(gemini-cli): adapter_translate_dispatcher (DISPATCHER.md → GEMINI.md) build(gemini-cli): adapter_translate_references and adapter_translate_skills Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(gemini-cli): adapter_translate_agents with capability→tools mapping Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(gemini-cli): adapter_translate_hooks with wrapper scripts Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> feat(install): add gemini-cli platform to launchme.sh and updateme.sh Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Implement preserving config merge for opencode. Co-Authored-By: win0na <winnie@winneon.moe> feat(opencode): config-merge.sh with formatting-preserving JSON merge Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> build(opencode): source config-merge.sh from adapter Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> feat(install): use oc_config_merge for opencode.json instead of overwrite Source config-merge.sh from install scripts for opencode platform so user keys in opencode.json are preserved on reinstall and update. Fix in-place merge by writing to a temp file before moving to output. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Add mcp files to gitignore. * Fix claude-specific references in agents, skills and references * Fix: remove claude-specific reference from hooks. build: add platform_dir and dispatcher_name to all hook wrapper/plugin templates feat(hooks): platform-aware path checks using platform_dir and dispatcher_name from JSON input test: update regression snapshot for platform-aware hook wrappers and scripts * Added interactive platform choice in launchme, and platform auto-detection in updateme. * Fix: remove claude-specific references from documentation * Update documentation to reflect the new platform-agnostic architecture * fix: address Copilot review feedback on PR #32 - tests/run.sh: check source return code, report failures - tests/regression/run.sh: use mktemp + trap cleanup instead of fixed /tmp paths - tests/regression/run.sh: include .mcp.json in regression comparison - tests/regression/take-snapshot.sh: use --platform flag instead of stale scripted input - adapters/opencode/templates/plugin-stub.js.tmpl: include stdout in hook block error message * fix: address Copilot review round 2 - config-merge.sh: reword comment to only promise indentation preservation (not full formatting) - take-snapshot.sh: copy required artifacts explicitly, optional ones with existence check - adapters/lib.sh: document parse_hook_yaml single-trigger limitation * fix: address Copilot review round 3 - adapters/opencode/adapter.sh: replace python3 template substitution with pure bash (while-read loop with case matching), removing python3 dependency - adapters/lib.sh: should_include now falls back to plain YAML key read for files without frontmatter delimiters (fixes hook .yaml exclude: support) * fix: address Copilot review round 4 - scripts/launchme.sh: fix double-dot in FW_DIR_NAME display (basename already includes the dot, e.g. ".claude") - scripts/launchme.sh: replace undefined MCP_ANSWER with check on MCP_DST existence for summary banner --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
259 lines
9.8 KiB
Markdown
Executable File
259 lines
9.8 KiB
Markdown
Executable File
# Getting Started with My Brain Is Full - Crew
|
|
|
|
A step-by-step guide for setting up your AI-powered vault. No technical background required.
|
|
|
|
---
|
|
|
|
## What you need before starting
|
|
|
|
### Required
|
|
- **Obsidian**: A free note-taking app. Download it at [obsidian.md](https://obsidian.md)
|
|
- **An agent platform**: one of [Claude Code](https://claude.ai/code) (Pro/Max/Team), [Gemini CLI](https://github.com/google-gemini/gemini-cli), or [OpenCode](https://opencode.ai).
|
|
- **An Obsidian vault**: This is just a folder on your computer where Obsidian stores your notes. If you don't have one yet, Obsidian will create one for you when you first open it.
|
|
- **Git**: A tool to download the project. On Mac, the terminal will prompt you to install it automatically the first time you use it. On Windows, download it from [git-scm.com](https://git-scm.com).
|
|
|
|
### Optional (but recommended)
|
|
- **Gmail account**: If you want the Postman agent to process your Gmail inbox (via GWS CLI or MCP)
|
|
- **Hey.com account**: If you use Hey for email (via Hey CLI) — works alongside or instead of Gmail
|
|
- **Google Calendar**: If you want calendar integration
|
|
|
|
---
|
|
|
|
## Step 1: Install Obsidian
|
|
|
|
1. Go to [obsidian.md](https://obsidian.md) and download the app for your system (Mac, Windows, or Linux)
|
|
2. Open Obsidian
|
|
3. If this is your first time, click **"Create new vault"**
|
|
4. Give it a name (e.g., "My Brain", "Second Brain", "Knowledge Base", whatever feels right)
|
|
5. Choose where to save it on your computer
|
|
6. Remember this location. You'll need it in Step 3
|
|
|
|
### Install recommended plugins
|
|
|
|
Inside Obsidian:
|
|
1. Go to **Settings** (gear icon, bottom left)
|
|
2. Click **Community plugins**
|
|
3. Click **Browse**
|
|
4. Search for and install these plugins:
|
|
|
|
**Essential (install these first):**
|
|
| Plugin | What it does |
|
|
|--------|-------------|
|
|
| **Templater** | Makes templates work with dynamic content (dates, etc.) |
|
|
| **Dataview** | Lets you query your notes like a database |
|
|
| **Calendar** | Visual calendar in the sidebar |
|
|
| **Tasks** | Better task management with due dates and queries |
|
|
|
|
**Recommended (install when ready):**
|
|
| Plugin | What it does |
|
|
|--------|-------------|
|
|
| **QuickAdd** | Rapid note capture |
|
|
| **Folder Notes** | Index notes for folders |
|
|
| **Tag Wrangler** | Manage and rename tags in bulk |
|
|
| **Periodic Notes** | Weekly and monthly review notes |
|
|
| **Omnisearch** | Better search across your vault |
|
|
|
|
Don't worry if this feels like a lot. The Architect agent will remind you about missing plugins during setup.
|
|
|
|
---
|
|
|
|
## Step 2: Install an agent platform
|
|
|
|
Install one of the following:
|
|
|
|
| Platform | Install | Subscription |
|
|
|----------|---------|-------------|
|
|
| **Claude Code** | [claude.ai/code](https://claude.ai/code) | Claude Pro, Max, or Team |
|
|
| **Gemini CLI** | [github.com/google-gemini/gemini-cli](https://github.com/google-gemini/gemini-cli) | Google account |
|
|
| **OpenCode** | [opencode.ai](https://opencode.ai) | Varies by provider |
|
|
|
|
Claude Code works as both CLI and Desktop app (Cowork). The Crew works on all supported platforms.
|
|
|
|
---
|
|
|
|
## Step 3: Install the Crew
|
|
|
|
Open your terminal and navigate to your Obsidian vault folder:
|
|
|
|
```bash
|
|
cd /path/to/your-vault
|
|
```
|
|
|
|
> **Not sure how to open the terminal?** On Mac, press `Command + Space`, type "Terminal", and press Enter. On Windows, press `Windows + R`, type "cmd", and press Enter.
|
|
|
|
Clone the repo inside your vault:
|
|
|
|
```bash
|
|
git clone https://github.com/gnekt/My-Brain-Is-Full-Crew.git
|
|
```
|
|
|
|
Run the installer:
|
|
|
|
```bash
|
|
cd My-Brain-Is-Full-Crew
|
|
bash scripts/launchme.sh
|
|
```
|
|
|
|
The script will ask a couple of questions:
|
|
1. **Which platform?** Select your agent platform (Claude Code, Gemini CLI, or OpenCode)
|
|
2. **Is this your vault folder?** Confirm or enter the correct path
|
|
|
|
When it's done, your vault will look like this (paths vary by platform):
|
|
|
|
```
|
|
your-vault/
|
|
├── .<platform>/ ← .claude/, .gemini/, .opencode/, or any platform dir that will be supported in the future
|
|
│ ├── agents/ ← 8 lightweight crew agents
|
|
│ ├── skills/ ← 14 specialized skills for complex flows
|
|
│ ├── hooks/ ← file protection and validation
|
|
│ └── references/ ← shared docs the agents read
|
|
├── CLAUDE.md / GEMINI.md / AGENTS.md / ... ← dispatcher (varies by platform)
|
|
├── My-Brain-Is-Full-Crew/ ← the repo (for future updates)
|
|
└── ... your Obsidian notes
|
|
```
|
|
|
|
> **Something went wrong?** The most common issue is that `git` isn't installed. On Mac, the terminal will prompt you to install it automatically. On Windows, download it from [git-scm.com](https://git-scm.com). If you're stuck, just show this page to a tech-savvy friend. It takes 60 seconds.
|
|
|
|
---
|
|
|
|
## Step 4: Connect your vault
|
|
|
|
1. Open your agent platform (Claude Code, Gemini CLI, or OpenCode)
|
|
2. Open it **inside your Obsidian vault folder**. This is important: the platform needs to be in your vault to read and write your notes.
|
|
|
|
If you're using a CLI tool:
|
|
```bash
|
|
cd /path/to/your-vault
|
|
claude # or: gemini, opencode
|
|
```
|
|
|
|
If you're using Claude Code Desktop (Cowork), open the vault folder as your working directory.
|
|
|
|
---
|
|
|
|
## Step 5: Initialize your vault
|
|
|
|
This is the fun part. Just type:
|
|
|
|
> **"Initialize my vault"**
|
|
|
|
The `/onboarding` skill will kick in and the **Architect** will start a friendly conversation with you. It will ask:
|
|
|
|
### About you
|
|
- What should I call you?
|
|
- What's your preferred language?
|
|
- What do you do? (student, professional, creative, researcher...)
|
|
- What brought you here? (overwhelm, organization, health, productivity...)
|
|
|
|
### About your vault
|
|
- Are you new to Obsidian, or migrating from an existing vault?
|
|
- Do you want all 8 agents, or just some?
|
|
- What areas of your life do you want to manage?
|
|
|
|
### About integrations (optional)
|
|
- Do you want email triage? (requires Gmail via GWS/MCP, or Hey.com via Hey CLI)
|
|
- Do you want calendar integration? (requires Google Calendar via GWS/MCP)
|
|
|
|
After the conversation, the Architect creates your entire vault structure, saves your profile, and leaves you a personalized welcome note.
|
|
|
|
### Agent memory (Post-it)
|
|
|
|
Every agent has a small "post-it" file in `Meta/states/` where it jots down notes for its next run. This means agents remember what they did last time: the Sorter knows which files it already triaged, the Scribe remembers what you were brainstorming about, the Architect knows which onboarding step you were on if the conversation was interrupted.
|
|
|
|
You don't need to manage these files — agents handle them automatically. Each post-it is limited to 30 lines, so they never grow out of control.
|
|
|
|
---
|
|
|
|
## Step 6: Start using it
|
|
|
|
From now on, you just talk to your agent. Here are some things to try on your first day:
|
|
|
|
### Capture some thoughts
|
|
> "Save this: I had an idea about reorganizing the team standup. Maybe we should do async updates on Mondays and only meet on Wednesdays"
|
|
|
|
The **Scribe** will turn this into a clean note in your inbox.
|
|
|
|
### Dump several things at once
|
|
> "Quick notes: need to call the dentist, also Marco mentioned a book called Thinking Fast and Slow, and I should review the Q3 budget before Friday"
|
|
|
|
The **Scribe** detects multiple items and creates separate notes for each.
|
|
|
|
### Check your email
|
|
> "Check my email for anything important"
|
|
|
|
The `/email-triage` skill scans your inbox (Gmail or Hey.com), saves actionable emails, and gives you a summary.
|
|
|
|
### File everything
|
|
> "Triage my inbox"
|
|
|
|
The `/inbox-triage` skill processes all notes in your inbox and files them to the right places.
|
|
|
|
### Search your brain
|
|
> "What do I know about the Henderson project?"
|
|
|
|
The **Seeker** searches your vault and synthesizes an answer with source citations.
|
|
|
|
---
|
|
|
|
## Step 7: Build daily habits
|
|
|
|
The Crew works best with simple daily routines:
|
|
|
|
### Morning (2 minutes)
|
|
> "Check my calendar for today" to see what's ahead
|
|
> "Any messages from the crew?" to check if agents flagged anything
|
|
|
|
### Throughout the day
|
|
> Just dump thoughts as they come. The Scribe handles the rest.
|
|
|
|
### Evening (5 minutes)
|
|
> "Triage my inbox" to let the Sorter file everything
|
|
|
|
### Weekly (10 minutes)
|
|
> "Weekly review" to run the `/vault-audit` skill for a full vault health check
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### "The agent doesn't seem to activate"
|
|
Make sure your agent platform is open inside your vault folder (not a different directory). Verify agent files exist in the platform's agents directory (e.g., `.claude/agents/`). Try saying the trigger phrase differently. Agents and skills understand natural language in multiple languages.
|
|
|
|
### "Email/Calendar isn't working"
|
|
The Postman needs at least one email backend: GWS CLI (`gws`), Hey CLI (`hey`), or MCP connectors. For GWS, see `docs/gws-setup-guide.md`. For Hey, install from [github.com/basecamp/hey-cli](https://github.com/basecamp/hey-cli) and run `hey auth login`. For MCP, run the installer again (`bash scripts/launchme.sh`) and answer **yes** to the Gmail/Calendar question, or manually copy `.mcp.json` from the repo to your vault root.
|
|
|
|
### "My vault structure looks different from the docs"
|
|
The Architect customizes the structure based on your onboarding answers.
|
|
|
|
### "How do I update to a new version?"
|
|
|
|
```bash
|
|
cd /path/to/your-vault/My-Brain-Is-Full-Crew
|
|
git pull
|
|
bash scripts/updateme.sh
|
|
```
|
|
|
|
Only changed files are updated. Your vault notes are never touched.
|
|
|
|
### "An agent did something weird"
|
|
Open an issue on GitHub with:
|
|
1. What you asked
|
|
2. What happened
|
|
3. What you expected
|
|
|
|
### "I want to change my profile"
|
|
> "Update my profile" and the Architect will help you modify your settings
|
|
|
|
---
|
|
|
|
## Next steps
|
|
|
|
- **[Examples](examples.md)**: See real-world usage scenarios
|
|
- **[Mobile Access](mobile-access.md)**: Use the Crew from your phone
|
|
- **[Meet the Agents](agents/)**: Deep-dive into each agent's capabilities
|
|
- **[Contributing](../CONTRIBUTING.md)**: Help make the Crew better
|
|
|
|
---
|
|
|
|
*Remember: the best organizational system is the one you actually use. Start small. Talk to your agent. Let the Crew handle the rest.*
|