<html lang="en">
<head></head>
<body>

<form id="mainForm" method="post" action="https://stackblitz.com/run" target="_self">
<input type="hidden" name="project[files][.env.sample]" value="DB_FILE_NAME=file:local.db">
<input type="hidden" name="project[files][README.md]" value="# Hono Integration for RivetKit

Example project demonstrating Hono web framework integration with [RivetKit](https://rivetkit.org).

[Learn More →](https://github.com/rivet-gg/rivetkit)

[Discord](https://rivet.gg/discord) — [Documentation](https://rivetkit.org) — [Issues](https://github.com/rivet-gg/rivetkit/issues)

## Getting Started

### Prerequisites

- Node.js

### Installation

```sh
git clone https://github.com/rivet-gg/rivetkit
cd rivetkit/examples/hono
npm install
```

### Development

```sh
npm run dev
```

Open your browser to http://localhost:3000 to see the Hono server with RivetKit integration.

## License

Apache 2.0">
<input type="hidden" name="project[files][drizzle.config.ts]" value="import { defineConfig } from &quot;@rivetkit/db/drizzle&quot;;

export default defineConfig({
	out: &quot;./drizzle&quot;,
	schema: &quot;./src/db/schema.ts&quot;,
});
">
<input type="hidden" name="project[files][package.json]" value="{&quot;name&quot;:&quot;example-sqlite&quot;,&quot;version&quot;:&quot;0.9.9&quot;,&quot;private&quot;:true,&quot;type&quot;:&quot;module&quot;,&quot;scripts&quot;:{&quot;dev&quot;:&quot;tsx --watch src/server.ts&quot;,&quot;check-types&quot;:&quot;tsc --noEmit&quot;},&quot;devDependencies&quot;:{&quot;@types/node&quot;:&quot;^22.13.9&quot;,&quot;rivetkit&quot;:&quot;https://pkg.pr.new/rivet-gg/rivetkit/rivetkit@27b9131c5788cdf2007730353b43b33a296aedf3&quot;,&quot;tsx&quot;:&quot;^3.12.7&quot;,&quot;typescript&quot;:&quot;^5.5.2&quot;},&quot;dependencies&quot;:{&quot;@rivetkit/db&quot;:&quot;https://pkg.pr.new/rivet-gg/rivetkit/@rivetkit/db@27b9131c5788cdf2007730353b43b33a296aedf3&quot;,&quot;drizzle-kit&quot;:&quot;^0.31.2&quot;,&quot;drizzle-orm&quot;:&quot;^0.44.2&quot;},&quot;stableVersion&quot;:&quot;0.8.0&quot;}">
<input type="hidden" name="project[files][tsconfig.json]" value="{
  &quot;compilerOptions&quot;: {
    /* Visit https://aka.ms/tsconfig.json to read more about this file */

    /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
    &quot;target&quot;: &quot;esnext&quot;,
    /* Specify a set of bundled library declaration files that describe the target runtime environment. */
    &quot;lib&quot;: [&quot;esnext&quot;],
    /* Specify what JSX code is generated. */
    &quot;jsx&quot;: &quot;react-jsx&quot;,
    &quot;allowArbitraryExtensions&quot;: true,

    /* Specify what module code is generated. */
    &quot;module&quot;: &quot;esnext&quot;,
    /* Specify how TypeScript looks up a file from a given module specifier. */
    &quot;moduleResolution&quot;: &quot;bundler&quot;,
    /* Specify type package names to be included without being referenced in a source file. */
    &quot;types&quot;: [&quot;node&quot;],
    /* Enable importing .json files */
    &quot;resolveJsonModule&quot;: true,

    /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */
    &quot;allowJs&quot;: true,
    /* Enable error reporting in type-checked JavaScript files. */
    &quot;checkJs&quot;: false,

    /* Disable emitting files from a compilation. */
    &quot;noEmit&quot;: true,

    /* Ensure that each file can be safely transpiled without relying on other imports. */
    &quot;isolatedModules&quot;: true,
    /* Allow &#39;import x from y&#39; when a module doesn&#39;t have a default export. */
    &quot;allowSyntheticDefaultImports&quot;: true,
    /* Ensure that casing is correct in imports. */
    &quot;forceConsistentCasingInFileNames&quot;: true,

    /* Enable all strict type-checking options. */
    &quot;strict&quot;: true,

    /* Skip type checking all .d.ts files. */
    &quot;skipLibCheck&quot;: true
  },
  &quot;include&quot;: [&quot;src/**/*&quot;]
}
">
<input type="hidden" name="project[files][turbo.json]" value="{
  &quot;$schema&quot;: &quot;https://turbo.build/schema.json&quot;,
  &quot;extends&quot;: [&quot;//&quot;]
}
">
<input type="hidden" name="project[files][drizzle/0000_wonderful_iron_patriot.sql]" value="CREATE TABLE `users_table` (
	`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
	`name` text NOT NULL,
	`age` integer NOT NULL,
	`email` text NOT NULL
);
--&gt; statement-breakpoint
CREATE UNIQUE INDEX `users_table_email_unique` ON `users_table` (`email`);">
<input type="hidden" name="project[files][drizzle/migrations.js]" value="import m0000 from &quot;./0000_wonderful_iron_patriot.sql&quot;;
import journal from &quot;./meta/_journal.json&quot;;

export default {
  journal,
  migrations: {
    m0000,
  },
};
">
<input type="hidden" name="project[files][src/registry.ts]" value="// import { actor, setup } from &quot;rivetkit&quot;;
// import { db } from &quot;@rivetkit/db/drizzle&quot;;
// import * as schema from &quot;./db/schema&quot;;
// import migrations from &quot;../drizzle/migrations&quot;;

// export const counter = actor({
// 	db: db({ schema, migrations }),
// 	state: {
// 		count: 0,
// 	},
// 	onAuth: () =&gt; {
// 		// Configure auth here
// 	},
// 	actions: {
// 		increment: (c, x: number) =&gt; {
// 			// createState or state fix fix fix
// 			c.db.c.state.count += x;
// 			return c.state.count;
// 		},
// 	},
// });

// export const registry = setup({
// 	use: { counter },
// });
">
<input type="hidden" name="project[files][src/server.ts]" value="// import { registry } from &quot;./registry&quot;;
// import { createMemoryDriver } from &quot;@rivetkit/memory&quot;;
// import { serve } from &quot;@rivetkit/nodejs&quot;;

// serve(registry, {
// 	driver: createMemoryDriver(),
// });
">
<input type="hidden" name="project[files][drizzle/meta/0000_snapshot.json]" value="{
  &quot;version&quot;: &quot;6&quot;,
  &quot;dialect&quot;: &quot;sqlite&quot;,
  &quot;id&quot;: &quot;22f3d49c-97d5-46ca-b0f1-99950c3efec7&quot;,
  &quot;prevId&quot;: &quot;00000000-0000-0000-0000-000000000000&quot;,
  &quot;tables&quot;: {
    &quot;users_table&quot;: {
      &quot;name&quot;: &quot;users_table&quot;,
      &quot;columns&quot;: {
        &quot;id&quot;: {
          &quot;name&quot;: &quot;id&quot;,
          &quot;type&quot;: &quot;integer&quot;,
          &quot;primaryKey&quot;: true,
          &quot;notNull&quot;: true,
          &quot;autoincrement&quot;: true
        },
        &quot;name&quot;: {
          &quot;name&quot;: &quot;name&quot;,
          &quot;type&quot;: &quot;text&quot;,
          &quot;primaryKey&quot;: false,
          &quot;notNull&quot;: true,
          &quot;autoincrement&quot;: false
        },
        &quot;age&quot;: {
          &quot;name&quot;: &quot;age&quot;,
          &quot;type&quot;: &quot;integer&quot;,
          &quot;primaryKey&quot;: false,
          &quot;notNull&quot;: true,
          &quot;autoincrement&quot;: false
        },
        &quot;email&quot;: {
          &quot;name&quot;: &quot;email&quot;,
          &quot;type&quot;: &quot;text&quot;,
          &quot;primaryKey&quot;: false,
          &quot;notNull&quot;: true,
          &quot;autoincrement&quot;: false
        }
      },
      &quot;indexes&quot;: {
        &quot;users_table_email_unique&quot;: {
          &quot;name&quot;: &quot;users_table_email_unique&quot;,
          &quot;columns&quot;: [&quot;email&quot;],
          &quot;isUnique&quot;: true
        }
      },
      &quot;foreignKeys&quot;: {},
      &quot;compositePrimaryKeys&quot;: {},
      &quot;uniqueConstraints&quot;: {},
      &quot;checkConstraints&quot;: {}
    }
  },
  &quot;views&quot;: {},
  &quot;enums&quot;: {},
  &quot;_meta&quot;: {
    &quot;schemas&quot;: {},
    &quot;tables&quot;: {},
    &quot;columns&quot;: {}
  },
  &quot;internal&quot;: {
    &quot;indexes&quot;: {}
  }
}
">
<input type="hidden" name="project[files][drizzle/meta/_journal.json]" value="{
  &quot;version&quot;: &quot;7&quot;,
  &quot;dialect&quot;: &quot;sqlite&quot;,
  &quot;entries&quot;: [
    {
      &quot;idx&quot;: 0,
      &quot;version&quot;: &quot;6&quot;,
      &quot;when&quot;: 1750711614205,
      &quot;tag&quot;: &quot;0000_wonderful_iron_patriot&quot;,
      &quot;breakpoints&quot;: true
    },
    {
      &quot;idx&quot;: 1,
      &quot;version&quot;: &quot;6&quot;,
      &quot;when&quot;: 1750716663518,
      &quot;tag&quot;: &quot;0001_rich_susan_delgado&quot;,
      &quot;breakpoints&quot;: true
    }
  ]
}
">
<input type="hidden" name="project[files][src/db/schema.ts]" value="// import { int, sqliteTable, text } from &quot;@rivetkit/db/drizzle&quot;;

// export const usersTable = sqliteTable(&quot;users_table&quot;, {
// 	id: int().primaryKey({ autoIncrement: true }),
// 	name: text().notNull(),
// 	age: int().notNull(),
// 	email: text().notNull().unique(),
// 	email2: text().notNull().unique(),
// });
">
<input type="hidden" name="project[description]" value="generated by https://pkg.pr.new">
<input type="hidden" name="project[template]" value="node">
<input type="hidden" name="project[title]" value="example-sqlite">
</form>
<script>document.getElementById("mainForm").submit();</script>

</body></html>