Core — Coming Soon

Your agents start every session
knowing your project.

Core is Lemonade's built-in knowledge base. Write conventions, decisions, and architecture notes once — your agents read them automatically at the start of every session.

No Obsidian. No plugins. No clipboard pasting. Just memory that works.

Core — lemonade
8 notes · 5 injected · ~1,240 tokens
Search notes...
All Conv Dec Sess

Named exports everywhere

2h ago

Conv

Zustand over Redux

1d ago

Dec

PTY session lifecycle

3d ago

Conc

DashMap not MutexHashMap

5d ago

Dec

Tauri IPC command list

1w ago

Ref

Session 2026-04-11

Yesterday

Sess

Session 2026-04-10

2d ago

Sess

Max 8 agents (soft cap)

1w ago

Conc
---
type: convention
tags: [exports, modules, typescript]
inject: true
updated: 2026-04-12
---
# Named exports everywhere
All modules use named exports. Default exports are only
permitted for page-level components ([[routing-conventions]]).
## Rule
export const MyComponent
export default function (except pages)
## Why
Enables tree-shaking, improves refactor safety, consistent
with the Zustand store pattern already in use.
Injected at launch
· ~180 tokens
.core/named-exports-everywhere.md
Inject context

Every session starts
from zero.

Your agent doesn't know you use Zustand instead of Redux. It doesn't know the PTY buffer size was a deliberate choice. It doesn't know that the eight-agent limit is frontend-only. It forgets everything between sessions.

So you paste context into every new conversation. You re-explain conventions. You watch the agent undo a decision you made three weeks ago — because it was never written down anywhere it could actually read.

Context paste on every session

Developers paste the same architectural notes into every Claude Code session. Manually. Every time.

Decisions get re-opened

The agent suggests Zustand alternatives. Again. Because the decision to use Zustand exists nowhere it can see.

CLAUDE.md grows into a novel

You bloat your CLAUDE.md trying to cover everything. It burns tokens, degrades quality, and still misses context.

Obsidian is for humans, not agents

Graph view, canvas, 1000+ plugins — none of it is readable to an LLM. You'd need a custom script just to inject notes.

Write once.
Read every session.

01 / Enable

Turn on Core for a workspace

One toggle per workspace. Core creates a .core/ directory inside your working directory. Your notes are plain .md files — readable by any editor, versionable with git.

./my-project/
├── src/
├── CLAUDE.md
└── .core/
    ├── named-exports.md
    ├── zustand-decision.md
    └── pty-lifecycle.md
02 / Write

Create notes that agents understand

Use the Core panel inside Lemonade, or write directly to the files. Each note has a type — Convention, Decision, Concept — and a simple toggle: inject into agent context or not.

---
type: decision
inject: true
---
# Use Zustand over Redux
Less boilerplate. No reducers.
Already in prod — do not replace.
03 / Launch

Agents arrive informed

When you launch a workspace, Core assembles all injected notes into a context payload and passes it to every agent via --append-system-prompt. Agents start the session already knowing your project's rules and history.

# Auto-assembled at launch
claude --append-system-prompt
  /tmp/core-context.md
# ~1,240 tokens · 5 notes
# priority: convention → decision

Five types of memory.
Each with a purpose.

Convention

Coding standards & rules

Named exports, file naming, component patterns, style rules. The things that should never change between sessions — and never do, because the agent reads them every time.

Always injected · High priority
Decision

Architectural choices

Why you chose Zustand. Why you use DashMap not Mutex<HashMap>. Why the 8-agent cap is frontend-only. Record the decision and the rationale — so the agent never re-opens closed questions.

Always injected · With rationale
Concept

Domain knowledge

What a "workspace snapshot" is. How the PTY session lifecycle works. What the singleton router does. Domain vocabulary and mental models your agent needs to reason about the codebase correctly.

Injected when tagged · Selective
Session

Auto-generated session logs

At the end of a session, Core can generate a log of what changed, what was attempted, and what was left open. Not injected by default — reviewed by humans, referenced when needed. The memory that prevents re-solving the same bug twice.

Auto-generated · Not injected by default
Reference

External docs & API notes

Tauri IPC command list, plugin API notes, third-party SDK quirks. Reference notes are selectively injected — only when you tag them for the current session or they match the task at hand.

Selective injection · Tag-filtered

Agents read Core
before they type a single character.

When you press Launch, Core collects all notes marked for injection, sorts them by priority, and assembles a structured context payload. Each agent receives it via their system prompt flag before the session begins.

The payload targets under 2,000 tokens — enough signal without diluting the context window. Notes are prioritized: Convention first, then Decision, then Concept.

.core/ notes read from disk

All .md files with inject: true

5 notes

Sorted by priority

Convention → Decision → Concept → Reference

C D K

Written to temp file

Structured plaintext, ~1,240 tokens

core-context.md

Agent receives context at launch

--append-system-prompt core-context.md

Context budget used 1,240 / 2,000 tokens

5 injected notes · 760 tokens remaining for additional context

Obsidian is for humans.
Core is for agents.

Feature
Obsidian
Core
Agent injection at launch
Requires plugin + API + custom script
Automatic, every session
Zero configuration
Vault setup, plugins, API key, port
One toggle, works immediately
Plain .md files on disk
Yes
Yes — git-trackable
Project-scoped by default
One vault = one context soup
.core/ lives in project root
Token budget awareness
No — inject everything or nothing
2k token target, priority sort
Graph view / Canvas
Rich interactive graph
Intentionally omitted — agents don't see graphs
1000+ community plugins
Extensive ecosystem
Zero plugins — YAML frontmatter is the schema
RAM overhead
300–500 MB (Electron app running)
Zero — it's a directory

Obsidian remains an excellent tool for human note-taking. Core is designed for a different job — feeding agents context that makes them productive immediately.

Plain files.
Predictable schema.

Every Core note is a Markdown file with a tiny YAML header. There is no database, no proprietary format, no binary files. You can edit Core notes in any editor. You can grep them, git-blame them, and read them in any terminal.

The schema is minimal by design. Five fields in frontmatter, and they all have obvious meanings. Wikilinks ([[other-note]]) let notes reference each other — Core resolves them transitively during injection.

type — convention | decision | concept | session | reference
inject — true | false
tags — free-form array
updated — ISO-8601
agents — which agents contributed (optional)
.core/dashmap-not-mutex-hashmap.md
---
type: decision
tags: [rust, concurrency, pty-manager]
inject: true
updated: 2026-04-08
agents: [claude-code]
---
# Use DashMap, not Mutex<HashMap>
## Decision
The [[pty-lifecycle]] requires lock-free concurrent reads
from multiple reader threads. DashMap provides this
without poisoning risk.
## Why not Mutex<HashMap>
- Lock contention under 8 simultaneous agents
- Mutex poison on thread panic requires recovery
- DashMap is already a direct dep — no overhead
## Rule
Do not introduce Mutex<HashMap> for session state.
All session maps use DashMap.
~220 tokens · Injected as priority 2

What changes when agents
actually know your project.

No more re-explaining

Your agent knows your stack on session one. No copy-pasting architecture notes. No "as I mentioned earlier." The context is already there.

Decisions stay closed

When the agent knows you chose Zustand deliberately — with a reason — it stops suggesting alternatives. Closed questions stay closed.

CLAUDE.md stays lean

Move heavy context out of CLAUDE.md into typed Core notes. Keep your CLAUDE.md under 100 lines. Stop burning tokens on boilerplate that belongs in structured memory.

Works with any agent

Claude Code, Gemini CLI, Aider, Codex — any agent that accepts a system prompt flag benefits from Core. One knowledge base, every agent in the grid.

Committed to git

.core/ is just a folder. Commit it. The team shares the same knowledge base. PR reviews show what context changed. History is auditable.

Agents can write back

Claude Code can create Core notes directly. Spot a convention you want captured? Ask your agent to write it. The knowledge base grows as the project grows.

Questions about Core.

Core is in active development and coming soon to Lemonade. All existing Lemonade customers will receive Core as part of the standard update — no extra cost, no extra subscription.

No. Core and Obsidian serve different purposes. Obsidian is excellent for personal knowledge management — journal, research, long-form thinking. Core is purpose-built for coding agent context: structured, scoped per-project, and automatically injected. Many developers will use both.

Yes. Claude Code (and any agent with file write access) can create and update .core/ files directly. The note format is simple enough that a well-prompted agent writes valid Core notes in one pass. You can tell Claude: "Create a Core convention note for named exports" and it knows exactly what to produce.

Core uses a priority system — Conventions first, then Decisions, then Concepts. If you exceed the token budget, lower-priority notes are trimmed. You can also use tags to create focused injection profiles: tag notes with #sprint-2 and only inject the sprint-relevant context for that session.

Core injects context for every agent in the workspace at launch. If you have 4 agents running, all 4 receive the same Core payload. This means your entire agent grid starts each session sharing the same project understanding — no inconsistency between agents on the same codebase.

Core is coming to Lemonade
Lemonade

Get Lemonade now.
Core ships free when it drops.

$29 one-time. Every future feature — Core, Blueprint, Cluster — ships as a free update. No subscription, ever.

7-day money-back guarantee. All future updates included.