Official collection of apps for Moldable - your personal software factory.
Website: moldable.sh
| App | Description | Category |
|---|---|---|
| 📓 Scribo Languages | Language learning journal with AI-powered translations | Productivity |
| 🎙️ Meetings | Record, transcribe, and summarize meetings | Productivity |
| ✅ Todo | Simple task management with quick add | Productivity |
| 🗓️ Calendar | Integrated calendar with Google Calendar | Productivity |
| 📝 Notes | Google Keep-style notes with markdown | Productivity |
| 🛠️ Git | Simple Git client for branch management | Developer |
Apps are installed directly through the Moldable desktop app. Browse available apps and click "Install" to add them to your workspace.
Manifest URL: https://raw.githubusercontent.com/moldable-ai/apps/main/manifest.json
| Repository | Description |
|---|---|
| moldable-ai/moldable | Desktop app & shared packages |
| moldable-ai/apps | Official apps collection (this repo) |
Apps use shared packages from npm:
| Package | Description |
|---|---|
@moldable-ai/ui |
UI components, theme system, shadcn |
@moldable-ai/editor |
Rich text markdown editor (Lexical) |
@moldable-ai/storage |
Filesystem storage utilities |
See AGENTS.md for detailed development guidelines.
Each app is a self-contained Vite + Hono + React application:
app-name/
├── moldable.json # App manifest (required)
├── package.json # Dependencies
├── index.html # Full app HTML entry
├── widget.html # Widget HTML entry
├── vite.config.ts # Vite config
├── eslint.config.js # Shared Moldable app ESLint config
├── src/
│ ├── client/
│ │ ├── app.tsx # Main app view
│ │ ├── widget.tsx # Widget view (required)
│ │ └── main.tsx # React entry
│ ├── server/
│ │ ├── app.ts # Hono routes, including /api/moldable/health
│ │ └── index.ts # Server entry
│ ├── components/
│ └── lib/
└── scripts/
└── moldable-dev.mjs # Startup script (required)
{
"name": "App Name",
"version": "1.0.0",
"visibility": "public",
"description": "What the app does",
"author": "Your Name",
"license": "FSL-1.1-ALv2",
"repository": "moldable-ai/apps",
"icon": "📦",
"iconPath": "public/icon.png",
"widgetSize": "medium",
"category": "productivity",
"tags": ["tag1", "tag2"],
"moldableDependencies": {
"@moldable-ai/ui": "^0.1.0",
"@moldable-ai/storage": "^0.1.0"
},
"env": [
{
"key": "API_KEY",
"name": "API Key",
"description": "Required for...",
"url": "https://example.com/get-key",
"required": true
}
]
}The visibility field controls whether an app is included in the public release:
"public"- App will be copied when runningpnpm releaseorpnpm app:copy:all"private"- App will not be copied (useful for local-only apps)
Apps are developed locally in ~/.moldable/shared/apps and released to this repo:
# Full release (copy, format, lint, types, manifest, commit)
pnpm release
# Preview what would happen
pnpm release --dry-run
# Skip copying (just format, lint, types, manifest, commit)
pnpm release --skip-copy# Copy specific apps from ~/.moldable/shared/apps to this repo
pnpm app:copy scribo
pnpm app:copy todo notes
# Copy all public apps
pnpm app:copy:allSync changes from this repo back to your local development apps:
# Update specific local apps from this repo
pnpm app:update scribo
pnpm app:update todo notes
# Update all local apps
pnpm app:update:allThis preserves local dependencies, lockfiles, and Moldable runtime metadata.
- Create a new directory in
~/.moldable/shared/appswith your app name (kebab-case) - Copy structure from an existing app (e.g.,
todo) - Create your
moldable.jsonmanifest with"visibility": "public" - Implement your app (see AGENTS.md for guidelines)
- Run
pnpm releaseto copy, validate, and commit - Push and submit a PR
Built by Desiderata LLC