ms · the feature installer for AI-built apps

One feature. One implementation. In every app.

Ask an agent for auth twice and you get two different codebases, even from the same model on the same day. Meseret installs one verified implementation instead, into Bun, Rust and Python apps, so every app has the same code to review, fix and upgrade.

$ms new acme --preset bun-app --with auth,orgs
Why it matters ↓
3ecosystems
20slots
33features
8operations
0overwrites
Click a feature to run ms add or ms remove
~/dev/acme · zsh
The real problem

Same prompt. Same model. Same hour. Different code.

Agents don't remember how they built auth last time. Every run picks its own files, libraries and names, so you review a new design each time and fix the same bug in five shapes.

Written by an agent Five runs of one prompt "add email and password auth" 5 designs · 0 files shared
Installed by meseret Five apps, one feature ms add auth 1 design · identical files
Each shape is one result's file tree: a bar per file, indented by depth, coloured by folder.
Review once platform

The feature is reviewed and tested on the platform, not again in every app.

Fix once ms upgrade

A fix ships in the package and reaches every app through one upgrade.

Read any app same names

Users, orgs and billing live in the same files with the same names everywhere.

Versions drift too. When an agent sets up each of your apps on its own, each app ends up with different library versions and tools. Meseret keeps one list of versions per language, so every app it creates uses the same ones.

Feature library

Users, roles, billing, dashboards. Installed, not rewritten.

Each feature is a working part of an app, with its database tables, API routes, screens and tests. Pick one to see what it adds.

Lifecycle

Five commands, from the first day to the next year.

~/dev · zsh
For agents

Built for the agents that write your apps.

Claude Code and Codex are meseret's main users. Every command takes every answer as a flag and prints one JSON document with --json. ms plan computes and ms apply writes exactly that plan, refusing if the project changed since.

ms_registryms_planms_apply ms_verifyms_doctorms_fleet_status
ms add orgs --jsonexit 1 · nothing written
{ "command": "add", "exitCode": 1,
  "error": { "code": "missing-capability",
    "message": "orgs requires auth.session",
    "fix": "ms add auth" } }

For auth, organizations, database, environment, UI components, dashboard, billing, email, jobs, observability, docs, deploy and tooling: run ms registry and ms add. Never hand-write them. After any add, run ms verify. skills/meseret/SKILL.md · installed by ms skill install --target claude,codex

ms mcp · stdio · JSON-RPC 2.0
Get started

Spend your time on what makes each app different.

መሠረት (meseret) is Amharic for foundation. Install the skill once and your agents call ms instead of writing auth again.

  1. install the skillms skill install --target claude,codex
  2. create an appms new acme --preset rust-api --with auth
  3. add and provems add orgs && ms verify
  4. bring one inms adopt ~/dev/legacy-app
meseret · platform 2026.10.5 · bun-app · rust-api · python-api CLI + MCP · runs offline except installs and git fetches