@guru-ai-product/ai-product-kit 0.2.251117175346 → 0.2.251117191453
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/bin/setup.js +98 -14
- package/package.json +1 -1
- package/skills/aipk_aso-new-release/GURU_AI.md +1 -1
- package/skills/aipk_development/GURU_AI.md +1 -1
- package/skills/aipk_format-requirement-pages-with-design/GURU_AI.md +1 -1
- package/skills/aipk_init_project/GURU_AI.md +2 -2
- package/skills/aipk_initiative-planning/GURU_AI.md +1 -1
- package/skills/aipk_requirements-changes/GURU_AI.md +1 -1
- package/skills/aipk_requirements-documentation/GURU_AI.md +1 -1
- package/skills/aipk_requirements-intake/GURU_AI.md +1 -1
- package/skills/aipk_skill_generate/GURU_AI.md +1 -1
- package/skills/aipk_tool_prompts/GURU_AI.md +1 -1
- package/skills/aipk_update-requirements-from-design/GURU_AI.md +1 -1
package/bin/setup.js
CHANGED
|
@@ -110,8 +110,8 @@ function ensureAgentsMd() {
|
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
const skills = collectSkillMetadata();
|
|
113
|
-
const
|
|
114
|
-
const updated =
|
|
113
|
+
const newTemplate = renderAgentsTemplateForSkills(skills);
|
|
114
|
+
const updated = mergeAgentsContent(content, newTemplate);
|
|
115
115
|
|
|
116
116
|
if (updated !== content) {
|
|
117
117
|
fs.writeFileSync(agentsPath, updated, 'utf8');
|
|
@@ -242,20 +242,104 @@ function generateSkillEntries(skills) {
|
|
|
242
242
|
.join('\n\n');
|
|
243
243
|
}
|
|
244
244
|
|
|
245
|
-
function
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
|
|
245
|
+
function mergeAgentsContent(existingContent, newTemplate) {
|
|
246
|
+
const templateParts = parseTemplate(newTemplate);
|
|
247
|
+
const existingParts = parseExistingContent(existingContent);
|
|
248
|
+
|
|
249
|
+
const parts = [];
|
|
250
|
+
|
|
251
|
+
if (existingParts.beforeProjectOverview) {
|
|
252
|
+
parts.push(existingParts.beforeProjectOverview);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
if (existingParts.projectOverview) {
|
|
256
|
+
parts.push(existingParts.projectOverview);
|
|
257
|
+
} else if (templateParts.projectOverview) {
|
|
258
|
+
parts.push(templateParts.projectOverview);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
if (templateParts.conventions) {
|
|
262
|
+
parts.push(templateParts.conventions);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
if (templateParts.skillsBundleAccess) {
|
|
266
|
+
parts.push(templateParts.skillsBundleAccess);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
if (templateParts.skillsSystem) {
|
|
270
|
+
parts.push(templateParts.skillsSystem);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (templateParts.ruleComment) {
|
|
274
|
+
parts.push(templateParts.ruleComment);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
if (existingParts.afterRuleComment) {
|
|
278
|
+
parts.push(existingParts.afterRuleComment);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
return parts.join('\n\n').trim() + '\n';
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
function parseTemplate(template) {
|
|
285
|
+
const parts = {};
|
|
286
|
+
|
|
287
|
+
const projectOverviewMatch = template.match(/# Project Overview\s*\n([\s\S]*?)(?=\n## Conventions|<skills_system|$)/);
|
|
288
|
+
if (projectOverviewMatch) {
|
|
289
|
+
parts.projectOverview = `# Project Overview\n${projectOverviewMatch[1].trim()}`;
|
|
249
290
|
}
|
|
250
291
|
|
|
251
|
-
const
|
|
252
|
-
if (
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
292
|
+
const conventionsMatch = template.match(/## Conventions\s*\n([\s\S]*?)(?=\n## Skills Bundle Access|<skills_system|$)/);
|
|
293
|
+
if (conventionsMatch) {
|
|
294
|
+
parts.conventions = `## Conventions\n${conventionsMatch[1].trim()}`;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
const skillsBundleAccessMatch = template.match(/## Skills Bundle Access\s*\n([\s\S]*?)(?=<skills_system|$)/);
|
|
298
|
+
if (skillsBundleAccessMatch) {
|
|
299
|
+
parts.skillsBundleAccess = `## Skills Bundle Access\n${skillsBundleAccessMatch[1].trim()}`;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
const skillsSystemMatch = template.match(/<skills_system[\s\S]*?<\/skills_system>/);
|
|
303
|
+
if (skillsSystemMatch) {
|
|
304
|
+
parts.skillsSystem = skillsSystemMatch[0];
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
const ruleCommentMatch = template.match(/<!-- rule:[\s\S]*?-->/);
|
|
308
|
+
if (ruleCommentMatch) {
|
|
309
|
+
parts.ruleComment = ruleCommentMatch[0];
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
return parts;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
function parseExistingContent(content) {
|
|
316
|
+
const parts = {};
|
|
317
|
+
|
|
318
|
+
const projectOverviewStart = content.search(/# Project Overview/);
|
|
319
|
+
if (projectOverviewStart === -1) {
|
|
320
|
+
const beforeConventions = content.split(/## Conventions|<skills_system/)[0].trim();
|
|
321
|
+
if (beforeConventions) {
|
|
322
|
+
parts.beforeProjectOverview = beforeConventions;
|
|
323
|
+
}
|
|
324
|
+
return parts;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
if (projectOverviewStart > 0) {
|
|
328
|
+
parts.beforeProjectOverview = content.substring(0, projectOverviewStart).trim();
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
const projectOverviewMatch = content.substring(projectOverviewStart).match(/# Project Overview\s*\n([\s\S]*?)(?=\n## Conventions|<skills_system|$)/);
|
|
332
|
+
if (projectOverviewMatch) {
|
|
333
|
+
parts.projectOverview = `# Project Overview\n${projectOverviewMatch[1].trim()}`;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
const ruleCommentMatch = content.match(/<!-- rule:[\s\S]*?-->/);
|
|
337
|
+
if (ruleCommentMatch) {
|
|
338
|
+
const afterRuleComment = content.substring(content.indexOf(ruleCommentMatch[0]) + ruleCommentMatch[0].length).trim();
|
|
339
|
+
if (afterRuleComment) {
|
|
340
|
+
parts.afterRuleComment = afterRuleComment;
|
|
341
|
+
}
|
|
258
342
|
}
|
|
259
343
|
|
|
260
|
-
return
|
|
344
|
+
return parts;
|
|
261
345
|
}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# GURU AI Snapshot
|
|
2
2
|
|
|
3
|
-
Last refreshed: 2025-11-
|
|
3
|
+
Last refreshed: 2025-11-17T11:14:53.954Z
|
|
4
4
|
|
|
5
5
|
| File | Last Modified (UTC) |
|
|
6
6
|
| --- | --- |
|
|
7
7
|
| `scripts/check_agents.sh` | 2025-11-13T09:03:47.702Z |
|
|
8
8
|
| `skill.ini` | 2025-11-13T09:47:02.793Z |
|
|
9
9
|
| `SKILL.md` | 2025-11-13T10:06:33.764Z |
|
|
10
|
-
| `template/AGENTS_TEMPLATE.md` | 2025-11-
|
|
10
|
+
| `template/AGENTS_TEMPLATE.md` | 2025-11-17T11:14:53.842Z |
|