ai-devkit 0.2.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.
- package/CHANGELOG.md +11 -1
- package/README.md +20 -87
- package/dist/__tests__/lib/Config.test.d.ts +2 -0
- package/dist/__tests__/lib/Config.test.d.ts.map +1 -0
- package/dist/__tests__/lib/Config.test.js +281 -0
- package/dist/__tests__/lib/Config.test.js.map +1 -0
- package/dist/__tests__/lib/EnvironmentSelector.test.d.ts +2 -0
- package/dist/__tests__/lib/EnvironmentSelector.test.d.ts.map +1 -0
- package/dist/__tests__/lib/EnvironmentSelector.test.js +117 -0
- package/dist/__tests__/lib/EnvironmentSelector.test.js.map +1 -0
- package/dist/__tests__/lib/PhaseSelector.test.d.ts +2 -0
- package/dist/__tests__/lib/PhaseSelector.test.d.ts.map +1 -0
- package/dist/__tests__/lib/PhaseSelector.test.js +77 -0
- package/dist/__tests__/lib/PhaseSelector.test.js.map +1 -0
- package/dist/__tests__/util/env.test.d.ts +2 -0
- package/dist/__tests__/util/env.test.d.ts.map +1 -0
- package/dist/__tests__/util/env.test.js +166 -0
- package/dist/__tests__/util/env.test.js.map +1 -0
- package/dist/commands/init.d.ts +2 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +54 -73
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/phase.d.ts.map +1 -1
- package/dist/commands/phase.js +1 -5
- package/dist/commands/phase.js.map +1 -1
- package/dist/lib/Config.d.ts +5 -2
- package/dist/lib/Config.d.ts.map +1 -1
- package/dist/lib/Config.js +18 -3
- package/dist/lib/Config.js.map +1 -1
- package/dist/lib/EnvironmentSelector.d.ts +7 -0
- package/dist/lib/EnvironmentSelector.d.ts.map +1 -0
- package/dist/lib/EnvironmentSelector.js +62 -0
- package/dist/lib/EnvironmentSelector.js.map +1 -0
- package/dist/lib/PhaseSelector.d.ts +8 -0
- package/dist/lib/PhaseSelector.d.ts.map +1 -0
- package/dist/lib/PhaseSelector.js +58 -0
- package/dist/lib/PhaseSelector.js.map +1 -0
- package/dist/lib/TemplateManager.d.ts +5 -5
- package/dist/lib/TemplateManager.d.ts.map +1 -1
- package/dist/lib/TemplateManager.js +73 -66
- package/dist/lib/TemplateManager.js.map +1 -1
- package/dist/types.d.ts +9 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/util/env.d.ts +11 -0
- package/dist/util/env.d.ts.map +1 -0
- package/dist/util/env.js +109 -0
- package/dist/util/env.js.map +1 -0
- package/jest.config.js +22 -0
- package/package.json +16 -11
- package/templates/commands/capture-knowledge.md +46 -0
- package/templates/commands/debug.md +45 -0
- package/templates/{env/cursor/commands → commands}/new-requirement.md +1 -1
- package/web/.nojekyll +2 -0
- package/web/CNAME +1 -0
- package/web/README.md +100 -0
- package/web/app/favicon.ico +0 -0
- package/web/app/globals.css +122 -0
- package/web/app/layout.tsx +106 -0
- package/web/app/page.tsx +119 -0
- package/web/app/roadmap/page.tsx +150 -0
- package/web/app/robots.ts +16 -0
- package/web/app/sitemap.ts +46 -0
- package/web/app/vision/page.tsx +49 -0
- package/web/components/Footer.tsx +81 -0
- package/web/components/GitHubButton.tsx +49 -0
- package/web/components/GitHubStars.tsx +27 -0
- package/web/components/Header.tsx +108 -0
- package/web/components/MarkdownContent.tsx +35 -0
- package/web/components/SkipToContent.tsx +11 -0
- package/web/content/pages/vision.md +42 -0
- package/web/content/roadmap/1-web.md +9 -0
- package/web/content/roadmap/2-integrations.md +7 -0
- package/web/content/roadmap/3-cli-enhancements.md +8 -0
- package/web/content/roadmap/4-local-memory.md +8 -0
- package/web/eslint.config.mjs +18 -0
- package/web/lib/GitHubContext.tsx +57 -0
- package/web/lib/content/loader.ts +152 -0
- package/web/lib/content/types.ts +37 -0
- package/web/lib/utils.ts +12 -0
- package/web/next.config.ts +11 -0
- package/web/package-lock.json +8837 -0
- package/web/package.json +34 -0
- package/web/postcss.config.mjs +7 -0
- package/web/public/file.svg +1 -0
- package/web/public/globe.svg +1 -0
- package/web/public/next.svg +1 -0
- package/web/public/vercel.svg +1 -0
- package/web/public/window.svg +1 -0
- package/templates/env/claude/CLAUDE.md +0 -52
- package/templates/env/claude/commands/code-review.md +0 -81
- package/templates/env/claude/commands/execute-plan.md +0 -71
- package/templates/env/claude/commands/new-requirement.md +0 -127
- package/templates/env/claude/commands/update-planning.md +0 -61
- package/templates/env/cursor/commands/check-implementation.md +0 -21
- package/templates/env/cursor/commands/review-design.md +0 -11
- package/templates/env/cursor/commands/review-requirements.md +0 -9
- package/templates/env/cursor/commands/writing-test.md +0 -44
- package/templates/env/cursor/rules/ai-devkit.md +0 -51
- /package/templates/{env/claude/commands → commands}/check-implementation.md +0 -0
- /package/templates/{env/cursor/commands → commands}/code-review.md +0 -0
- /package/templates/{env/cursor/commands → commands}/execute-plan.md +0 -0
- /package/templates/{env/claude/commands → commands}/review-design.md +0 -0
- /package/templates/{env/claude/commands → commands}/review-requirements.md +0 -0
- /package/templates/{env/cursor/commands → commands}/update-planning.md +0 -0
- /package/templates/{env/claude/commands → commands}/writing-test.md +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-devkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "A CLI toolkit for AI-assisted software development with phase templates and environment setup",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
"build": "tsc",
|
|
11
11
|
"dev": "ts-node src/cli.ts",
|
|
12
12
|
"lint": "eslint src --ext .ts",
|
|
13
|
+
"test": "jest",
|
|
14
|
+
"test:watch": "jest --watch",
|
|
15
|
+
"test:coverage": "jest --coverage",
|
|
13
16
|
"prepublishOnly": "npm run build"
|
|
14
17
|
},
|
|
15
18
|
"keywords": [
|
|
@@ -23,24 +26,26 @@
|
|
|
23
26
|
"author": "",
|
|
24
27
|
"license": "MIT",
|
|
25
28
|
"dependencies": {
|
|
29
|
+
"chalk": "^4.1.2",
|
|
26
30
|
"commander": "^11.1.0",
|
|
27
|
-
"inquirer": "^8.2.6",
|
|
28
31
|
"fs-extra": "^11.2.0",
|
|
29
|
-
"
|
|
30
|
-
"
|
|
32
|
+
"inquirer": "^8.2.6",
|
|
33
|
+
"yaml": "^2.3.4"
|
|
31
34
|
},
|
|
32
35
|
"devDependencies": {
|
|
33
|
-
"@types/node": "^20.11.5",
|
|
34
|
-
"@types/inquirer": "^8.2.10",
|
|
35
36
|
"@types/fs-extra": "^11.0.4",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
37
|
+
"@types/inquirer": "^8.2.10",
|
|
38
|
+
"@types/jest": "^30.0.0",
|
|
39
|
+
"@types/node": "^20.11.5",
|
|
39
40
|
"@typescript-eslint/eslint-plugin": "^6.19.1",
|
|
40
|
-
"@typescript-eslint/parser": "^6.19.1"
|
|
41
|
+
"@typescript-eslint/parser": "^6.19.1",
|
|
42
|
+
"eslint": "^8.56.0",
|
|
43
|
+
"jest": "^29.7.0",
|
|
44
|
+
"ts-jest": "^29.4.5",
|
|
45
|
+
"ts-node": "^10.9.2",
|
|
46
|
+
"typescript": "^5.3.3"
|
|
41
47
|
},
|
|
42
48
|
"engines": {
|
|
43
49
|
"node": ">=16.0.0"
|
|
44
50
|
}
|
|
45
51
|
}
|
|
46
|
-
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Knowledge Capture Assistant
|
|
2
|
+
|
|
3
|
+
Guide me through creating a structured understanding of a code entry point and saving it to the knowledge docs.
|
|
4
|
+
|
|
5
|
+
## Step 1: Gather Context
|
|
6
|
+
- Entry point (file, folder, function, API)
|
|
7
|
+
- Why this entry point matters (feature, bug, investigation)
|
|
8
|
+
- Relevant requirements/design docs (if any)
|
|
9
|
+
- Desired depth or focus areas (logic, dependencies, data flow)
|
|
10
|
+
|
|
11
|
+
## Step 2: Validate Entry Point
|
|
12
|
+
- Determine entry point type and confirm it exists
|
|
13
|
+
- Surface ambiguity (multiple matches) and ask for clarification
|
|
14
|
+
- If not found, suggest likely alternatives or spelling fixes
|
|
15
|
+
|
|
16
|
+
## Step 3: Collect Source Context
|
|
17
|
+
- Read the primary file/module and summarize purpose, exports, key patterns
|
|
18
|
+
- For folders: list structure, highlight key modules
|
|
19
|
+
- For functions/APIs: capture signature, parameters, return values, error handling
|
|
20
|
+
- Extract essential snippets (avoid large dumps)
|
|
21
|
+
|
|
22
|
+
## Step 4: Analyze Dependencies
|
|
23
|
+
- Build a dependency view up to depth 3
|
|
24
|
+
- Track visited nodes to avoid loops
|
|
25
|
+
- Categorize dependencies (imports, function calls, services, external packages)
|
|
26
|
+
- Note important external systems or generated code that should be excluded
|
|
27
|
+
|
|
28
|
+
## Step 5: Synthesize Explanation
|
|
29
|
+
- Draft an overview (purpose, language, high-level behavior)
|
|
30
|
+
- Detail core logic, key components, execution flow, patterns
|
|
31
|
+
- Highlight error handling, performance, security considerations
|
|
32
|
+
- Identify potential improvements or risks discovered during analysis
|
|
33
|
+
|
|
34
|
+
## Step 6: Create Documentation
|
|
35
|
+
- Normalize entry point name to kebab-case (`calculateTotalPrice` → `calculate-total-price`)
|
|
36
|
+
- Create `docs/ai/implementation/knowledge-{name}.md` using the headings implied in Step 5 (Overview, Implementation Details, Dependencies, Visual Diagrams, Additional Insights, Metadata, Next Steps)
|
|
37
|
+
- Populate sections with findings, diagrams, and metadata (analysis date, depth, files touched)
|
|
38
|
+
- Include mermaid diagrams when they clarify flows or relationships
|
|
39
|
+
|
|
40
|
+
## Step 7: Review & Next Actions
|
|
41
|
+
- Summarize key insights and open questions for follow-up
|
|
42
|
+
- Suggest related areas for deeper dives or refactors
|
|
43
|
+
- Confirm the knowledge file path and remind to commit it
|
|
44
|
+
- Encourage running `/capture-knowledge` again for related entry points if needed
|
|
45
|
+
|
|
46
|
+
Let me know the entry point and goals when you’re ready to begin the knowledge capture.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Local Debugging Assistant
|
|
2
|
+
|
|
3
|
+
Help me debug an issue by clarifying expectations, identifying gaps, and agreeing on a fix plan before changing code.
|
|
4
|
+
|
|
5
|
+
## Step 1: Gather Context
|
|
6
|
+
Ask me for:
|
|
7
|
+
- Brief issue description (what is happening?)
|
|
8
|
+
- Expected behavior or acceptance criteria (what should happen?)
|
|
9
|
+
- Current behavior and any error messages/logs
|
|
10
|
+
- Recent related changes or deployments
|
|
11
|
+
- Scope of impact (users, services, environments)
|
|
12
|
+
|
|
13
|
+
## Step 2: Clarify Reality vs Expectation
|
|
14
|
+
- Restate the observed behavior vs the expected outcome
|
|
15
|
+
- Confirm relevant requirements, tickets, or docs that define the expectation
|
|
16
|
+
- Identify acceptance criteria for the fix (how we know it is resolved)
|
|
17
|
+
|
|
18
|
+
## Step 3: Reproduce & Isolate
|
|
19
|
+
- Determine reproducibility (always, intermittent, environment-specific)
|
|
20
|
+
- Capture reproduction steps or commands
|
|
21
|
+
- Note any available tests that expose the failure
|
|
22
|
+
- List suspected components, services, or modules
|
|
23
|
+
|
|
24
|
+
## Step 4: Analyze Potential Causes
|
|
25
|
+
- Brainstorm plausible root causes (data, config, code regressions, external dependencies)
|
|
26
|
+
- Gather supporting evidence (logs, metrics, traces, screenshots)
|
|
27
|
+
- Highlight gaps or unknowns that need investigation
|
|
28
|
+
|
|
29
|
+
## Step 5: Surface Options
|
|
30
|
+
- Present possible resolution paths (quick fix, deeper refactor, rollback, feature flag, etc.)
|
|
31
|
+
- For each option, list pros/cons, risks, and verification steps
|
|
32
|
+
- Consider required approvals or coordination
|
|
33
|
+
|
|
34
|
+
## Step 6: Confirm Path Forward
|
|
35
|
+
- Ask which option we should pursue
|
|
36
|
+
- Summarize chosen approach, required pre-work, and success criteria
|
|
37
|
+
- Plan validation steps (tests, monitoring, user sign-off)
|
|
38
|
+
|
|
39
|
+
## Step 7: Next Actions & Tracking
|
|
40
|
+
- Document tasks, owners, and timelines for the selected option
|
|
41
|
+
- Note follow-up actions after deployment (monitoring, comms, postmortem if needed)
|
|
42
|
+
- Encourage updating relevant docs/tests once resolved
|
|
43
|
+
|
|
44
|
+
Let me know when you're ready to walk through the debugging flow.
|
|
45
|
+
|
|
@@ -106,7 +106,7 @@ Provide the MR/PR description:
|
|
|
106
106
|
### Testing
|
|
107
107
|
- Unit tests: [coverage/status]
|
|
108
108
|
- Integration tests: [status]
|
|
109
|
-
- Manual testing:
|
|
109
|
+
- Manual testing: Completed
|
|
110
110
|
- Test documentation: `docs/ai/testing/feature-{name}.md`
|
|
111
111
|
|
|
112
112
|
### Checklist
|
package/web/.nojekyll
ADDED
package/web/CNAME
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ai-devkit.com
|
package/web/README.md
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# AI DevKit Website
|
|
2
|
+
|
|
3
|
+
This is the source code for the AI DevKit static website built with Next.js.
|
|
4
|
+
|
|
5
|
+
## Development
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install
|
|
9
|
+
npm run dev
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Open [http://localhost:3000](http://localhost:3000) to view the site.
|
|
13
|
+
|
|
14
|
+
## Building
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm run build
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
This generates static files in the `out/` directory.
|
|
21
|
+
|
|
22
|
+
## Deployment
|
|
23
|
+
|
|
24
|
+
The site is automatically deployed to GitHub Pages when changes are pushed to the `main` branch.
|
|
25
|
+
|
|
26
|
+
### Manual Deployment Setup
|
|
27
|
+
|
|
28
|
+
1. Go to your repository settings on GitHub
|
|
29
|
+
2. Navigate to **Settings > Pages**
|
|
30
|
+
3. Under **Source**, select **GitHub Actions**
|
|
31
|
+
4. The workflow will run automatically on push to main
|
|
32
|
+
|
|
33
|
+
## Project Structure
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
web/
|
|
37
|
+
├── app/ # Next.js app directory
|
|
38
|
+
│ ├── docs/ # Documentation pages
|
|
39
|
+
│ ├── roadmap/ # Roadmap page
|
|
40
|
+
│ ├── vision/ # Vision page
|
|
41
|
+
│ ├── layout.tsx # Root layout
|
|
42
|
+
│ └── page.tsx # Landing page
|
|
43
|
+
├── components/ # Reusable components
|
|
44
|
+
├── content/ # Markdown content
|
|
45
|
+
│ ├── docs/ # Documentation files
|
|
46
|
+
│ ├── pages/ # Static pages
|
|
47
|
+
│ └── roadmap/ # Roadmap items
|
|
48
|
+
├── lib/ # Utilities and helpers
|
|
49
|
+
│ └── content/ # Content loading utilities
|
|
50
|
+
└── public/ # Static assets
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Content Management
|
|
54
|
+
|
|
55
|
+
All content is managed via Markdown files with frontmatter:
|
|
56
|
+
|
|
57
|
+
- Documentation: `content/docs/*.md`
|
|
58
|
+
- Pages (vision, etc): `content/pages/*.md`
|
|
59
|
+
- Roadmap items: `content/roadmap/*.md`
|
|
60
|
+
|
|
61
|
+
### Adding New Documentation
|
|
62
|
+
|
|
63
|
+
Create a new file in `content/docs/`:
|
|
64
|
+
|
|
65
|
+
```markdown
|
|
66
|
+
---
|
|
67
|
+
title: Your Doc Title
|
|
68
|
+
description: Brief description
|
|
69
|
+
slug: your-doc-slug
|
|
70
|
+
order: 1
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
# Your content here...
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Adding Roadmap Items
|
|
77
|
+
|
|
78
|
+
Create a new file in `content/roadmap/`:
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
---
|
|
82
|
+
title: Feature Name
|
|
83
|
+
status: planned | in-progress | completed | on-hold
|
|
84
|
+
timeframe: Q1 2026
|
|
85
|
+
priority: high | medium | low
|
|
86
|
+
order: 1
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
Feature description...
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## SEO
|
|
93
|
+
|
|
94
|
+
The site includes:
|
|
95
|
+
|
|
96
|
+
- Comprehensive metadata
|
|
97
|
+
- Sitemap at `/sitemap.xml`
|
|
98
|
+
- Robots.txt at `/robots.txt`
|
|
99
|
+
- Open Graph tags for social sharing
|
|
100
|
+
- Semantic HTML and ARIA labels
|
|
Binary file
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
@import "tailwindcss";
|
|
2
|
+
|
|
3
|
+
@theme {
|
|
4
|
+
--color-white: #ffffff;
|
|
5
|
+
--color-black: #000000;
|
|
6
|
+
--color-gray-50: #fafafa;
|
|
7
|
+
--color-gray-100: #f5f5f5;
|
|
8
|
+
--color-gray-200: #e5e5e5;
|
|
9
|
+
--color-gray-300: #d4d4d4;
|
|
10
|
+
--color-gray-400: #a3a3a3;
|
|
11
|
+
--color-gray-500: #737373;
|
|
12
|
+
--color-gray-600: #525252;
|
|
13
|
+
--color-gray-700: #404040;
|
|
14
|
+
--color-gray-800: #262626;
|
|
15
|
+
--color-gray-900: #171717;
|
|
16
|
+
--font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
|
|
17
|
+
--font-mono: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, monospace;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
body {
|
|
21
|
+
background: #ffffff;
|
|
22
|
+
color: #000000;
|
|
23
|
+
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
|
|
24
|
+
-webkit-font-smoothing: antialiased;
|
|
25
|
+
-moz-osx-font-smoothing: grayscale;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
h1, h2, h3, h4, h5, h6 {
|
|
29
|
+
font-weight: 700;
|
|
30
|
+
line-height: 1.2;
|
|
31
|
+
margin-bottom: 0.5em;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
h1 { font-size: 2.5rem; }
|
|
35
|
+
h2 { font-size: 2rem; }
|
|
36
|
+
h3 { font-size: 1.75rem; }
|
|
37
|
+
h4 { font-size: 1.5rem; }
|
|
38
|
+
h5 { font-size: 1.25rem; }
|
|
39
|
+
h6 { font-size: 1rem; }
|
|
40
|
+
|
|
41
|
+
p {
|
|
42
|
+
line-height: 1.6;
|
|
43
|
+
margin-bottom: 1em;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
a {
|
|
47
|
+
transition: opacity 0.2s;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
a:hover {
|
|
51
|
+
opacity: 0.7;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
code {
|
|
55
|
+
background: #f5f5f5;
|
|
56
|
+
color: #000000;
|
|
57
|
+
padding: 0.2em 0.4em;
|
|
58
|
+
border-radius: 3px;
|
|
59
|
+
font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, monospace;
|
|
60
|
+
font-size: 0.9em;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
pre code {
|
|
64
|
+
background: transparent;
|
|
65
|
+
padding: 0;
|
|
66
|
+
color: inherit;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
pre {
|
|
70
|
+
padding: 1rem;
|
|
71
|
+
border-radius: 0.5rem;
|
|
72
|
+
overflow-x: auto;
|
|
73
|
+
margin: 1.5rem 0;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
article pre {
|
|
77
|
+
background: #000000;
|
|
78
|
+
color: #ffffff;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.sr-only {
|
|
82
|
+
position: absolute;
|
|
83
|
+
width: 1px;
|
|
84
|
+
height: 1px;
|
|
85
|
+
padding: 0;
|
|
86
|
+
margin: -1px;
|
|
87
|
+
overflow: hidden;
|
|
88
|
+
clip: rect(0, 0, 0, 0);
|
|
89
|
+
white-space: nowrap;
|
|
90
|
+
border-width: 0;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.focus\:not-sr-only:focus {
|
|
94
|
+
position: static;
|
|
95
|
+
width: auto;
|
|
96
|
+
height: auto;
|
|
97
|
+
padding: inherit;
|
|
98
|
+
margin: inherit;
|
|
99
|
+
overflow: visible;
|
|
100
|
+
clip: auto;
|
|
101
|
+
white-space: normal;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
*:focus-visible {
|
|
105
|
+
outline: 2px solid #000000;
|
|
106
|
+
outline-offset: 2px;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
h1, h2, h3, h4, h5, h6, p, span, div {
|
|
110
|
+
color: inherit;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
article ul, article ol {
|
|
114
|
+
list-style-type: unset;
|
|
115
|
+
padding-left: 1em;
|
|
116
|
+
margin-bottom: 1em;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
article a {
|
|
120
|
+
text-decoration: underline;
|
|
121
|
+
text-underline-offset: 2px;
|
|
122
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { Metadata } from "next";
|
|
2
|
+
import "./globals.css";
|
|
3
|
+
import Header from "@/components/Header";
|
|
4
|
+
import Footer from "@/components/Footer";
|
|
5
|
+
import SkipToContent from "@/components/SkipToContent";
|
|
6
|
+
import { GitHubProvider } from "@/lib/GitHubContext";
|
|
7
|
+
import Script from "next/script";
|
|
8
|
+
|
|
9
|
+
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || "https://ai-devkit.com";
|
|
10
|
+
|
|
11
|
+
export const metadata: Metadata = {
|
|
12
|
+
metadataBase: new URL(siteUrl),
|
|
13
|
+
title: {
|
|
14
|
+
default: "AI DevKit - Structured AI-Assisted Development",
|
|
15
|
+
template: "%s | AI DevKit",
|
|
16
|
+
},
|
|
17
|
+
description:
|
|
18
|
+
"A CLI toolkit for AI-assisted software development with phase templates and structured workflows. Improve your development process with requirements, design, planning, and testing documentation.",
|
|
19
|
+
keywords: [
|
|
20
|
+
"AI",
|
|
21
|
+
"development",
|
|
22
|
+
"CLI",
|
|
23
|
+
"templates",
|
|
24
|
+
"documentation",
|
|
25
|
+
"structured development",
|
|
26
|
+
"AI-assisted coding",
|
|
27
|
+
"software engineering",
|
|
28
|
+
"project management",
|
|
29
|
+
"development workflow",
|
|
30
|
+
"specs driven development",
|
|
31
|
+
],
|
|
32
|
+
authors: [{ name: "AI DevKit Team" }],
|
|
33
|
+
creator: "AI DevKit",
|
|
34
|
+
publisher: "AI DevKit",
|
|
35
|
+
openGraph: {
|
|
36
|
+
title: "AI DevKit - Structured AI-Assisted Development",
|
|
37
|
+
description:
|
|
38
|
+
"A CLI toolkit for AI-assisted software development with phase templates and structured workflows.",
|
|
39
|
+
url: siteUrl,
|
|
40
|
+
siteName: "AI DevKit",
|
|
41
|
+
locale: "en_US",
|
|
42
|
+
type: "website",
|
|
43
|
+
},
|
|
44
|
+
twitter: {
|
|
45
|
+
card: "summary_large_image",
|
|
46
|
+
title: "AI DevKit - Structured AI-Assisted Development",
|
|
47
|
+
description:
|
|
48
|
+
"A CLI toolkit for AI-assisted software development with phase templates and structured workflows.",
|
|
49
|
+
},
|
|
50
|
+
robots: {
|
|
51
|
+
index: true,
|
|
52
|
+
follow: true,
|
|
53
|
+
googleBot: {
|
|
54
|
+
index: true,
|
|
55
|
+
follow: true,
|
|
56
|
+
"max-video-preview": -1,
|
|
57
|
+
"max-image-preview": "large",
|
|
58
|
+
"max-snippet": -1,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export default function RootLayout({
|
|
64
|
+
children,
|
|
65
|
+
}: Readonly<{
|
|
66
|
+
children: React.ReactNode;
|
|
67
|
+
}>) {
|
|
68
|
+
return (
|
|
69
|
+
<html lang="en">
|
|
70
|
+
<body className="flex flex-col min-h-screen">
|
|
71
|
+
<Script
|
|
72
|
+
async
|
|
73
|
+
src="https://www.googletagmanager.com/gtag/js?id=G-XYJ8T5JK0Y"
|
|
74
|
+
></Script>
|
|
75
|
+
<Script>
|
|
76
|
+
{`
|
|
77
|
+
window.dataLayer = window.dataLayer || [];
|
|
78
|
+
function gtag(){dataLayer.push(arguments);}
|
|
79
|
+
gtag('js', new Date());
|
|
80
|
+
gtag('config', 'G-XYJ8T5JK0Y');
|
|
81
|
+
`}
|
|
82
|
+
</Script>
|
|
83
|
+
<GitHubProvider repo="codeaholicguy/ai-devkit">
|
|
84
|
+
<SkipToContent />
|
|
85
|
+
<Header />
|
|
86
|
+
<main id="main-content" className="flex-1">
|
|
87
|
+
{children}
|
|
88
|
+
</main>
|
|
89
|
+
<Footer />
|
|
90
|
+
<Script
|
|
91
|
+
id="structured-data"
|
|
92
|
+
type="application/ld+json"
|
|
93
|
+
dangerouslySetInnerHTML={{
|
|
94
|
+
__html: JSON.stringify({
|
|
95
|
+
"@context": "https://schema.org",
|
|
96
|
+
"@type": "website",
|
|
97
|
+
name: "AI DevKit",
|
|
98
|
+
url: siteUrl,
|
|
99
|
+
}),
|
|
100
|
+
}}
|
|
101
|
+
/>
|
|
102
|
+
</GitHubProvider>
|
|
103
|
+
</body>
|
|
104
|
+
</html>
|
|
105
|
+
);
|
|
106
|
+
}
|
package/web/app/page.tsx
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import Link from "next/link";
|
|
2
|
+
import GitHubButton from "@/components/GitHubButton";
|
|
3
|
+
|
|
4
|
+
export default function Home() {
|
|
5
|
+
return (
|
|
6
|
+
<div className="bg-white">
|
|
7
|
+
<section className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8 py-20 md:py-32">
|
|
8
|
+
<div className="text-center">
|
|
9
|
+
<h1 className="text-4xl md:text-6xl font-bold mb-6">
|
|
10
|
+
Structured AI-Assisted
|
|
11
|
+
<br />
|
|
12
|
+
Development
|
|
13
|
+
</h1>
|
|
14
|
+
<p className="text-xl md:text-2xl text-gray-600 mb-8 max-w-3xl mx-auto">
|
|
15
|
+
A CLI toolkit that brings structure to AI-assisted software development with phase templates,
|
|
16
|
+
systematic planning, and comprehensive documentation workflows.
|
|
17
|
+
</p>
|
|
18
|
+
<div className="flex flex-col sm:flex-row gap-4 justify-center items-center">
|
|
19
|
+
<Link
|
|
20
|
+
href="/docs"
|
|
21
|
+
className="px-8 py-3 bg-black text-white rounded-lg font-medium hover:bg-gray-800 transition-colors no-underline"
|
|
22
|
+
>
|
|
23
|
+
Get Started
|
|
24
|
+
</Link>
|
|
25
|
+
<GitHubButton repo="codeaholicguy/ai-devkit" />
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</section>
|
|
29
|
+
|
|
30
|
+
<section className="bg-gray-50 py-20">
|
|
31
|
+
<div className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
|
32
|
+
<h2 className="text-3xl md:text-4xl font-bold text-center mb-12">
|
|
33
|
+
Why AI DevKit?
|
|
34
|
+
</h2>
|
|
35
|
+
<div className="grid md:grid-cols-3 gap-8">
|
|
36
|
+
<div className="bg-white p-8 rounded-lg border border-gray-200">
|
|
37
|
+
<h3 className="text-xl font-bold mb-3">Documentation-First</h3>
|
|
38
|
+
<p className="text-gray-600 leading-relaxed">
|
|
39
|
+
Start with clear requirements, design decisions, and implementation plans.
|
|
40
|
+
Keep your project knowledge organized and accessible.
|
|
41
|
+
</p>
|
|
42
|
+
</div>
|
|
43
|
+
<div className="bg-white p-8 rounded-lg border border-gray-200">
|
|
44
|
+
<h3 className="text-xl font-bold mb-3">Phase-Based Workflow</h3>
|
|
45
|
+
<p className="text-gray-600 leading-relaxed">
|
|
46
|
+
Move systematically through requirements, design, planning, implementation,
|
|
47
|
+
and testing. No step gets skipped.
|
|
48
|
+
</p>
|
|
49
|
+
</div>
|
|
50
|
+
<div className="bg-white p-8 rounded-lg border border-gray-200">
|
|
51
|
+
<h3 className="text-xl font-bold mb-3">AI-Friendly Context</h3>
|
|
52
|
+
<p className="text-gray-600 leading-relaxed">
|
|
53
|
+
Organize project knowledge so AI assistants provide better guidance.
|
|
54
|
+
Amplify human capabilities with structured context.
|
|
55
|
+
</p>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
</section>
|
|
60
|
+
|
|
61
|
+
<section className="py-20">
|
|
62
|
+
<div className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
|
63
|
+
<div className="max-w-3xl mx-auto">
|
|
64
|
+
<h2 className="text-3xl md:text-4xl font-bold mb-8 text-center">
|
|
65
|
+
Quick Start
|
|
66
|
+
</h2>
|
|
67
|
+
<div className="bg-gray-50 p-8 rounded-lg border border-gray-200">
|
|
68
|
+
<p className="text-gray-600 mb-4">Install AI DevKit globally:</p>
|
|
69
|
+
<pre className="bg-black text-white p-4 rounded overflow-x-auto">
|
|
70
|
+
<code>npm install -g ai-devkit</code>
|
|
71
|
+
</pre>
|
|
72
|
+
<p className="text-gray-600 mt-6 mb-4">Initialize in your project:</p>
|
|
73
|
+
<pre className="bg-black text-white p-4 rounded overflow-x-auto">
|
|
74
|
+
<code>ai-devkit init</code>
|
|
75
|
+
</pre>
|
|
76
|
+
<p className="text-gray-600 mt-6">or</p>
|
|
77
|
+
<pre className="bg-black text-white p-4 rounded overflow-x-auto">
|
|
78
|
+
<code>npx ai-devkit init</code>
|
|
79
|
+
</pre>
|
|
80
|
+
<p className="text-gray-600 mt-6">
|
|
81
|
+
This creates a <code>docs/ai/</code> directory with phase templates for
|
|
82
|
+
requirements, design, planning, implementation, testing, deployment, and monitoring.
|
|
83
|
+
</p>
|
|
84
|
+
<p className="text-gray-600 mt-6">
|
|
85
|
+
In Cursor or Claude Code, type <code>/new-requirement</code> to get started.
|
|
86
|
+
</p>
|
|
87
|
+
<iframe src="https://www.youtube.com/embed/8cNFkHEVE3o?autoplay=1&mute=1&loop=1&controls=0" className="w-full h-[440px]" />
|
|
88
|
+
</div>
|
|
89
|
+
<div className="text-center mt-8">
|
|
90
|
+
<Link
|
|
91
|
+
href="/docs"
|
|
92
|
+
className="text-lg font-medium hover:opacity-70 transition-opacity"
|
|
93
|
+
>
|
|
94
|
+
Read the full documentation →
|
|
95
|
+
</Link>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</section>
|
|
100
|
+
|
|
101
|
+
<section className="bg-black text-white py-20">
|
|
102
|
+
<div className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8 text-center">
|
|
103
|
+
<h2 className="text-3xl md:text-4xl font-bold mb-6">
|
|
104
|
+
Ready to structure your development?
|
|
105
|
+
</h2>
|
|
106
|
+
<p className="text-xl text-gray-300 mb-8 max-w-2xl mx-auto">
|
|
107
|
+
Join developers who are building better software with AI assistance and structured workflows.
|
|
108
|
+
</p>
|
|
109
|
+
<Link
|
|
110
|
+
href="/docs"
|
|
111
|
+
className="inline-block px-8 py-3 bg-white text-black rounded-lg font-medium hover:bg-gray-100 transition-colors no-underline"
|
|
112
|
+
>
|
|
113
|
+
Get Started Now
|
|
114
|
+
</Link>
|
|
115
|
+
</div>
|
|
116
|
+
</section>
|
|
117
|
+
</div>
|
|
118
|
+
);
|
|
119
|
+
}
|