create-githat-app 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +36 -1
  2. package/dist/cli.js +13 -9
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,5 +1,19 @@
1
+ <div align="center">
2
+
1
3
  # create-githat-app
2
4
 
5
+ **The CLI for [GitHat](https://githat.io) — Auth + Hosting that replaces Clerk + Vercel**
6
+
7
+ [![npm version](https://img.shields.io/npm/v/create-githat-app?style=flat-square&logo=npm&logoColor=white&color=cb3837)](https://www.npmjs.com/package/create-githat-app)
8
+ [![npm downloads](https://img.shields.io/npm/dm/create-githat-app?style=flat-square&logo=npm&logoColor=white&color=cb3837)](https://www.npmjs.com/package/create-githat-app)
9
+ [![SDK](https://img.shields.io/npm/v/@githat/nextjs?style=flat-square&logo=npm&logoColor=white&label=%40githat%2Fnextjs&color=cb3837)](https://www.npmjs.com/package/@githat/nextjs)
10
+ [![Website](https://img.shields.io/website?style=flat-square&url=https%3A%2F%2Fgithat.io&up_message=live&up_color=1f6feb&label=githat.io)](https://githat.io)
11
+ [![License](https://img.shields.io/badge/License-Proprietary-red?style=flat-square)](LICENSE)
12
+
13
+ </div>
14
+
15
+ ---
16
+
3
17
  Scaffold a production-ready app with a fully-managed backend — auth, teams, orgs, API keys, MCP verification, and AI agent identity. **No backend to deploy.**
4
18
 
5
19
  [GitHat](https://githat.io) is your backend. When you run `create-githat-app`, your generated project connects to GitHat's hosted platform at `api.githat.io`. User accounts, organizations, teams, API keys, MCP servers, and AI agents are all stored and managed by GitHat. You write frontend code only.
@@ -263,6 +277,19 @@ VITE_GITHAT_PUBLISHABLE_KEY=pk_live_...
263
277
  VITE_GITHAT_API_URL=https://api.githat.io
264
278
  ```
265
279
 
280
+ ## Documentation
281
+
282
+ - [GitHat Quick Start](https://githat.io/docs/quickstart) — Get running in 5 minutes
283
+ - [SDK Reference](https://githat.io/docs/sdk) — `@githat/nextjs` hooks, components, and server utils
284
+ - [API Reference](https://githat.io/docs/api) — All 86 REST endpoints
285
+ - [CLI Reference](https://githat.io/docs/cli) — Flags, prompts, and templates
286
+ - [Next.js Guide](https://githat.io/docs/nextjs) — Auth in Next.js 14-16+
287
+ - [React Guide](https://githat.io/docs/react) — Auth in any React app
288
+ - [Bring Your Own Database](https://githat.io/docs/byod) — Keep your PostgreSQL, MySQL, or MongoDB
289
+ - [MCP Servers](https://githat.io/docs/mcp) — Domain verification for AI tool servers
290
+ - [AI Agents](https://githat.io/docs/agents) — Wallet-based identity for autonomous agents
291
+ - [Skills Marketplace](https://githat.io/docs/skills) — Install templates, integrations, and workflows
292
+
266
293
  ## Contributing
267
294
 
268
295
  ```bash
@@ -273,6 +300,14 @@ npm run build
273
300
  node bin/index.js test-app
274
301
  ```
275
302
 
303
+ ## Related
304
+
305
+ - [@githat/nextjs](https://www.npmjs.com/package/@githat/nextjs) — React/Next.js SDK
306
+ - [GitHat Platform](https://githat.io) — Auth + Hosting replacing Clerk + Vercel
307
+ - [GitHat Pricing](https://githat.io/pricing) — Free, Pro, and Enterprise tiers
308
+ - [GitHat vs Clerk](https://githat.io/compare/githat-vs-clerk) — Feature comparison
309
+ - [GitHat vs Auth0](https://githat.io/compare/githat-vs-auth0) — Why developers switch
310
+
276
311
  ## License
277
312
 
278
- MIT
313
+ Proprietary — see [LICENSE](LICENSE)
package/dist/cli.js CHANGED
@@ -281,12 +281,12 @@ async function promptProjectType() {
281
281
  {
282
282
  value: "frontend",
283
283
  label: "Frontend only",
284
- hint: "Next.js with API routes"
284
+ hint: "Next.js or React+Vite"
285
285
  },
286
286
  {
287
287
  value: "fullstack",
288
288
  label: "Fullstack",
289
- hint: "Next.js + separate API (Turborepo)"
289
+ hint: "Next.js + API (Turborepo)"
290
290
  }
291
291
  ]
292
292
  })
@@ -325,16 +325,17 @@ function getInstallCommand(pm) {
325
325
  }
326
326
 
327
327
  // src/prompts/framework.ts
328
- async function promptFramework(typescriptOverride) {
328
+ async function promptFramework(typescriptOverride, isFullstack) {
329
329
  const packageManager = detectPackageManager();
330
+ const frameworkOptions = isFullstack ? [{ value: "nextjs", label: "Next.js 16", hint: "App Router \xB7 SSR \xB7 middleware auth" }] : [
331
+ { value: "nextjs", label: "Next.js 16", hint: "App Router \xB7 SSR \xB7 middleware auth" },
332
+ { value: "react-vite", label: "React 19 + Vite 7", hint: "SPA \xB7 client-side routing" }
333
+ ];
330
334
  const answers = await p3.group(
331
335
  {
332
336
  framework: () => p3.select({
333
337
  message: "Framework",
334
- options: [
335
- { value: "nextjs", label: "Next.js 16", hint: "App Router \xB7 SSR \xB7 middleware auth" },
336
- { value: "react-vite", label: "React 19 + Vite 7", hint: "SPA \xB7 client-side routing" }
337
- ]
338
+ options: frameworkOptions
338
339
  }),
339
340
  typescript: () => typescriptOverride !== void 0 ? Promise.resolve(typescriptOverride) : p3.select({
340
341
  message: "Language",
@@ -487,6 +488,8 @@ async function promptGitHat(existingKey) {
487
488
  const key = await deviceAuthFlow();
488
489
  if (key) {
489
490
  publishableKey = key;
491
+ } else {
492
+ p5.log.warn("Authorization failed. Continuing without key...");
490
493
  }
491
494
  } else if (connectChoice === "paste") {
492
495
  const pastedKey = await p5.text({
@@ -611,9 +614,10 @@ async function runPrompts(args) {
611
614
  const project = await promptProject(args.initialName);
612
615
  const projectType = await promptProjectType();
613
616
  sectionHeader("Stack");
614
- const framework = await promptFramework(args.typescript);
617
+ const isFullstack = projectType.projectType === "fullstack";
618
+ const framework = await promptFramework(args.typescript, isFullstack);
615
619
  let backend = {};
616
- if (projectType.projectType === "fullstack") {
620
+ if (isFullstack) {
617
621
  backend = await promptBackend();
618
622
  }
619
623
  sectionHeader("Connect");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-githat-app",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "GitHat CLI — scaffold apps and manage the skills marketplace",
5
5
  "type": "module",
6
6
  "bin": {