ai-project-boilerplate 1.3.1 → 1.3.3

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.
@@ -0,0 +1,26 @@
1
+ # Migration Guidance for Existing AI Project
2
+
3
+ Your existing project has been detected.
4
+
5
+ To integrate with the AI Project Boilerplate and refine your project for AI collaboration:
6
+
7
+ 1. **Review AI_INSTRUCTIONS.md**: Copy or adapt the AI_INSTRUCTIONS.md from the boilerplate to your project root. This file serves as the AI router and source of truth for project guidelines, ensuring consistent AI interactions.
8
+
9
+ 2. **Add CLAUDE.md**: Include CLAUDE.md for Claude Code entry points, defining how AI tools interact with your codebase.
10
+
11
+ 3. **Set Up docs/ Folder**: Ensure a `docs/` folder exists with at least:
12
+ - planning.md (project goals and roadmap)
13
+ - architecture.md (system design)
14
+ - testing.md (testing strategies)
15
+ - deployment.md (deployment processes)
16
+ Copy or adapt these from the boilerplate if needed.
17
+
18
+ 4. **Update CHANGELOG.md**: Maintain a changelog for version history and AI-driven changes.
19
+
20
+ 5. **Enhance README.md**: Update your README.md to reference AI_INSTRUCTIONS.md and include project setup for AI collaboration.
21
+
22
+ 6. **Add .ai-stage File (Optional)**: Create a `.ai-stage` file in the project root with initial content `PLANNING` to track the current development stage (e.g., PLANNING, DEVELOPMENT, TESTING, DEPLOYMENT).
23
+
24
+ 7. **Next Steps**: Fill in or update docs/planning.md. Consider integrating AI tools for code reviews and refinements.
25
+
26
+ For more details, refer to the AI Project Boilerplate documentation.
package/bin/cli.js CHANGED
@@ -110,24 +110,37 @@ async function checkForUpdate() {
110
110
  const bold = (s) => `\x1b[1m${s}\x1b[0m`;
111
111
  const dim = (s) => `\x1b[2m${s}\x1b[0m`;
112
112
 
113
- const tag = bold(yellow("UPDATE AVAILABLE"));
114
- const from = dim(CURRENT_VERSION);
115
- const arrow = "";
116
- const to = bold(cyan(latest));
117
- const cmd = bold(cyan("npm install -g ai-project-boilerplate"));
118
- const url = cyan(`https://github.com/${REPO}/releases/tag/v${latest}`);
119
- const line1 = ` ${tag} ${from} ${arrow} ${to}`;
120
- const line2 = ` Run ${cmd} to update`;
121
- const line3 = ` See what's changed: ${url}`;
122
-
123
- const strip = (s) => s.replace(/\x1b\[[0-9;]*m/g, "");
124
- const width = Math.max(strip(line1).length, strip(line2).length, strip(line3).length) + 2;
125
- const border = yellow("─".repeat(width));
113
+ const strip = (s) => s.replace(/\x1b\[[0-9;]*m/g, "");
114
+
115
+ const isPnpm = __filename.includes("pnpm");
116
+ const prefs = loadPrefs();
117
+
118
+ const updateCmd = (isPnpm || !prefs.suppressPnpmWarning)
119
+ ? bold(cyan("pnpm add -g ai-project-boilerplate"))
120
+ : bold(cyan("npm install -g ai-project-boilerplate"));
121
+
122
+ const tag = bold(yellow("UPDATE AVAILABLE"));
123
+ const from = dim(CURRENT_VERSION);
124
+ const to = bold(cyan(latest));
125
+ const url = cyan(`https://github.com/${REPO}/releases/tag/v${latest}`);
126
+
127
+ const lines = [
128
+ ` ${tag} ${from} → ${to}`,
129
+ ` Run ${updateCmd} to update`,
130
+ ` See what's changed: ${url}`,
131
+ ];
132
+
133
+ if (!isPnpm && !prefs.suppressPnpmWarning) {
134
+ lines.push(` To suppress pnpm suggestion: ${bold(cyan("ai-project --no-pnpm-warning"))}`);
135
+ }
136
+
137
+ const width = Math.max(...lines.map(l => strip(l).length)) + 2;
138
+ const border = yellow("─".repeat(width));
126
139
 
127
140
  console.error(`\n${yellow("┌")}${border}${yellow("┐")}`);
128
- console.error(`${yellow("│")} ${line1.padEnd(line1.length + width - strip(line1).length - 1)}${yellow("│")}`);
129
- console.error(`${yellow("│")} ${line2.padEnd(line2.length + width - strip(line2).length - 1)}${yellow("│")}`);
130
- console.error(`${yellow("│")} ${line3.padEnd(line3.length + width - strip(line3).length - 1)}${yellow("│")}`);
141
+ for (const line of lines) {
142
+ console.error(`${yellow("│")} ${line.padEnd(line.length + width - strip(line).length - 1)}${yellow("│")}`);
143
+ }
131
144
  console.error(`${yellow("└")}${border}${yellow("┘")}\n`);
132
145
  return true;
133
146
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-project-boilerplate",
3
- "version": "1.3.1",
3
+ "version": "1.3.3",
4
4
  "description": "CLI to scaffold AI-collaborated projects with stage-based AI instruction files",
5
5
  "bin": {
6
6
  "ai-project": "bin/cli.js"
@@ -11,7 +11,8 @@
11
11
  "files": [
12
12
  "bin",
13
13
  "template",
14
- "scripts/preuninstall.js"
14
+ "scripts/preuninstall.js",
15
+ ".ai-project-refining-template"
15
16
  ],
16
17
  "keywords": [
17
18
  "ai",