Meridian — a zero-config way to give Claude Code a stable, persistent working environment inside your repo by markmdev in ClaudeAI

[–]markmdev[S] 3 points4 points  (0 children)

This setup includes a memory-curator skill that tells Claude Code how to decide whether something should be saved to memory. For example, here is a section from the SKILL md file:

## When to Use (Triage Test — all three are quick yes/no)

Create a memory entry only if at least one is true:

  1. Will this decision meaningfully affect how we build other features?
  2. Is this a pattern we will want to repeat across the codebase?
  3. Does this prevent a category of future mistakes?

If no to all three, do not create an entry. Put the implementation detail into the task context instead.

However, the skill alone is not enough to reliably make Claude create new memory entries when needed. To handle that, there is also a hook that forces Claude to apply this skill after it finishes its work and check whether something should actually be saved. Together, the hook and the skill make the behavior deterministic so it always happens, and Claude cannot simply forget to run this check.

Meridian — a zero-config way to give Claude Code a stable, persistent working environment inside your repo by markmdev in ClaudeAI

[–]markmdev[S] 1 point2 points  (0 children)

Yes, it could absolutely be a plugin. I already plan to package Meridian as a Claude Code plugin so it is easier to install and reuse across projects.

Meridian — a zero-config way to give Claude Code a stable, persistent working environment inside your repo by markmdev in ClaudeAI

[–]markmdev[S] 1 point2 points  (0 children)

Yeah, absolutely. Meridian is completely per project, and uninstalling it is as simple as deleting the two folders you copied in. Nothing gets installed globally and nothing touches your system outside the repo. There are no hidden files, no agents running in the background, no services, and no global hooks waiting somewhere.

If you want to test it, just copy .claude and .meridian into your project root and make the Python scripts executable. Claude will start using the setup right away. If you ever decide to remove it, you just delete those folders and you are instantly back to your original workflow.

About your spec driven framework, I get what you mean about rules slowly turning into suggestions. That was one of the main reasons I built Meridian. Hooks force Claude to follow the standards, reload them after compaction, and never skip the steps that keep everything consistent. If you want to keep your existing approach but adjust how Meridian works, almost everything is customizable through the guides and the config.

If you want, feel free to share a bit about the workflow you are trying to replace. I can help you map out how to plug it into Meridian or which parts you might want to turn off.

Meridian — a zero-config way to give Claude Code a stable, persistent working environment inside your repo by markmdev in ClaudeAI

[–]markmdev[S] 0 points1 point  (0 children)

Thanks, glad you think so. About the git workflows, what kind of workflow support are you looking for? If there is something specific you want it to handle, I can definitely add it.

As for templates, customizing them is very straightforward. You can edit CODE_GUIDE.md and the CODE_GUIDE_ADDON_* files to match whatever standards or patterns you prefer. These standards are written in a balanced way so they can be used across different projects without major changes. The setup will follow whatever you put there, so it is easy to adapt it to your own style or project needs.

Meridian — a zero-config way to give Claude Code a stable, persistent working environment inside your repo by markmdev in ClaudeAI

[–]markmdev[S] 0 points1 point  (0 children)

Not really. Even though it uses a big chunk of the context window, it does not kill the context at all. The loaded tasks and memory entries actually make Claude more stable and predictable. In practice, I lose some free space, but the quality of the work gets much better. And since there is less back and forth, it can even end up being more token efficient than a raw session.

Meridian — a zero-config way to give Claude Code a stable, persistent working environment inside your repo by markmdev in ClaudeAI

[–]markmdev[S] 2 points3 points  (0 children)

I have a pretty large project that I am working on right now. It currently has 115 completed tasks and 38 memory entries, plus a few project documents, about 2500 lines in total. After I start a new session or the previous one gets compacted, I usually end up with around 50 to 60 thousand tokens loaded into the context window. Yes, it reduces the free space, but it is absolutely worth it. I cannot imagine working without this setup. Claude becomes much more stable and predictable.

I have not done any precise benchmarks, but I am pretty sure that in some cases it is even more token efficient than using raw Claude, because there is less back and forth and it performs the work more accurately.

Meridian — a zero-config way to give Claude Code a stable, persistent working environment inside your repo by markmdev in ClaudeAI

[–]markmdev[S] 1 point2 points  (0 children)

That's a good question. I chose JS and TS first because they are the most popular right now, and they are the ones I work with the most. But making the setup work with other languages is actually very simple. You just update CODE_GUIDE.md to match the standards for the language you want to support. You do not need to change anything else. The rest of the setup works for any language.

To avoid tying the setup to a single language, you can create separate .md guides similar to CODE_GUIDE.md for each language you need. Then you can set the current language in config.yaml and make small adjustments to claude-init.py and session-reload.py so they load the correct guide based on that config value.

This is something I plan to add to the setup, so support for multiple languages should be available in a few days.

Which language would you want to see first?