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
Keys can be added, renamed, deleted, and inspected across projects. -
Metadata is explicit
Reserved keys (prefixed with_) track creation and update times without polluting user-defined structure.
Installation
This installs the me command.
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.
Sort projects by a key
When sorting is enabled, the selected key and its value are shown inline for each project (when present).
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).
Push a project from YAML
Or interactively:
Paste YAML content directly into the terminal to create a project.
Inspect keys across projects
Lists all keys and how frequently they appear.
Highlights near-duplicate keys (e.g. created_at vs created-at).
Rename a key
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.x establishes the conceptual and architectural core.
- 0.2.x adds inspection, mutation, and sorting capabilities.
- Future versions will extend views and filters without breaking existing project files.
License
MIT