Skip to content

Get Started

Run the HONC template CLI to create a new project.

Terminal window
npm create honc-app@latest

During the setup process, you’ll be able to choose:

  • From the three supported databases: Cloudflare D1, Neon, or Supabase
  • Select whether to include OpenAPI spec generation

All templates are set up to use TypeScript by default, and include Biome.js—a formatting and linting solution that requires minimal configuration.

If you choose the Neon or Supabase templates, create a database through their respective dashboards, and update your .dev.vars file with the DATABASE_URL. To run the test suite, you’ll also need to add some additional values:

  • Neon: Your project ID and API token.
  • Supabase: The URL for a dedicated testing database (created separately).

The Cloudflare Vitest integration set up in the templates uses these values to connect to an isolated test database. The D1 template uses Miniflare to spin up test databases, so it’s ready to go out-of-box. For more information, refer to the HONC Testing docs.

Terminal window
DATABASE_URL=""
NEON_PROJECT_ID=""
NEON_API_TOKEN=""

Templates come preconfigured with a simple database schema. To see it in action, run the db:setup command, which will generate and apply migrations and seed the database.

Terminal window
# this is a convenience script that runs db:generate, db:migrate, and db:seed
npm run db:setup

Once you’ve set up the database, just run dev to spin up your app locally!

Terminal window
npm run dev

To deploy your app, you must first create a Cloudflare account, if you haven’t already. Then, create a production database and update your credentials.

If you’re using a D1 database, you can create a remote D1 through the dashboard or via CLI. Then, update your wrangler.toml and .prod.vars file with the remote database name and ID.

Create a production database through the Neon or Supabase dashboard, and update the DATABASE_URL in your .dev.vars file.

Then, run the migration command to apply migrations to your remote database.

Terminal window
npm run db:migrate:prod

Once your database is set up, run the deploy command to create a remote Worker.

Terminal window
npm run deploy

Copyright © 2025 Fiberplane