Membrane is a schema-optional, file-based project memory system.
It lets you name projects, attach arbitrary keys, and observe how language emerges across your work — without enforcing structure, schemas, or workflows.
Membrane is not a task manager, calendar, or ticketing system. It sits above those tools, acting as a lightweight semantic layer over your projects.
Why Membrane?
Most project tools fail in one of two ways:
- They are too rigid (fixed fields, schemas, workflows)
- Or too vague (notes with no structure at all)
Membrane takes a different approach:
- Projects are files
- Keys are language artifacts
- Structure is allowed to emerge organically
- Metadata exists, but stays out of the way
You decide what matters. Membrane just remembers it.
Core Concepts
-
Workspace-based
A Membrane workspace lives in a.membrane/directory. -
Projects are YAML files
Each project is a single, human-readable YAML file. -
Schema-less by design
Projects can contain any keys. No required fields. -
Keys are first-class
Membrane can analyze keys across projects to reveal patterns, inconsistencies, or duplication. -
Metadata is explicit
Reserved keys (prefixed with_) track creation and update times without polluting user-defined structure.
Installation
Or clone and build locally:
Getting Started
Initialize a workspace
Creates a .membrane/ directory in the current folder.
Create a project
Creates a new project file with basic metadata.
List projects
Displays all projects in the current workspace.
Show a project
Displays all keys and values for the project.
Metadata keys (prefixed with _) are visually dimmed.
Set a key
Values are parsed as YAML scalars when possible.
Set a multi-line value (interactive)
You’ll be prompted to paste or type content directly into the terminal.
Finish with Ctrl+D (Linux/macOS) or Ctrl+Z + Enter (Windows).
Inspect keys across projects
Lists all keys and how frequently they appear.
Highlights near-duplicate keys (e.g. created_at vs created-at).
Delete a project (safe)
You’ll be asked to confirm by typing the project name.
Philosophy
Membrane is intentionally minimal.
It does not:
- enforce schemas
- impose workflows
- sync to the cloud
- track tasks or deadlines
- automate decisions
Instead, it provides a durable, inspectable memory layer that you can reason about over time.
Versioning
Membrane follows semantic versioning.
- 0.1.0 establishes the conceptual and architectural core.
- Future versions will add capabilities incrementally without breaking existing project files.
Roadmap (non-binding)
Possible future additions:
- Key renaming / edit-sweep
- Key deletion
- Archiving projects
- Filters and views
- Editor integration
- JSON output modes
None of these are required to use Membrane effectively.
License
MIT