Skip to content

chore: add .muse-cache/ to .gitignore - #2

Open
0xMikey-ooze wants to merge 4 commits into
mainfrom
claude/build-muse-mcp-lsiVw
Open

0xMikey-ooze wants to merge 4 commits into
mainfrom
claude/build-muse-mcp-lsiVw

Conversation

@0xMikey-ooze

@0xMikey-ooze 0xMikey-ooze commented Apr 24, 2026 •

Copy link
Copy Markdown
Owner

What does this PR do?

Adds .muse-cache/ directory to .gitignore to prevent Muse MCP on-disk cache files from being tracked in version control. The Muse MCP cache stores JSON key-value data for references, briefs, and taste profiles.

Related Issue

N/A

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 🔒 Security fix
  • 📝 Documentation update
  • ✅ Tests (adding or improving test coverage)
  • ♻️ Refactor (no behavior change)
  • 📋 Chore (housekeeping, configuration)

Changes Made

  • Added .muse-cache/ to .gitignore with explanatory comment

How to Test

N/A - This is a configuration change to .gitignore.

Checklist

Code

  • I've read the Contributing Guide
  • My commit messages follow Conventional Commits (fix(scope):, feat(scope):, etc.)
  • I searched for existing PRs to make sure this isn't a duplicate
  • My PR contains only changes related to this fix/feature (no unrelated commits)

Documentation & Housekeeping

  • I've updated relevant documentation (README, docs/, docstrings) — or N/A

https://claude.ai/code/session_011fSbheUpU7bxDBPwgHrhKf


Open in Devin Review

Summary by CodeRabbit

  • Chores
    • Updated git configuration to ignore cache directory, preventing local cached data from being tracked.

claude added 4 commits April 24, 2026 16:43
Adds muse-mcp/, a Bun + TypeScript MCP server that feeds AI designer
agents real-world inspiration and learns per-user taste from thumbs-up/
-down feedback.

Tools (6): muse_generate_brief, muse_fetch_inspiration, muse_get_brief,
muse_extract_style, muse_record_feedback, muse_get_taste.

Sources: Land-book, Godly, Dribbble (HTTP + cheerio). Dribbble covers
category shots — barbershop, coffee shop, etc. — via public search/tag
endpoints with respectful UA, retry, and caching.

Pipeline: Haiku intent parser → parallel source fetch w/ dedupe + cache
→ Sonnet vision style extraction → taste-ranked clustering → Sonnet
brief synthesis → persisted by id.

Taste: weighted bag-of-words over mood, components, layout archetype,
distinctive choices, and per-role palette colors. tanh-squashed scoring;
reject hard-filters. Liked patterns surface in synthesis prompt.

16 unit tests pass (taste math, clustering, JSON extraction, dedupe).
tsc --noEmit clean. Server boots and answers initialize + tools/list.
…-aware synthesis

- Adds "logo" to Scope; intent parser + tool schemas accept it.
- Dribbble source: when scope is logo, builds logo-tuned queries
  ("{category} logo", "logomark", "wordmark", "monogram", "{mood}
  {category} logo") and seeds /tags/logo-design, /tags/branding,
  /tags/monogram, /tags/wordmark. Mark searches surface real category
  inspiration (barbershop, coffee shop, etc.) that the web sources miss.
- Logo-specific synthesis system prompt: outputs mark archetype (emblem
  / wordmark / monogram / mascot), shape-language components, optional
  construction grid, and logo-specific anti-patterns (no realistic
  barber-pole w/ drop shadow, no swoosh etc.).
- Style extractor vision prompt tuned to capture logo tokens when the
  image is a mark (archetype → mark type, components → logo elements,
  distinctive_choices → shape-language cues).
- "INSPIRATION, NOT IMITATION" added as a hard rule in BOTH web and
  logo synthesis prompts. Brief must share language (weight, grid, era,
  mood) with cluster, never identity. reference_whys cite what each ref
  contributed so lineage is traceable without copying.
- README: scope table, no-copy guarantee, concrete integration examples
  (MCP host, Node/Bun SDK client, direct import).
- 18 tests pass (added dribbble sanity), tsc clean.
Muse now learns overall, not just per user.

Every muse_record_feedback event writes to TWO layers:
  - per-user profile at full scale (1.0)
  - shared __global__ profile at reduced scale (0.4)

Ranking + synthesis use a combined profile that blends the user
(weight 1.0) with global (weight 0.6). So:
  - brand-new users benefit from the house taste on their first brief
  - power users' personal taste still dominates their own work
  - consistent signal across many users accumulates into the house
  - one user's reject is user-scoped only — never a global ban
  - anonymous (no user_id) calls use the global profile alone

New surface:
  - GLOBAL_TASTE_ID constant (__global__) — direct admin writes work
  - muse_get_taste accepts view: 'user' | 'global' | 'combined'
  - applyFeedback returns global_updated flag
  - getCombinedProfile(userId?) helper for consumers

Refactor: applyWeightsFromFeedback pulls the shared mutation logic so
both user and global paths stay in sync; liked/rejected ref-id lists
(identity-bound) stay user-only.

6 new tests for global + merge behavior; 24/24 pass total; tsc clean.
Also gitignores .muse-cache/ at repo root.
Moved to /home/user/muse as its own git repo with its own history
(initial commit 3ca7c93). Keeping muse out of this monorepo from here
on so it can ship on its own release cycle.

Nothing in hermes-agent imported from muse-mcp, so this is a clean
deletion — no other files in the repo need updating.
@coderabbitai

coderabbitai Bot commented Apr 24, 2026 •

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6a7a2b1a-0135-44ce-8cbf-33a7bb55664a

📥 Commits

Reviewing files that changed from the base of the PR and between 72cffee and 69b2928.

📒 Files selected for processing (1)
  • .gitignore

📝 Walkthrough

Walkthrough

The .gitignore file is updated to exclude the .muse-cache/ directory from version control, preventing cached JSON key-value data generated by Muse MCP from being tracked.

Changes

Cohort / File(s) Summary
Ignore Configuration
.gitignore
Added entry to ignore .muse-cache/ directory containing Muse MCP cached JSON KV data.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~1 minute

Poem

🐰 Whiskers twitching with glee
A cache hidden, safe from git's watchful tree,
Muse data tucked away, neat and sound,
Hopping along with no clutter around! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely describes the main change: adding .muse-cache/ to .gitignore to prevent Muse MCP cache files from being tracked.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/build-muse-mcp-lsiVw

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants