ai-forge-cli 0.4.2 → 0.4.7

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 (84) hide show
  1. package/dist/add-component-B3O3RZWD.js +120 -0
  2. package/dist/{add-feature-2AR4DP7P.js → add-feature-TYLPV3DB.js} +38 -9
  3. package/dist/add-hook-VJC6P6AP.js +103 -0
  4. package/dist/{add-integration-QXB63S3V.js → add-integration-ESA7JFY7.js} +98 -28
  5. package/dist/add-layout-IVTJUG6G.js +104 -0
  6. package/dist/add-page-G75JUU77.js +81 -0
  7. package/dist/add-util-V5SQRVJC.js +73 -0
  8. package/dist/{chunk-PIFX2L5H.js → chunk-MBF6K2AC.js} +1 -0
  9. package/dist/chunk-YMJTSRWM.js +49 -0
  10. package/dist/index.js +8 -3
  11. package/dist/{init-OYJP5QCZ.js → init-C4FFZDSP.js} +1 -1
  12. package/dist/templates/component/Component.tsx.hbs +11 -0
  13. package/dist/templates/feature/routes/$id.tsx.hbs +3 -13
  14. package/dist/templates/feature/routes/index.tsx.hbs +19 -9
  15. package/dist/templates/feature/src/components/Card.tsx.hbs +21 -0
  16. package/dist/templates/feature/src/components/Detail.tsx.hbs +28 -0
  17. package/dist/templates/feature/src/components/Form.tsx.hbs +46 -0
  18. package/dist/templates/feature/src/components/List.tsx.hbs +26 -0
  19. package/dist/templates/feature/src/components/index.ts.hbs +4 -4
  20. package/dist/templates/hook/feature-hook.ts.hbs +4 -0
  21. package/dist/templates/hook/global-hook.ts.hbs +11 -0
  22. package/dist/templates/init/claude.md.hbs +37 -11
  23. package/dist/templates/integration/auth/src/components/auth/AuthGuard.tsx.hbs +31 -0
  24. package/dist/templates/integration/auth/src/components/auth/LoginForm.tsx.hbs +83 -0
  25. package/dist/templates/integration/auth/src/components/auth/SignupForm.tsx.hbs +102 -0
  26. package/dist/templates/integration/auth/src/components/auth/UserMenu.tsx.hbs +36 -0
  27. package/dist/templates/integration/auth/src/components/auth/index.ts.hbs +4 -0
  28. package/dist/templates/integration/auth/src/routes/login.tsx.hbs +14 -0
  29. package/dist/templates/integration/auth/src/routes/signup.tsx.hbs +14 -0
  30. package/dist/templates/integration/storage/src/components/storage/FilePreview.tsx.hbs +18 -0
  31. package/dist/templates/integration/storage/src/components/storage/FileUpload.tsx.hbs +49 -0
  32. package/dist/templates/integration/storage/src/components/storage/index.ts.hbs +2 -0
  33. package/dist/templates/layout/auth/_layout.tsx.hbs +15 -0
  34. package/dist/templates/layout/auth/index.tsx.hbs +5 -0
  35. package/dist/templates/layout/base/_layout.tsx.hbs +14 -0
  36. package/dist/templates/layout/base/index.tsx.hbs +13 -0
  37. package/dist/templates/layout/dashboard/_layout.tsx.hbs +20 -0
  38. package/dist/templates/layout/dashboard/components/Header.tsx.hbs +12 -0
  39. package/dist/templates/layout/dashboard/components/Sidebar.tsx.hbs +39 -0
  40. package/dist/templates/layout/dashboard/components/index.ts.hbs +2 -0
  41. package/dist/templates/layout/dashboard/index.tsx.hbs +15 -0
  42. package/dist/templates/layout/marketing/_layout.tsx.hbs +39 -0
  43. package/dist/templates/layout/marketing/index.tsx.hbs +16 -0
  44. package/dist/templates/page/components/Content.tsx.hbs +8 -0
  45. package/dist/templates/page/components/index.ts.hbs +1 -0
  46. package/dist/templates/page/route.tsx.hbs +10 -0
  47. package/dist/templates/util/util.ts.hbs +7 -0
  48. package/package.json +1 -1
  49. package/templates/component/Component.tsx.hbs +11 -0
  50. package/templates/feature/routes/$id.tsx.hbs +3 -13
  51. package/templates/feature/routes/index.tsx.hbs +19 -9
  52. package/templates/feature/src/components/Card.tsx.hbs +21 -0
  53. package/templates/feature/src/components/Detail.tsx.hbs +28 -0
  54. package/templates/feature/src/components/Form.tsx.hbs +46 -0
  55. package/templates/feature/src/components/List.tsx.hbs +26 -0
  56. package/templates/feature/src/components/index.ts.hbs +4 -4
  57. package/templates/hook/feature-hook.ts.hbs +4 -0
  58. package/templates/hook/global-hook.ts.hbs +11 -0
  59. package/templates/init/claude.md.hbs +37 -11
  60. package/templates/integration/auth/src/components/auth/AuthGuard.tsx.hbs +31 -0
  61. package/templates/integration/auth/src/components/auth/LoginForm.tsx.hbs +83 -0
  62. package/templates/integration/auth/src/components/auth/SignupForm.tsx.hbs +102 -0
  63. package/templates/integration/auth/src/components/auth/UserMenu.tsx.hbs +36 -0
  64. package/templates/integration/auth/src/components/auth/index.ts.hbs +4 -0
  65. package/templates/integration/auth/src/routes/login.tsx.hbs +14 -0
  66. package/templates/integration/auth/src/routes/signup.tsx.hbs +14 -0
  67. package/templates/integration/storage/src/components/storage/FilePreview.tsx.hbs +18 -0
  68. package/templates/integration/storage/src/components/storage/FileUpload.tsx.hbs +49 -0
  69. package/templates/integration/storage/src/components/storage/index.ts.hbs +2 -0
  70. package/templates/layout/auth/_layout.tsx.hbs +15 -0
  71. package/templates/layout/auth/index.tsx.hbs +5 -0
  72. package/templates/layout/base/_layout.tsx.hbs +14 -0
  73. package/templates/layout/base/index.tsx.hbs +13 -0
  74. package/templates/layout/dashboard/_layout.tsx.hbs +20 -0
  75. package/templates/layout/dashboard/components/Header.tsx.hbs +12 -0
  76. package/templates/layout/dashboard/components/Sidebar.tsx.hbs +39 -0
  77. package/templates/layout/dashboard/components/index.ts.hbs +2 -0
  78. package/templates/layout/dashboard/index.tsx.hbs +15 -0
  79. package/templates/layout/marketing/_layout.tsx.hbs +39 -0
  80. package/templates/layout/marketing/index.tsx.hbs +16 -0
  81. package/templates/page/components/Content.tsx.hbs +8 -0
  82. package/templates/page/components/index.ts.hbs +1 -0
  83. package/templates/page/route.tsx.hbs +10 -0
  84. package/templates/util/util.ts.hbs +7 -0
@@ -0,0 +1,12 @@
1
+ export function Header() {
2
+ return (
3
+ <header className="flex h-14 items-center justify-between border-b px-6">
4
+ <div>
5
+ {/* Breadcrumbs or page title */}
6
+ </div>
7
+ <div>
8
+ {/* User menu - add <UserMenu /> if auth is configured */}
9
+ </div>
10
+ </header>
11
+ );
12
+ }
@@ -0,0 +1,39 @@
1
+ import { Link, useLocation } from "@tanstack/react-router";
2
+ import { cn } from "~/lib/cn";
3
+
4
+ const navItems = [
5
+ { href: "/dashboard", label: "Home" },
6
+ { href: "/dashboard/projects", label: "Projects" },
7
+ { href: "/dashboard/team", label: "Team" },
8
+ { href: "/dashboard/settings", label: "Settings" },
9
+ ];
10
+
11
+ export function Sidebar() {
12
+ const location = useLocation();
13
+
14
+ return (
15
+ <aside className="hidden w-64 border-r bg-muted/40 lg:block">
16
+ <div className="flex h-14 items-center border-b px-4">
17
+ <Link to="/" className="font-semibold">
18
+ Your App
19
+ </Link>
20
+ </div>
21
+ <nav className="space-y-1 p-4">
22
+ {navItems.map((item) => (
23
+ <Link
24
+ key={item.href}
25
+ to={item.href}
26
+ className={cn(
27
+ "flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors",
28
+ location.pathname === item.href
29
+ ? "bg-primary text-primary-foreground"
30
+ : "hover:bg-muted"
31
+ )}
32
+ >
33
+ {item.label}
34
+ </Link>
35
+ ))}
36
+ </nav>
37
+ </aside>
38
+ );
39
+ }
@@ -0,0 +1,2 @@
1
+ export { Sidebar } from "./Sidebar";
2
+ export { Header } from "./Header";
@@ -0,0 +1,15 @@
1
+ import { createFileRoute } from "@tanstack/react-router";
2
+
3
+ export const Route = createFileRoute("/dashboard/")({
4
+ component: DashboardIndex,
5
+ });
6
+
7
+ function DashboardIndex() {
8
+ return (
9
+ <div className="space-y-6">
10
+ <h1 className="text-3xl font-bold">Dashboard</h1>
11
+ <p className="text-muted-foreground">Welcome to your dashboard.</p>
12
+ {/* Add dashboard widgets here */}
13
+ </div>
14
+ );
15
+ }
@@ -0,0 +1,39 @@
1
+ import { Outlet, createFileRoute, Link } from "@tanstack/react-router";
2
+ import { Button } from "~/components/ui/button";
3
+
4
+ export const Route = createFileRoute("/{{name}}")({
5
+ component: MarketingLayout,
6
+ });
7
+
8
+ function MarketingLayout() {
9
+ return (
10
+ <div className="min-h-screen">
11
+ <header className="border-b">
12
+ <div className="container flex h-16 items-center justify-between">
13
+ <Link to="/" className="text-xl font-bold">
14
+ Your App
15
+ </Link>
16
+ <nav className="flex items-center gap-4">
17
+ <Link to="/features" className="text-sm hover:underline">
18
+ Features
19
+ </Link>
20
+ <Link to="/pricing" className="text-sm hover:underline">
21
+ Pricing
22
+ </Link>
23
+ <Button asChild size="sm">
24
+ <Link to="/login">Get Started</Link>
25
+ </Button>
26
+ </nav>
27
+ </div>
28
+ </header>
29
+ <main>
30
+ <Outlet />
31
+ </main>
32
+ <footer className="border-t py-8">
33
+ <div className="container text-center text-sm text-muted-foreground">
34
+ © 2024 Your App. All rights reserved.
35
+ </div>
36
+ </footer>
37
+ </div>
38
+ );
39
+ }
@@ -0,0 +1,16 @@
1
+ import { createFileRoute } from "@tanstack/react-router";
2
+
3
+ export const Route = createFileRoute("/{{name}}/")({
4
+ component: {{pascalName}}Index,
5
+ });
6
+
7
+ function {{pascalName}}Index() {
8
+ return (
9
+ <div className="container py-16 space-y-8">
10
+ <h1 className="text-4xl font-bold">Welcome</h1>
11
+ <p className="text-lg text-muted-foreground">
12
+ Build your marketing page here.
13
+ </p>
14
+ </div>
15
+ );
16
+ }
@@ -0,0 +1,8 @@
1
+ export function {{componentName}}Content() {
2
+ return (
3
+ <div className="container py-8 space-y-6">
4
+ <h1 className="text-3xl font-bold">{{componentName}}</h1>
5
+ {/* Build your page content here */}
6
+ </div>
7
+ );
8
+ }
@@ -0,0 +1 @@
1
+ export { {{componentName}}Content } from "./{{componentName}}Content";
@@ -0,0 +1,10 @@
1
+ import { createFileRoute } from "@tanstack/react-router";
2
+ import { {{componentName}}Content } from "~/components/{{componentFolder}}";
3
+
4
+ export const Route = createFileRoute("/{{name}}")({
5
+ component: {{componentName}}Page,
6
+ });
7
+
8
+ function {{componentName}}Page() {
9
+ return <{{componentName}}Content />;
10
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * {{utilName}}
3
+ */
4
+ export function {{utilName}}(input: unknown): unknown {
5
+ // Add your utility logic here
6
+ return input;
7
+ }