foundruu 0.3.0 → 0.4.0

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.
@@ -49,3 +49,35 @@ jobs:
49
49
  - run: cp .env.example .env && php artisan key:generate
50
50
  - run: php artisan test
51
51
  {{/eq}}
52
+
53
+ {{#eq language "nextjs"}}
54
+ - uses: actions/setup-node@v4
55
+ with:
56
+ node-version: '20'
57
+ cache: 'npm'
58
+
59
+ - run: npm ci
60
+ {{#if (hasFeature "eslint")}}
61
+ - run: npm run lint
62
+ {{/if}}
63
+ {{#if (hasFeature "vitest")}}
64
+ - run: npm test
65
+ {{/if}}
66
+ - run: npm run build
67
+ {{/eq}}
68
+
69
+ {{#eq language "nuxt"}}
70
+ - uses: actions/setup-node@v4
71
+ with:
72
+ node-version: '20'
73
+ cache: 'npm'
74
+
75
+ - run: npm ci
76
+ {{#if (hasFeature "eslint")}}
77
+ - run: npm run lint
78
+ {{/if}}
79
+ {{#if (hasFeature "vitest")}}
80
+ - run: npm test
81
+ {{/if}}
82
+ - run: npm run build
83
+ {{/eq}}
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "private": true,
4
+ "type": "module",
5
+ "scripts": {
6
+ "dev": "vite",
7
+ "build": "vite build"
8
+ },
9
+ "dependencies": {
10
+ "vue": "^3.5.0"
11
+ },
12
+ "devDependencies": {
13
+ "@vitejs/plugin-vue": "^5.1.0",
14
+ "axios": "^1.7.0",
15
+ "laravel-vite-plugin": "^1.0.0",
16
+ "vite": "^5.4.0"
17
+ }
18
+ }
@@ -0,0 +1,9 @@
1
+ <script setup>
2
+ </script>
3
+
4
+ <template>
5
+ <main>
6
+ <h1>{{projectName}}</h1>
7
+ <p>FoundRuu で初期化された Laravel + Vue プロジェクトです。</p>
8
+ </main>
9
+ </template>
@@ -0,0 +1,4 @@
1
+ import { createApp } from "vue";
2
+ import App from "./App.vue";
3
+
4
+ createApp(App).mount("#app");
@@ -0,0 +1,13 @@
1
+ import { defineConfig } from "vite";
2
+ import laravel from "laravel-vite-plugin";
3
+ import vue from "@vitejs/plugin-vue";
4
+
5
+ export default defineConfig({
6
+ plugins: [
7
+ laravel({
8
+ input: ["resources/js/app.js"],
9
+ refresh: true,
10
+ }),
11
+ vue(),
12
+ ],
13
+ });
@@ -0,0 +1,4 @@
1
+ /** @type {import('next').NextConfig} */
2
+ const nextConfig = {};
3
+
4
+ export default nextConfig;
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "version": "0.1.0",
4
+ "description": "{{description}}",
5
+ "private": true,
6
+ "scripts": {
7
+ "dev": "next dev",
8
+ "build": "next build",
9
+ "start": "next start"
10
+ },
11
+ "dependencies": {
12
+ "next": "^15.0.0",
13
+ "react": "^19.0.0",
14
+ "react-dom": "^19.0.0"
15
+ },
16
+ "devDependencies": {
17
+ "@types/node": "^22.0.0",
18
+ "@types/react": "^19.0.0",
19
+ "@types/react-dom": "^19.0.0",
20
+ "typescript": "^5.5.0"
21
+ },
22
+ "engines": {
23
+ "node": ">=20.0.0"
24
+ }
25
+ }
@@ -0,0 +1,14 @@
1
+ import type { Metadata } from "next";
2
+
3
+ export const metadata: Metadata = {
4
+ title: "{{projectName}}",
5
+ description: "{{description}}",
6
+ };
7
+
8
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
9
+ return (
10
+ <html lang="ja">
11
+ <body>{children}</body>
12
+ </html>
13
+ );
14
+ }
@@ -0,0 +1,8 @@
1
+ export default function Home() {
2
+ return (
3
+ <main>
4
+ <h1>{{projectName}}</h1>
5
+ <p>FoundRuu で初期化された Next.js プロジェクトです。</p>
6
+ </main>
7
+ );
8
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "lib": ["dom", "dom.iterable", "esnext"],
5
+ "allowJs": true,
6
+ "skipLibCheck": true,
7
+ "strict": true,
8
+ "noEmit": true,
9
+ "esModuleInterop": true,
10
+ "module": "esnext",
11
+ "moduleResolution": "bundler",
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "jsx": "preserve",
15
+ "incremental": true,
16
+ "plugins": [{ "name": "next" }],
17
+ "paths": { "@/*": ["./src/*"] }
18
+ },
19
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
20
+ "exclude": ["node_modules"]
21
+ }
@@ -0,0 +1,9 @@
1
+ <script setup lang="ts">
2
+ </script>
3
+
4
+ <template>
5
+ <main>
6
+ <h1>{{projectName}}</h1>
7
+ <p>FoundRuu で初期化された Nuxt プロジェクトです。</p>
8
+ </main>
9
+ </template>
@@ -0,0 +1,5 @@
1
+ // https://nuxt.com/docs/api/configuration/nuxt-config
2
+ export default defineNuxtConfig({
3
+ compatibilityDate: "2026-01-01",
4
+ devtools: { enabled: true },
5
+ });
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "version": "0.1.0",
4
+ "description": "{{description}}",
5
+ "private": true,
6
+ "type": "module",
7
+ "scripts": {
8
+ "dev": "nuxt dev",
9
+ "build": "nuxt build",
10
+ "preview": "nuxt preview",
11
+ "postinstall": "nuxt prepare"
12
+ },
13
+ "dependencies": {
14
+ "nuxt": "^3.14.0",
15
+ "vue": "^3.5.0"
16
+ },
17
+ "engines": {
18
+ "node": ">=20.0.0"
19
+ }
20
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "./.nuxt/tsconfig.json"
3
+ }
@@ -34,9 +34,33 @@ exports.templates = [
34
34
  features: ["react", "eslint", "prettier", "vitest", "docker", "github-actions"],
35
35
  aiProviders: ["claude", "codex"],
36
36
  },
37
- { id: "laravel-vue", label: "Laravel + Vue", status: "planned", language: "laravel", languageLabel: "Laravel", features: [], aiProviders: ["claude", "codex"] },
38
- { id: "nextjs", label: "Next.js", status: "planned", language: "typescript", languageLabel: "TypeScript", features: [], aiProviders: ["claude", "codex"] },
39
- { id: "nuxt", label: "Nuxt", status: "planned", language: "typescript", languageLabel: "TypeScript", features: [], aiProviders: ["claude", "codex"] },
37
+ {
38
+ id: "laravel-vue",
39
+ label: "Laravel + Vue",
40
+ status: "available",
41
+ language: "laravel",
42
+ languageLabel: "Laravel + Vue",
43
+ features: ["vue-laravel", "docker", "github-actions"],
44
+ aiProviders: ["claude", "codex"],
45
+ },
46
+ {
47
+ id: "nextjs",
48
+ label: "Next.js",
49
+ status: "available",
50
+ language: "nextjs",
51
+ languageLabel: "Next.js",
52
+ features: ["eslint", "prettier", "github-actions"],
53
+ aiProviders: ["claude", "codex"],
54
+ },
55
+ {
56
+ id: "nuxt",
57
+ label: "Nuxt",
58
+ status: "available",
59
+ language: "nuxt",
60
+ languageLabel: "Nuxt",
61
+ features: ["prettier", "github-actions"],
62
+ aiProviders: ["claude", "codex"],
63
+ },
40
64
  ];
41
65
  exports.DEFAULT_TEMPLATE = "typescript";
42
66
  function findTemplate(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/registry/templates.ts"],"names":[],"mappings":";;;AAmDA,oCAEC;AAzCD;;;GAGG;AACU,QAAA,SAAS,GAAyB;IAC7C;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,YAAY;QACtB,aAAa,EAAE,YAAY;QAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC;QACtE,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KACjC;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,SAAS;QACnB,aAAa,EAAE,iBAAiB;QAChC,QAAQ,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,gBAAgB,CAAC;QACvD,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KACjC;IACD;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,YAAY;QACtB,aAAa,EAAE,oBAAoB;QACnC,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC;QAC/E,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KACjC;IACD,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;IAC/J,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;IAC1J,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;CACtJ,CAAC;AAEW,QAAA,gBAAgB,GAAG,YAAY,CAAC;AAE7C,SAAgB,YAAY,CAAC,EAAU;IACrC,OAAO,iBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/registry/templates.ts"],"names":[],"mappings":";;;AA2EA,oCAEC;AAjED;;;GAGG;AACU,QAAA,SAAS,GAAyB;IAC7C;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,YAAY;QACtB,aAAa,EAAE,YAAY;QAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC;QACtE,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KACjC;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,SAAS;QACnB,aAAa,EAAE,iBAAiB;QAChC,QAAQ,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,gBAAgB,CAAC;QACvD,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KACjC;IACD;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,YAAY;QACtB,aAAa,EAAE,oBAAoB;QACnC,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC;QAC/E,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KACjC;IACD;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,SAAS;QACnB,aAAa,EAAE,eAAe;QAC9B,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,gBAAgB,CAAC;QACrD,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KACjC;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,QAAQ;QAClB,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,gBAAgB,CAAC;QAClD,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KACjC;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;QACxC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KACjC;CACF,CAAC;AAEW,QAAA,gBAAgB,GAAG,YAAY,CAAC;AAE7C,SAAgB,YAAY,CAAC,EAAU;IACrC,OAAO,iBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foundruu",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "FoundRuu CLI - AI開発を標準化するためのプラットフォームCLI",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",