whatisgithub

What is juice?

alvinunreal/juice — explained in plain English

Analysis updated 2026-05-18

32TypeScriptAudience · developerComplexity · 3/5Setup · easy

In one sentence

An MCP server that gives AI coding agents a persistent memory of mistakes to avoid, surfacing only relevant avoidance rules per task.

Mindmap

mindmap
  root((repo))
    What it does
      Stores avoidance rules
      Surfaces by relevance
      MCP tool interface
    Tech stack
      TypeScript
      SQLite
      MCP protocol
    Use cases
      Prevent repeat mistakes
      Scope rules per project
      Manage via web UI
    Audience
      Developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Save a correction after catching an AI agent repeating a mistake, so it won't recur.

USE CASE 2

Scope avoidance rules to a global, project, repo, or agent level.

USE CASE 3

Automatically surface only the constraints relevant to the agent's current task.

USE CASE 4

Browse and manage stored constraints through a mobile-friendly web UI.

What is it built with?

TypeScriptSQLiteMCP

How does it compare?

alvinunreal/juicealexmt/mobile-for-argocdchiryanoy/mimicpolymarket
Stars323232
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasymoderatehard
Complexity3/53/54/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Runs locally as a CLI or HTTP server with SQLite storage, connects to any MCP-capable agent client.

So what is it?

Juice is a small server that gives AI coding agents a persistent memory of things they should not do again. Most agent memory systems load everything into context at once, which gets noisy. Juice takes a different approach: it stores only negative guidance, meaning corrections and avoidance rules, and surfaces them selectively when they are relevant to the current task. The typical workflow is: a user catches the agent making a recurring mistake, the agent proposes an avoidance constraint in plain language, the user approves or edits it, and Juice saves it. Future sessions retrieve only the constraints that match what the agent is currently working on, keeping prompts focused. Each saved constraint includes the avoidance statement itself, a scope (global, project, repo, or agent), a category such as general, design, or writing, trigger words that control when it surfaces, and confidence and strength signals for ranking. The system deliberately rejects positive preferences and instructions that say always do this, keeping the store focused on what to avoid. Juice runs as either a local command-line server or an HTTP server for network access. Data is stored in a local SQLite file by default. It exposes a small set of tools through the MCP protocol: getting a manifest, preparing relevant constraints for a task, suggesting new constraints, saving confirmed ones, updating or retiring existing ones, and listing all stored constraints. A mobile-friendly web UI is also available for browsing and managing constraints. The server works with OpenCode, Claude Code, Cursor, Codex, and other MCP-capable agent clients. A bundled skill file can be installed into those clients with a single command.

Copy-paste prompts

Prompt 1
Help me install Juice's MCP server and connect it to Claude Code.
Prompt 2
Explain how Juice decides which stored constraints to surface for a task.
Prompt 3
Walk me through the workflow for approving a new avoidance constraint.
Prompt 4
Show me the difference between scope and category for a saved constraint.
Prompt 5
Explain why Juice only stores negative guidance instead of positive preferences.

Frequently asked questions

What is juice?

An MCP server that gives AI coding agents a persistent memory of mistakes to avoid, surfacing only relevant avoidance rules per task.

What language is juice written in?

Mainly TypeScript. The stack also includes TypeScript, SQLite, MCP.

How hard is juice to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is juice for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.