AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
From a description to a running web app in minutes. Your code and your data, to run anywhere or host with us.
Developer toolsTypeScript · JavaScriptGitHub @smithableOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Soft to change. Hard as steel. Spec → TypeScript web app builder: local-first, open source, AI optional.
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Smithable is an app builder for people who have never written code and for developers who want to move faster. You describe a web application in plain language or through a visual editor. Smithable turns it into a compact, technology-neutral specification, smithable.yml, and generates an ordinary full-stack web application from it.
The difference from prompt-to-code builders: Smithable understands the application. Routine changes are made by deterministic generators, not by an AI rewriting code. Adding a phone number to customers is one operation, in milliseconds, for no tokens; a request that needs interpretation goes to the cheapest capable model with a small slice of the spec. A supported change is checked, migrated with the records kept, tested and can be undone; most cost nothing (in the M7 benchmark, one CRM, one run per setup), and the generated code stays clean enough for a developer to take over. Why this matters and who it is for: docs/VISION.md.
Status: beta. The engine, CLI, Studio and MCP server in this repository work on their own, on your machine, with no account. The hosted service (smithable.ai, a private beta) lives in a separate repository and builds on them: we can run it, but it's all yours.
Quick start (Node 24):
npx smithable@latest new my-crm
cd my-crm
npx smithable@latest studio
Try it in the browser: the theme lab puts a theme on a starter's real pages, with no install and no sign-in; the hosted beta is at smithable.ai.
Built by Åland IT AB, in the Åland Islands, Finland.
Documentation: docs.smithable.ai: getting started, the ten starters (seven of them shown on smithable.ai), changing an app without code, running an app on your own machine and the spec reference.
A TanStack Start app with React, Tailwind, shadcn/ui, Drizzle and SQLite, written the way a developer who knows that stack would write it. It has no dependency on Smithable at build time or run time, ships as a container with a /data volume, carries its own tests, and can be detached at any time.
Node 24, then:
npm install -g smithable # or run any command once with npx smithable@latest
smithable --version # smithable 0.1.0 (spec 0.1)
smithable new my-crm # a CRM from the starter, with sample data
smithable new torget --starter marketplace # or booking, invoicing, records, status, api
smithable new dogs --describe "a site to show my dogs" # up to three questions, then a draft (needs a model, docs/ai.md)
smithable new cafe --from https://example.com # a page as the description; --with-pictures takes its pictures
cd my-crm && smithable studio # the editor, with Smith, in the browser
From inside a project, the everyday commands:
smithable op addField Customer taxId string # a deterministic change: spec, migration, forms, tables
smithable ask "Customers should have a website" # in your own words; confirmed before it applies
smithable undo # takes back the last change, database included
smithable mcp # the same operations as tools for Claude Code, Cursor, …
smithable deploy --target docker # release checks, then the container
To work on Smithable itself, from a clone: pnpm install, pnpm build, then node packages/cli/dist/bin.js in place of smithable (CONTRIBUTING.md).
The ten starters, with pictures: docs.smithable.ai/starters. smithable --help lists everything. Models for ask, code and teach are set up with environment variables: docs/ai.md. deploy, security --level release and the container tests need Docker; running an app on your own machine covers deploying, backups and updates.
| Path | What it is |
|---|---|
packages/core | The engine: spec schema, parser, validator, IR, operations, plugin interface. Runs in the browser and Node |
packages/adapter-tanstack | The generator for the TanStack stack, and the app kit it copies into apps |
packages/index | The implementation index, the context builder for AI, the plain-language summary |
packages/ai | Model providers, the AI policy, requests to operations |
packages/cli | The smithable command, the Studio server, the MCP server, deploy and backup targets |
packages/create-smithable | npm create smithable, which starts an app with smithable new (on npm, like the other packages) |
apps/studio | The editor: Smith, the preview, and the No code and Code views (called Builder and Studio in the source), one web app served by smithable studio |
examples/ | The starters: a CRM, a booking site, an invoicing app, a marketplace (Torget), records (things and what we know about them), and a status page |
docs/ | The pages of docs.smithable.ai (docs/site/), vision, architecture, roadmap, the spec reference, AI setup, how things were built and measured, benchmarks and research |
pnpm check is the gate: lint, build, unit tests, then every example generated, type-checked, built, served and regenerated, and Studio driven in a real browser. Before a change to the engine, the examples or the scripts it runs, run it locally through scripts/gate.sh, which lets only one full gate run on a machine at a time; for docs and tooling, CI's run on the pull request is the gate. CLAUDE.md holds the rules that keep the design honest, such as: smithable.yml is authoritative, every change goes through operations, generated apps never depend on Smithable, generation is byte-identical, and every change can be undone. How to contribute, and what to read first: CONTRIBUTING.md; conduct: CODE_OF_CONDUCT.md.
Smithable is licensed under Apache-2.0. The app kit and templates that are copied into every generated app are licensed under 0BSD, so a generated app carries no obligations from this repository. Contributions are accepted with a DCO sign-off; vulnerabilities go to [email protected].