Registry schema and deploy contracts
alchemy.new reads a versioned alchemy.new.jsonc file at the project root. That file is the project contract. The live JSON Schema is the machine source of truth. This page describes schema version 1.
Project manifest
Place alchemy.new.jsonc at the repository root for a Git project, or at the package root for an npm project. The file can use JSON with comments. The app rejects a missing or invalid manifest.
Set $schema to https://alchemy.new/schema/v1/project.json so editors can validate the file.
Schema fields
The tables below come from the live schema at /schema/v1/project.json. Do not add fields that the schema does not declare. Unknown fields fail validation.
ProjectManifest fields
Publisher
publisher is a required object. Only name is required inside that object.
ProjectPublisher fields
Deployment
deployment names the Alchemy entrypoint and the default run. packageManager is optional in the schema. The runner installs and deploys with Nub.
ProjectDeployment fields
Git and npm sources
source is one Git object or one npm object. The two shapes do not mix.
Git source
The repository must contain the declared Alchemy entrypoint. Direct manifest loads currently support GitHub repositories. The runner clones the repository into an isolated sandbox. A private repository can use a one-run source token on the deployment request.
GitSource fields
npm source
The npm package must export a default Alchemy Stack from the declared export path. alchemy.new writes a wrapper repository with package.json, alchemy.run.ts, and a resolved lockfile. The wrapper keeps the npm dependency so the user can update it later.
NpmSource fields
Parameters
Each parameter declares an environment variable name and a display label. The web form is built from this list. required and secret are required booleans. type is optional.
A select input can declare options. A secret field uses a masked control. Secret values stay out of shared URL state and short links.
Mark required only when the process cannot start without the value. Feature environment variables should stay optional, with a safe public default or a fail-open description. A missing optional value must not block a first deploy. People can add values later to turn features on.
ProjectParameter fields
Implementation paths
Use paths when one detail has more than one implementation. The first case is a database select with d1 and planetscale. Cloudflare D1 is the default. PlanetScale is not a cloud provider and must not appear in deployment.providers.
Gate path-scoped secrets with when. Those fields stay hidden and are not required until the matching path is selected. The default path stays one-click.
ImplementationPath fields
ParameterWhen fields
Example
This example matches schema version 1. It includes a public string, a secret string, a simple select, and a database implementation-path select with a gated PlanetScale secret. The file can include comments when you store it as JSONC.
Publisher skill
Copy the publish-to-alchemy-new skill into an Alchemy repository. The skill writes or updates alchemy.new.jsonc on disk. That local write does not need a live registry session.
Commit and push alchemy.new.jsonc to GitHub before treating a ?repo= deploy link as working. alchemy.new fetches the file from the remote. An unpushed local file is not deployable. After the file is on the remote, the skill asks whether to upload the repository for review. Upload is optional.
Start from an empty parameters list when the stack can deploy without project-specific env:
Listing and verification
Submit a repository from the alchemy.new home page after alchemy.new.jsonc is on the GitHub remote. A submission records the repository for review. A submission does not grant verification.
alchemy.new reviews publisher identity in a separate step. After that review, a project can receive a verified badge and a higher search rank. Featured and verified projects rank before unverified projects.
Deploy links
Open a Git project with an encoded HTTPS repository URL:
Add ref when the default revision is not correct. Open an npm package with npm:
The source must contain alchemy.new.jsonc at the revision the URL points at. Direct Git loads currently support GitHub. npm loads read the published package.
Do not put secrets in a URL. The form excludes secret parameters, provider credentials, Git source tokens, and GitHub tokens from query state and short links.
For agents
Agents can read the compact or full machine guide, or connect directly to the MCP endpoint for registry search, deployment planning, and deployment tools.
- llms.txt
Short agent index for the registry and MCP endpoint.
- llms-full.txt
Longer agent guide for search, plan, and deploy tools.
- MCP endpoint
Streamable HTTP server at the API base URL, https://alchemy-new-api-pre-100.jonbeckman.workers.dev/mcp.
Brand kit
Live text experiment: the Manrope wordmark is rendered as a responsive puffy cloud field with pointer dissolve controls.