@harness-engineering/cli 1.0.0 → 1.0.1

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 (66) hide show
  1. package/dist/bin/harness.js +1 -1
  2. package/dist/chunk-WE3FMIWI.js +2639 -0
  3. package/dist/index.js +1 -1
  4. package/dist/templates/advanced/agents/personas/.gitkeep +0 -0
  5. package/dist/templates/advanced/docs/changes/.gitkeep +0 -0
  6. package/dist/templates/advanced/docs/principles.md.hbs +14 -0
  7. package/dist/templates/advanced/docs/specs/.gitkeep +0 -0
  8. package/dist/templates/advanced/harness.config.json.hbs +30 -0
  9. package/dist/templates/advanced/package.json.hbs +21 -0
  10. package/dist/templates/advanced/template.json +7 -0
  11. package/dist/templates/base/AGENTS.md.hbs +18 -0
  12. package/dist/templates/base/docs/index.md.hbs +13 -0
  13. package/dist/templates/base/template.json +5 -0
  14. package/dist/templates/basic/harness.config.json.hbs +16 -0
  15. package/dist/templates/basic/package.json.hbs +15 -0
  16. package/dist/templates/basic/src/index.ts +1 -0
  17. package/dist/templates/basic/template.json +7 -0
  18. package/dist/templates/basic/tsconfig.json +13 -0
  19. package/dist/templates/intermediate/docs/changes/.gitkeep +0 -0
  20. package/dist/templates/intermediate/docs/principles.md.hbs +14 -0
  21. package/dist/templates/intermediate/docs/specs/.gitkeep +0 -0
  22. package/dist/templates/intermediate/eslint.config.mjs.hbs +12 -0
  23. package/dist/templates/intermediate/harness.config.json.hbs +22 -0
  24. package/dist/templates/intermediate/package.json.hbs +19 -0
  25. package/dist/templates/intermediate/src/domain/.gitkeep +0 -0
  26. package/dist/templates/intermediate/src/services/.gitkeep +0 -0
  27. package/dist/templates/intermediate/src/types/.gitkeep +0 -0
  28. package/dist/templates/intermediate/template.json +7 -0
  29. package/dist/templates/nextjs/next.config.mjs +3 -0
  30. package/dist/templates/nextjs/package.json.hbs +17 -0
  31. package/dist/templates/nextjs/src/app/layout.tsx +12 -0
  32. package/dist/templates/nextjs/src/app/page.tsx +7 -0
  33. package/dist/templates/nextjs/src/lib/.gitkeep +0 -0
  34. package/dist/templates/nextjs/template.json +6 -0
  35. package/dist/templates/templates/advanced/agents/personas/.gitkeep +0 -0
  36. package/dist/templates/templates/advanced/docs/changes/.gitkeep +0 -0
  37. package/dist/templates/templates/advanced/docs/principles.md.hbs +14 -0
  38. package/dist/templates/templates/advanced/docs/specs/.gitkeep +0 -0
  39. package/dist/templates/templates/advanced/harness.config.json.hbs +30 -0
  40. package/dist/templates/templates/advanced/package.json.hbs +21 -0
  41. package/dist/templates/templates/advanced/template.json +7 -0
  42. package/dist/templates/templates/base/AGENTS.md.hbs +18 -0
  43. package/dist/templates/templates/base/docs/index.md.hbs +13 -0
  44. package/dist/templates/templates/base/template.json +5 -0
  45. package/dist/templates/templates/basic/harness.config.json.hbs +16 -0
  46. package/dist/templates/templates/basic/package.json.hbs +15 -0
  47. package/dist/templates/templates/basic/src/index.ts +1 -0
  48. package/dist/templates/templates/basic/template.json +7 -0
  49. package/dist/templates/templates/basic/tsconfig.json +13 -0
  50. package/dist/templates/templates/intermediate/docs/changes/.gitkeep +0 -0
  51. package/dist/templates/templates/intermediate/docs/principles.md.hbs +14 -0
  52. package/dist/templates/templates/intermediate/docs/specs/.gitkeep +0 -0
  53. package/dist/templates/templates/intermediate/eslint.config.mjs.hbs +12 -0
  54. package/dist/templates/templates/intermediate/harness.config.json.hbs +22 -0
  55. package/dist/templates/templates/intermediate/package.json.hbs +19 -0
  56. package/dist/templates/templates/intermediate/src/domain/.gitkeep +0 -0
  57. package/dist/templates/templates/intermediate/src/services/.gitkeep +0 -0
  58. package/dist/templates/templates/intermediate/src/types/.gitkeep +0 -0
  59. package/dist/templates/templates/intermediate/template.json +7 -0
  60. package/dist/templates/templates/nextjs/next.config.mjs +3 -0
  61. package/dist/templates/templates/nextjs/package.json.hbs +17 -0
  62. package/dist/templates/templates/nextjs/src/app/layout.tsx +12 -0
  63. package/dist/templates/templates/nextjs/src/app/page.tsx +7 -0
  64. package/dist/templates/templates/nextjs/src/lib/.gitkeep +0 -0
  65. package/dist/templates/templates/nextjs/template.json +6 -0
  66. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  loadPersona,
14
14
  resolveConfig,
15
15
  runPersona
16
- } from "./chunk-5JDJNUEO.js";
16
+ } from "./chunk-WE3FMIWI.js";
17
17
  import {
18
18
  CLIError,
19
19
  ExitCode,
File without changes
@@ -0,0 +1,14 @@
1
+ {{!-- templates/advanced/docs/principles.md.hbs --}}
2
+ # {{projectName}} Principles
3
+
4
+ ## Code Quality
5
+ - TODO: Define your code quality principles
6
+
7
+ ## Architecture
8
+ - TODO: Define your architectural principles
9
+
10
+ ## Testing
11
+ - TODO: Define your testing approach
12
+
13
+ ## Design
14
+ - TODO: Define your design principles
File without changes
@@ -0,0 +1,30 @@
1
+ {
2
+ "version": 1,
3
+ "name": "{{projectName}}",
4
+ "layers": [
5
+ { "name": "types", "pattern": "src/types/**", "allowedDependencies": [] },
6
+ { "name": "domain", "pattern": "src/domain/**", "allowedDependencies": ["types"] },
7
+ { "name": "services", "pattern": "src/services/**", "allowedDependencies": ["types", "domain"] },
8
+ { "name": "api", "pattern": "src/api/**", "allowedDependencies": ["types", "domain", "services"] }
9
+ ],
10
+ "forbiddenImports": [
11
+ { "from": "src/types/**", "disallow": ["src/services/**", "src/api/**"], "message": "Types layer cannot import from services or API" }
12
+ ],
13
+ "boundaries": {
14
+ "requireSchema": ["src/api/**"]
15
+ },
16
+ "agentsMapPath": "./AGENTS.md",
17
+ "docsDir": "./docs",
18
+ "agent": {
19
+ "executor": "subprocess",
20
+ "timeout": 300000
21
+ },
22
+ "entropy": {
23
+ "excludePatterns": ["**/node_modules/**", "**/*.test.ts"],
24
+ "autoFix": false
25
+ },
26
+ "template": {
27
+ "level": "advanced",
28
+ "version": 1
29
+ }
30
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "scripts": {
6
+ "build": "tsc",
7
+ "lint": "eslint src",
8
+ "harness:validate": "harness validate",
9
+ "harness:check-deps": "harness check-deps",
10
+ "harness:check-docs": "harness check-docs",
11
+ "harness:cleanup": "harness cleanup",
12
+ "harness:fix-drift": "harness fix-drift"
13
+ },
14
+ "dependencies": {},
15
+ "devDependencies": {
16
+ "@harness-engineering/cli": "^0.1.0",
17
+ "@harness-engineering/eslint-plugin": "^0.1.0",
18
+ "eslint": "^9.0.0",
19
+ "typescript": "^5.0.0"
20
+ }
21
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "advanced",
3
+ "description": "Level 3 adoption: Complete harness with agent loop, entropy management",
4
+ "level": "advanced",
5
+ "extends": "base",
6
+ "version": 1
7
+ }
@@ -0,0 +1,18 @@
1
+ # {{projectName}} Knowledge Map
2
+
3
+ ## About This Project
4
+
5
+ {{projectName}} — A project using Harness Engineering practices ({{level}} adoption level).
6
+
7
+ ## Documentation
8
+
9
+ - Main docs: `docs/`
10
+ - Architecture decisions: `docs/architecture.md`
11
+
12
+ ## Source Code
13
+
14
+ - Entry point: `src/index.ts`
15
+
16
+ ## Architecture
17
+
18
+ See `docs/architecture.md` for architectural decisions.
@@ -0,0 +1,13 @@
1
+ # {{projectName}} Documentation
2
+
3
+ Welcome to the {{projectName}} documentation.
4
+
5
+ ## Getting Started
6
+
7
+ 1. Install dependencies: `npm install`
8
+ 2. Run checks: `npx harness validate`
9
+ 3. Start development
10
+
11
+ ## Architecture
12
+
13
+ See [architecture.md](./architecture.md) for architectural decisions.
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "base",
3
+ "description": "Shared base files for all harness engineering templates",
4
+ "version": 1
5
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": 1,
3
+ "name": "{{projectName}}",
4
+ "layers": [
5
+ { "name": "types", "pattern": "src/types/**", "allowedDependencies": [] },
6
+ { "name": "domain", "pattern": "src/domain/**", "allowedDependencies": ["types"] },
7
+ { "name": "services", "pattern": "src/services/**", "allowedDependencies": ["types", "domain"] },
8
+ { "name": "api", "pattern": "src/api/**", "allowedDependencies": ["types", "domain", "services"] }
9
+ ],
10
+ "agentsMapPath": "./AGENTS.md",
11
+ "docsDir": "./docs",
12
+ "template": {
13
+ "level": "basic",
14
+ "version": 1
15
+ }
16
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "scripts": {
6
+ "build": "tsc",
7
+ "harness:validate": "harness validate",
8
+ "harness:check-deps": "harness check-deps"
9
+ },
10
+ "dependencies": {},
11
+ "devDependencies": {
12
+ "@harness-engineering/cli": "^0.1.0",
13
+ "typescript": "^5.0.0"
14
+ }
15
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "basic",
3
+ "description": "Level 1 adoption: AGENTS.md, basic docs, simple constraints",
4
+ "level": "basic",
5
+ "extends": "base",
6
+ "version": 1
7
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "Node16",
5
+ "moduleResolution": "Node16",
6
+ "outDir": "dist",
7
+ "rootDir": "src",
8
+ "strict": true,
9
+ "esModuleInterop": true,
10
+ "declaration": true
11
+ },
12
+ "include": ["src"]
13
+ }
@@ -0,0 +1,14 @@
1
+ {{!-- templates/intermediate/docs/principles.md.hbs --}}
2
+ # {{projectName}} Principles
3
+
4
+ ## Code Quality
5
+ - TODO: Define your code quality principles
6
+
7
+ ## Architecture
8
+ - TODO: Define your architectural principles
9
+
10
+ ## Testing
11
+ - TODO: Define your testing approach
12
+
13
+ ## Design
14
+ - TODO: Define your design principles
@@ -0,0 +1,12 @@
1
+ import harnessPlugin from '@harness-engineering/eslint-plugin';
2
+
3
+ export default [
4
+ harnessPlugin.configs.recommended,
5
+ {
6
+ rules: {
7
+ '@harness-engineering/no-circular-deps': 'error',
8
+ '@harness-engineering/no-forbidden-imports': 'error',
9
+ '@harness-engineering/no-layer-violation': 'error',
10
+ },
11
+ },
12
+ ];
@@ -0,0 +1,22 @@
1
+ {
2
+ "version": 1,
3
+ "name": "{{projectName}}",
4
+ "layers": [
5
+ { "name": "types", "pattern": "src/types/**", "allowedDependencies": [] },
6
+ { "name": "domain", "pattern": "src/domain/**", "allowedDependencies": ["types"] },
7
+ { "name": "services", "pattern": "src/services/**", "allowedDependencies": ["types", "domain"] },
8
+ { "name": "api", "pattern": "src/api/**", "allowedDependencies": ["types", "domain", "services"] }
9
+ ],
10
+ "forbiddenImports": [
11
+ { "from": "src/types/**", "disallow": ["src/services/**", "src/api/**"], "message": "Types layer cannot import from services or API" }
12
+ ],
13
+ "boundaries": {
14
+ "requireSchema": ["src/api/**"]
15
+ },
16
+ "agentsMapPath": "./AGENTS.md",
17
+ "docsDir": "./docs",
18
+ "template": {
19
+ "level": "intermediate",
20
+ "version": 1
21
+ }
22
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "scripts": {
6
+ "build": "tsc",
7
+ "lint": "eslint src",
8
+ "harness:validate": "harness validate",
9
+ "harness:check-deps": "harness check-deps",
10
+ "harness:check-docs": "harness check-docs"
11
+ },
12
+ "dependencies": {},
13
+ "devDependencies": {
14
+ "@harness-engineering/cli": "^0.1.0",
15
+ "@harness-engineering/eslint-plugin": "^0.1.0",
16
+ "eslint": "^9.0.0",
17
+ "typescript": "^5.0.0"
18
+ }
19
+ }
File without changes
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "intermediate",
3
+ "description": "Level 2 adoption: Full docs, linters, layer enforcement",
4
+ "level": "intermediate",
5
+ "extends": "base",
6
+ "version": 1
7
+ }
@@ -0,0 +1,3 @@
1
+ /** @type {import('next').NextConfig} */
2
+ const nextConfig = {};
3
+ export default nextConfig;
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "scripts": {
4
+ "dev": "next dev",
5
+ "build": "next build",
6
+ "start": "next start"
7
+ },
8
+ "dependencies": {
9
+ "next": "^14.0.0",
10
+ "react": "^18.0.0",
11
+ "react-dom": "^18.0.0"
12
+ },
13
+ "devDependencies": {
14
+ "@types/react": "^18.0.0",
15
+ "@types/react-dom": "^18.0.0"
16
+ }
17
+ }
@@ -0,0 +1,12 @@
1
+ export const metadata = {
2
+ title: 'Harness Engineering App',
3
+ description: 'Built with Harness Engineering practices',
4
+ };
5
+
6
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
7
+ return (
8
+ <html lang="en">
9
+ <body>{children}</body>
10
+ </html>
11
+ );
12
+ }
@@ -0,0 +1,7 @@
1
+ export default function Home() {
2
+ return (
3
+ <main>
4
+ <h1>Welcome to your Harness Engineering project</h1>
5
+ </main>
6
+ );
7
+ }
File without changes
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "nextjs",
3
+ "description": "Next.js framework overlay",
4
+ "framework": "nextjs",
5
+ "version": 1
6
+ }
@@ -0,0 +1,14 @@
1
+ {{!-- templates/advanced/docs/principles.md.hbs --}}
2
+ # {{projectName}} Principles
3
+
4
+ ## Code Quality
5
+ - TODO: Define your code quality principles
6
+
7
+ ## Architecture
8
+ - TODO: Define your architectural principles
9
+
10
+ ## Testing
11
+ - TODO: Define your testing approach
12
+
13
+ ## Design
14
+ - TODO: Define your design principles
@@ -0,0 +1,30 @@
1
+ {
2
+ "version": 1,
3
+ "name": "{{projectName}}",
4
+ "layers": [
5
+ { "name": "types", "pattern": "src/types/**", "allowedDependencies": [] },
6
+ { "name": "domain", "pattern": "src/domain/**", "allowedDependencies": ["types"] },
7
+ { "name": "services", "pattern": "src/services/**", "allowedDependencies": ["types", "domain"] },
8
+ { "name": "api", "pattern": "src/api/**", "allowedDependencies": ["types", "domain", "services"] }
9
+ ],
10
+ "forbiddenImports": [
11
+ { "from": "src/types/**", "disallow": ["src/services/**", "src/api/**"], "message": "Types layer cannot import from services or API" }
12
+ ],
13
+ "boundaries": {
14
+ "requireSchema": ["src/api/**"]
15
+ },
16
+ "agentsMapPath": "./AGENTS.md",
17
+ "docsDir": "./docs",
18
+ "agent": {
19
+ "executor": "subprocess",
20
+ "timeout": 300000
21
+ },
22
+ "entropy": {
23
+ "excludePatterns": ["**/node_modules/**", "**/*.test.ts"],
24
+ "autoFix": false
25
+ },
26
+ "template": {
27
+ "level": "advanced",
28
+ "version": 1
29
+ }
30
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "scripts": {
6
+ "build": "tsc",
7
+ "lint": "eslint src",
8
+ "harness:validate": "harness validate",
9
+ "harness:check-deps": "harness check-deps",
10
+ "harness:check-docs": "harness check-docs",
11
+ "harness:cleanup": "harness cleanup",
12
+ "harness:fix-drift": "harness fix-drift"
13
+ },
14
+ "dependencies": {},
15
+ "devDependencies": {
16
+ "@harness-engineering/cli": "^0.1.0",
17
+ "@harness-engineering/eslint-plugin": "^0.1.0",
18
+ "eslint": "^9.0.0",
19
+ "typescript": "^5.0.0"
20
+ }
21
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "advanced",
3
+ "description": "Level 3 adoption: Complete harness with agent loop, entropy management",
4
+ "level": "advanced",
5
+ "extends": "base",
6
+ "version": 1
7
+ }
@@ -0,0 +1,18 @@
1
+ # {{projectName}} Knowledge Map
2
+
3
+ ## About This Project
4
+
5
+ {{projectName}} — A project using Harness Engineering practices ({{level}} adoption level).
6
+
7
+ ## Documentation
8
+
9
+ - Main docs: `docs/`
10
+ - Architecture decisions: `docs/architecture.md`
11
+
12
+ ## Source Code
13
+
14
+ - Entry point: `src/index.ts`
15
+
16
+ ## Architecture
17
+
18
+ See `docs/architecture.md` for architectural decisions.
@@ -0,0 +1,13 @@
1
+ # {{projectName}} Documentation
2
+
3
+ Welcome to the {{projectName}} documentation.
4
+
5
+ ## Getting Started
6
+
7
+ 1. Install dependencies: `npm install`
8
+ 2. Run checks: `npx harness validate`
9
+ 3. Start development
10
+
11
+ ## Architecture
12
+
13
+ See [architecture.md](./architecture.md) for architectural decisions.
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "base",
3
+ "description": "Shared base files for all harness engineering templates",
4
+ "version": 1
5
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": 1,
3
+ "name": "{{projectName}}",
4
+ "layers": [
5
+ { "name": "types", "pattern": "src/types/**", "allowedDependencies": [] },
6
+ { "name": "domain", "pattern": "src/domain/**", "allowedDependencies": ["types"] },
7
+ { "name": "services", "pattern": "src/services/**", "allowedDependencies": ["types", "domain"] },
8
+ { "name": "api", "pattern": "src/api/**", "allowedDependencies": ["types", "domain", "services"] }
9
+ ],
10
+ "agentsMapPath": "./AGENTS.md",
11
+ "docsDir": "./docs",
12
+ "template": {
13
+ "level": "basic",
14
+ "version": 1
15
+ }
16
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "scripts": {
6
+ "build": "tsc",
7
+ "harness:validate": "harness validate",
8
+ "harness:check-deps": "harness check-deps"
9
+ },
10
+ "dependencies": {},
11
+ "devDependencies": {
12
+ "@harness-engineering/cli": "^0.1.0",
13
+ "typescript": "^5.0.0"
14
+ }
15
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "basic",
3
+ "description": "Level 1 adoption: AGENTS.md, basic docs, simple constraints",
4
+ "level": "basic",
5
+ "extends": "base",
6
+ "version": 1
7
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "Node16",
5
+ "moduleResolution": "Node16",
6
+ "outDir": "dist",
7
+ "rootDir": "src",
8
+ "strict": true,
9
+ "esModuleInterop": true,
10
+ "declaration": true
11
+ },
12
+ "include": ["src"]
13
+ }
@@ -0,0 +1,14 @@
1
+ {{!-- templates/intermediate/docs/principles.md.hbs --}}
2
+ # {{projectName}} Principles
3
+
4
+ ## Code Quality
5
+ - TODO: Define your code quality principles
6
+
7
+ ## Architecture
8
+ - TODO: Define your architectural principles
9
+
10
+ ## Testing
11
+ - TODO: Define your testing approach
12
+
13
+ ## Design
14
+ - TODO: Define your design principles
@@ -0,0 +1,12 @@
1
+ import harnessPlugin from '@harness-engineering/eslint-plugin';
2
+
3
+ export default [
4
+ harnessPlugin.configs.recommended,
5
+ {
6
+ rules: {
7
+ '@harness-engineering/no-circular-deps': 'error',
8
+ '@harness-engineering/no-forbidden-imports': 'error',
9
+ '@harness-engineering/no-layer-violation': 'error',
10
+ },
11
+ },
12
+ ];
@@ -0,0 +1,22 @@
1
+ {
2
+ "version": 1,
3
+ "name": "{{projectName}}",
4
+ "layers": [
5
+ { "name": "types", "pattern": "src/types/**", "allowedDependencies": [] },
6
+ { "name": "domain", "pattern": "src/domain/**", "allowedDependencies": ["types"] },
7
+ { "name": "services", "pattern": "src/services/**", "allowedDependencies": ["types", "domain"] },
8
+ { "name": "api", "pattern": "src/api/**", "allowedDependencies": ["types", "domain", "services"] }
9
+ ],
10
+ "forbiddenImports": [
11
+ { "from": "src/types/**", "disallow": ["src/services/**", "src/api/**"], "message": "Types layer cannot import from services or API" }
12
+ ],
13
+ "boundaries": {
14
+ "requireSchema": ["src/api/**"]
15
+ },
16
+ "agentsMapPath": "./AGENTS.md",
17
+ "docsDir": "./docs",
18
+ "template": {
19
+ "level": "intermediate",
20
+ "version": 1
21
+ }
22
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "scripts": {
6
+ "build": "tsc",
7
+ "lint": "eslint src",
8
+ "harness:validate": "harness validate",
9
+ "harness:check-deps": "harness check-deps",
10
+ "harness:check-docs": "harness check-docs"
11
+ },
12
+ "dependencies": {},
13
+ "devDependencies": {
14
+ "@harness-engineering/cli": "^0.1.0",
15
+ "@harness-engineering/eslint-plugin": "^0.1.0",
16
+ "eslint": "^9.0.0",
17
+ "typescript": "^5.0.0"
18
+ }
19
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "intermediate",
3
+ "description": "Level 2 adoption: Full docs, linters, layer enforcement",
4
+ "level": "intermediate",
5
+ "extends": "base",
6
+ "version": 1
7
+ }
@@ -0,0 +1,3 @@
1
+ /** @type {import('next').NextConfig} */
2
+ const nextConfig = {};
3
+ export default nextConfig;