create-githat-app 1.8.3 → 1.8.5

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-githat-app",
3
- "version": "1.8.3",
3
+ "version": "1.8.5",
4
4
  "description": "GitHat CLI — scaffold apps and manage the skills marketplace",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { Suspense } from 'react';
3
+ import { MagicLinkVerify } from '@githat/nextjs';
4
+
5
+ export default function MagicLinkPage() {
6
+ return (
7
+ <Suspense fallback={null}>
8
+ <MagicLinkVerify />
9
+ </Suspense>
10
+ );
11
+ }
@@ -111,6 +111,32 @@ once at enrollment for account recovery.
111
111
  `<SignInForm/>` and `<MfaChallenge/>` from `@githat/nextjs` handle
112
112
  the entire flow end-to-end — no integration code needed.
113
113
 
114
+ ## Magic-link sign-in (passwordless)
115
+
116
+ `<SignInForm/>` exposes a "Use a magic link instead" toggle. Users
117
+ type their email, get a one-time link, and sign in without a password.
118
+ The route at `/sign-in/magic` is scaffolded for you and renders
119
+ `<MagicLinkVerify/>`, which handles the token verification and
120
+ MFA-challenge handoff automatically.
121
+
122
+ Magic-link emails ship from the same per-app branded sender as
123
+ password-reset emails (verify your domain at `/account/security`
124
+ or via `useEmailDomains()` to upgrade from `auth@githat.io` to
125
+ `auth@yourdomain`).
126
+
127
+ ## Passkey sign-in (Face ID, Touch ID, hardware keys)
128
+
129
+ `<SignInForm/>` automatically shows a passkey button when the
130
+ browser supports WebAuthn. Users can register a passkey from
131
+ `/account/security` (in `<MfaManager/>`'s "Your passkeys" section).
132
+ Once registered, sign-in is one click + biometric — no email,
133
+ no password, no codes.
134
+
135
+ Passkeys are origin-bound to your domain — they only work on
136
+ your site, never elsewhere, even if a user has the same passkey
137
+ "saved" in their password manager. This is the correct security
138
+ model.
139
+
114
140
  ## Learn More
115
141
 
116
142
  - [GitHat Documentation](https://githat.io/docs)
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { Suspense } from 'react';
3
+ import { MagicLinkVerify } from '@githat/nextjs';
4
+
5
+ export default function MagicLinkPage() {
6
+ return (
7
+ <Suspense fallback={null}>
8
+ <MagicLinkVerify />
9
+ </Suspense>
10
+ );
11
+ }
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { Suspense } from 'react';
3
+ import { MagicLinkVerify } from '@githat/nextjs';
4
+
5
+ export default function MagicLinkPage() {
6
+ return (
7
+ <Suspense fallback={null}>
8
+ <MagicLinkVerify />
9
+ </Suspense>
10
+ );
11
+ }
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { Suspense } from 'react';
3
+ import { MagicLinkVerify } from '@githat/nextjs';
4
+
5
+ export default function MagicLinkPage() {
6
+ return (
7
+ <Suspense fallback={null}>
8
+ <MagicLinkVerify />
9
+ </Suspense>
10
+ );
11
+ }
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { Suspense } from 'react';
3
+ import { MagicLinkVerify } from '@githat/nextjs';
4
+
5
+ export default function MagicLinkPage() {
6
+ return (
7
+ <Suspense fallback={null}>
8
+ <MagicLinkVerify />
9
+ </Suspense>
10
+ );
11
+ }
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { Suspense } from 'react';
3
+ import { MagicLinkVerify } from '@githat/nextjs';
4
+
5
+ export default function MagicLinkPage() {
6
+ return (
7
+ <Suspense fallback={null}>
8
+ <MagicLinkVerify />
9
+ </Suspense>
10
+ );
11
+ }
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { Suspense } from 'react';
3
+ import { MagicLinkVerify } from '@githat/nextjs';
4
+
5
+ export default function MagicLinkPage() {
6
+ return (
7
+ <Suspense fallback={null}>
8
+ <MagicLinkVerify />
9
+ </Suspense>
10
+ );
11
+ }
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { Suspense } from 'react';
3
+ import { MagicLinkVerify } from '@githat/nextjs';
4
+
5
+ export default function MagicLinkPage() {
6
+ return (
7
+ <Suspense fallback={null}>
8
+ <MagicLinkVerify />
9
+ </Suspense>
10
+ );
11
+ }
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { Suspense } from 'react';
3
+ import { MagicLinkVerify } from '@githat/nextjs';
4
+
5
+ export default function MagicLinkPage() {
6
+ return (
7
+ <Suspense fallback={null}>
8
+ <MagicLinkVerify />
9
+ </Suspense>
10
+ );
11
+ }