@mytechtoday/augment-extensions 0.4.0 → 0.5.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.
Files changed (190) hide show
  1. package/README.md +6 -6
  2. package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/README.md +23 -0
  3. package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/module.json +26 -0
  4. package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/README.md +23 -0
  5. package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/module.json +26 -0
  6. package/augment-extensions/domain-rules/design/color/themes/dracula/README.md +23 -0
  7. package/augment-extensions/domain-rules/design/color/themes/dracula/module.json +26 -0
  8. package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/README.md +23 -0
  9. package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/module.json +26 -0
  10. package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/README.md +23 -0
  11. package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/module.json +26 -0
  12. package/augment-extensions/domain-rules/design/color/themes/high-contrast/README.md +27 -0
  13. package/augment-extensions/domain-rules/design/color/themes/high-contrast/module.json +26 -0
  14. package/augment-extensions/domain-rules/design/color/themes/monokai/README.md +23 -0
  15. package/augment-extensions/domain-rules/design/color/themes/monokai/module.json +26 -0
  16. package/augment-extensions/domain-rules/design/color/themes/nord/README.md +23 -0
  17. package/augment-extensions/domain-rules/design/color/themes/nord/module.json +26 -0
  18. package/augment-extensions/domain-rules/design/color/themes/one-dark/README.md +23 -0
  19. package/augment-extensions/domain-rules/design/color/themes/one-dark/module.json +26 -0
  20. package/augment-extensions/domain-rules/design/color/themes/one-light/README.md +23 -0
  21. package/augment-extensions/domain-rules/design/color/themes/one-light/module.json +26 -0
  22. package/augment-extensions/domain-rules/design/color/themes/solarized-dark/README.md +23 -0
  23. package/augment-extensions/domain-rules/design/color/themes/solarized-dark/module.json +26 -0
  24. package/augment-extensions/domain-rules/design/color/themes/solarized-light/README.md +23 -0
  25. package/augment-extensions/domain-rules/design/color/themes/solarized-light/module.json +26 -0
  26. package/augment-extensions/domain-rules/design/color/themes/tokyo-night/README.md +23 -0
  27. package/augment-extensions/domain-rules/design/color/themes/tokyo-night/module.json +26 -0
  28. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/README.md +136 -0
  29. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/SCHEMA-VALIDATION-REPORT.md +216 -0
  30. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/brand-kit-example.yaml +292 -0
  31. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/campaign-brief-example.yaml +389 -0
  32. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/content-calendar-example.yaml +643 -0
  33. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/email-newsletter-example.md +376 -0
  34. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/landing-page-example.md +934 -0
  35. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/ppc-ad-copy-example.md +301 -0
  36. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/seo-blog-post-example.md +347 -0
  37. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/social-media-campaign-example.md +606 -0
  38. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/module.json +50 -0
  39. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/affiliate-influencer-marketing.md +593 -0
  40. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/asset-management.md +418 -0
  41. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/brand-consistency.md +210 -0
  42. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/content-marketing.md +337 -0
  43. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/conversion-optimization.md +455 -0
  44. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/direct-sales.md +499 -0
  45. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/email-marketing.md +439 -0
  46. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/legal-compliance.md +227 -0
  47. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/ppc-advertising.md +569 -0
  48. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/seo-optimization.md +470 -0
  49. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/social-media-marketing.md +414 -0
  50. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/universal-marketing.md +177 -0
  51. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/asset-inventory.schema.json +247 -0
  52. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/brand-kit.schema.json +326 -0
  53. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/campaign-brief.schema.json +342 -0
  54. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/color-palette.schema.json +223 -0
  55. package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/content-template.schema.json +383 -0
  56. package/augment-extensions/workflows/beads-integration/IMPLEMENTATION-STATUS.md +145 -0
  57. package/augment-extensions/workflows/beads-integration/README.md +143 -0
  58. package/augment-extensions/workflows/beads-integration/config/defaults.json +32 -0
  59. package/augment-extensions/workflows/beads-integration/config/schema.json +140 -0
  60. package/augment-extensions/workflows/beads-integration/examples/basic-task-generation.md +293 -0
  61. package/augment-extensions/workflows/beads-integration/module.json +75 -0
  62. package/augment-extensions/workflows/beads-integration/rules/core-rules.md +219 -0
  63. package/augment-extensions/workflows/beads-integration/rules/effectiveness-standards.md +256 -0
  64. package/augment-extensions/workflows/beads-integration/rules/task-generation.md +607 -0
  65. package/augment-extensions/writing-standards/screenplay/README.md +135 -6
  66. package/augment-extensions/writing-standards/screenplay/_templates/README.md +121 -0
  67. package/augment-extensions/writing-standards/screenplay/_templates/genre-template.md +153 -0
  68. package/augment-extensions/writing-standards/screenplay/_templates/style-template.md +243 -0
  69. package/augment-extensions/writing-standards/screenplay/_templates/theme-template.md +213 -0
  70. package/augment-extensions/writing-standards/screenplay/examples/beat-sheet-example.yaml +95 -0
  71. package/augment-extensions/writing-standards/screenplay/examples/character-profile-example.yaml +116 -0
  72. package/augment-extensions/writing-standards/screenplay/examples/commercial-30sec.fountain +151 -0
  73. package/augment-extensions/writing-standards/screenplay/examples/independent-monologue.fountain +67 -0
  74. package/augment-extensions/writing-standards/screenplay/examples/news-segment.fountain +142 -0
  75. package/augment-extensions/writing-standards/screenplay/examples/plot-outline-example.yaml +184 -0
  76. package/augment-extensions/writing-standards/screenplay/examples/tv-episode-teaser.fountain +204 -0
  77. package/augment-extensions/writing-standards/screenplay/genres/README.md +181 -0
  78. package/augment-extensions/writing-standards/screenplay/genres/examples/.gitkeep +2 -0
  79. package/augment-extensions/writing-standards/screenplay/genres/module.json +70 -0
  80. package/augment-extensions/writing-standards/screenplay/genres/rules/.gitkeep +2 -0
  81. package/augment-extensions/writing-standards/screenplay/genres/rules/action.md +399 -0
  82. package/augment-extensions/writing-standards/screenplay/genres/rules/adventure.md +407 -0
  83. package/augment-extensions/writing-standards/screenplay/genres/rules/animation.md +293 -0
  84. package/augment-extensions/writing-standards/screenplay/genres/rules/biographical.md +293 -0
  85. package/augment-extensions/writing-standards/screenplay/genres/rules/comedy.md +401 -0
  86. package/augment-extensions/writing-standards/screenplay/genres/rules/documentary.md +293 -0
  87. package/augment-extensions/writing-standards/screenplay/genres/rules/drama.md +409 -0
  88. package/augment-extensions/writing-standards/screenplay/genres/rules/fantasy.md +293 -0
  89. package/augment-extensions/writing-standards/screenplay/genres/rules/historical.md +293 -0
  90. package/augment-extensions/writing-standards/screenplay/genres/rules/horror.md +268 -0
  91. package/augment-extensions/writing-standards/screenplay/genres/rules/musical.md +294 -0
  92. package/augment-extensions/writing-standards/screenplay/genres/rules/mystery.md +293 -0
  93. package/augment-extensions/writing-standards/screenplay/genres/rules/noir.md +294 -0
  94. package/augment-extensions/writing-standards/screenplay/genres/rules/romance.md +293 -0
  95. package/augment-extensions/writing-standards/screenplay/genres/rules/sci-fi.md +289 -0
  96. package/augment-extensions/writing-standards/screenplay/genres/rules/superhero.md +293 -0
  97. package/augment-extensions/writing-standards/screenplay/genres/rules/thriller.md +294 -0
  98. package/augment-extensions/writing-standards/screenplay/genres/rules/western.md +293 -0
  99. package/augment-extensions/writing-standards/screenplay/module.json +1 -1
  100. package/augment-extensions/writing-standards/screenplay/rules/aaa-hollywood-films.md +339 -0
  101. package/augment-extensions/writing-standards/screenplay/rules/ai-integration-testing.md +329 -0
  102. package/augment-extensions/writing-standards/screenplay/rules/character-development.md +169 -0
  103. package/augment-extensions/writing-standards/screenplay/rules/commercials.md +437 -0
  104. package/augment-extensions/writing-standards/screenplay/rules/dialogue-writing.md +263 -0
  105. package/augment-extensions/writing-standards/screenplay/rules/diversity-inclusion.md +261 -0
  106. package/augment-extensions/writing-standards/screenplay/rules/examples-guide.md +315 -0
  107. package/augment-extensions/writing-standards/screenplay/rules/formatting-validation.md +413 -0
  108. package/augment-extensions/writing-standards/screenplay/rules/fountain-format.md +372 -0
  109. package/augment-extensions/writing-standards/screenplay/rules/independent-films.md +374 -0
  110. package/augment-extensions/writing-standards/screenplay/rules/live-tv-productions.md +443 -0
  111. package/augment-extensions/writing-standards/screenplay/rules/narrative-structures.md +207 -0
  112. package/augment-extensions/writing-standards/screenplay/rules/news-broadcasts.md +444 -0
  113. package/augment-extensions/writing-standards/screenplay/rules/pacing-timing.md +331 -0
  114. package/augment-extensions/writing-standards/screenplay/rules/quality-review-checklist.md +334 -0
  115. package/augment-extensions/writing-standards/screenplay/rules/quick-reference.md +299 -0
  116. package/augment-extensions/writing-standards/screenplay/rules/screen-continuity.md +263 -0
  117. package/augment-extensions/writing-standards/screenplay/rules/streaming-content.md +412 -0
  118. package/augment-extensions/writing-standards/screenplay/rules/trope-management.md +370 -0
  119. package/augment-extensions/writing-standards/screenplay/rules/tv-series.md +374 -0
  120. package/augment-extensions/writing-standards/screenplay/rules/vscode-integration.md +277 -0
  121. package/augment-extensions/writing-standards/screenplay/rules/web-content.md +393 -0
  122. package/augment-extensions/writing-standards/screenplay/schemas/beat-sheet.json +332 -0
  123. package/augment-extensions/writing-standards/screenplay/schemas/character-profile.json +247 -0
  124. package/augment-extensions/writing-standards/screenplay/schemas/feature-selection.json +200 -0
  125. package/augment-extensions/writing-standards/screenplay/schemas/plot-outline.json +233 -0
  126. package/augment-extensions/writing-standards/screenplay/schemas/screenplay-config.json +245 -0
  127. package/augment-extensions/writing-standards/screenplay/schemas/trope-inventory.json +221 -0
  128. package/augment-extensions/writing-standards/screenplay/styles/README.md +159 -0
  129. package/augment-extensions/writing-standards/screenplay/styles/examples/.gitkeep +2 -0
  130. package/augment-extensions/writing-standards/screenplay/styles/examples/style-applications.md +1449 -0
  131. package/augment-extensions/writing-standards/screenplay/styles/module.json +64 -0
  132. package/augment-extensions/writing-standards/screenplay/styles/rules/.gitkeep +2 -0
  133. package/augment-extensions/writing-standards/screenplay/styles/rules/dialogue-centric.md +520 -0
  134. package/augment-extensions/writing-standards/screenplay/styles/rules/ensemble.md +499 -0
  135. package/augment-extensions/writing-standards/screenplay/styles/rules/epic.md +497 -0
  136. package/augment-extensions/writing-standards/screenplay/styles/rules/experimental.md +492 -0
  137. package/augment-extensions/writing-standards/screenplay/styles/rules/flashback.md +509 -0
  138. package/augment-extensions/writing-standards/screenplay/styles/rules/linear.md +490 -0
  139. package/augment-extensions/writing-standards/screenplay/styles/rules/minimalist.md +499 -0
  140. package/augment-extensions/writing-standards/screenplay/styles/rules/non-linear.md +501 -0
  141. package/augment-extensions/writing-standards/screenplay/styles/rules/poetic.md +499 -0
  142. package/augment-extensions/writing-standards/screenplay/styles/rules/realistic.md +498 -0
  143. package/augment-extensions/writing-standards/screenplay/styles/rules/satirical.md +499 -0
  144. package/augment-extensions/writing-standards/screenplay/styles/rules/surreal.md +508 -0
  145. package/augment-extensions/writing-standards/screenplay/styles/rules/voice-over.md +500 -0
  146. package/augment-extensions/writing-standards/screenplay/themes/README.md +158 -0
  147. package/augment-extensions/writing-standards/screenplay/themes/examples/.gitkeep +2 -0
  148. package/augment-extensions/writing-standards/screenplay/themes/examples/common-mistakes-and-fixes.md +643 -0
  149. package/augment-extensions/writing-standards/screenplay/themes/examples/complete-scene-example.md +311 -0
  150. package/augment-extensions/writing-standards/screenplay/themes/examples/individual-theme-examples.md +562 -0
  151. package/augment-extensions/writing-standards/screenplay/themes/examples/multi-theme-weaving.md +538 -0
  152. package/augment-extensions/writing-standards/screenplay/themes/examples/theme-application-guide.md +432 -0
  153. package/augment-extensions/writing-standards/screenplay/themes/examples/theme-integration-across-acts.md +637 -0
  154. package/augment-extensions/writing-standards/screenplay/themes/module.json +66 -0
  155. package/augment-extensions/writing-standards/screenplay/themes/rules/.gitkeep +2 -0
  156. package/augment-extensions/writing-standards/screenplay/themes/rules/ambition.md +458 -0
  157. package/augment-extensions/writing-standards/screenplay/themes/rules/betrayal.md +490 -0
  158. package/augment-extensions/writing-standards/screenplay/themes/rules/environment.md +458 -0
  159. package/augment-extensions/writing-standards/screenplay/themes/rules/fate.md +459 -0
  160. package/augment-extensions/writing-standards/screenplay/themes/rules/friendship.md +491 -0
  161. package/augment-extensions/writing-standards/screenplay/themes/rules/growth.md +491 -0
  162. package/augment-extensions/writing-standards/screenplay/themes/rules/identity.md +490 -0
  163. package/augment-extensions/writing-standards/screenplay/themes/rules/isolation.md +464 -0
  164. package/augment-extensions/writing-standards/screenplay/themes/rules/justice.md +461 -0
  165. package/augment-extensions/writing-standards/screenplay/themes/rules/love.md +489 -0
  166. package/augment-extensions/writing-standards/screenplay/themes/rules/power.md +494 -0
  167. package/augment-extensions/writing-standards/screenplay/themes/rules/redemption.md +483 -0
  168. package/augment-extensions/writing-standards/screenplay/themes/rules/revenge.md +489 -0
  169. package/augment-extensions/writing-standards/screenplay/themes/rules/survival.md +496 -0
  170. package/augment-extensions/writing-standards/screenplay/themes/rules/technology.md +463 -0
  171. package/cli/dist/cli.js +26 -1
  172. package/cli/dist/cli.js.map +1 -1
  173. package/cli/dist/commands/show.d.ts +19 -0
  174. package/cli/dist/commands/show.d.ts.map +1 -1
  175. package/cli/dist/commands/show.js +495 -10
  176. package/cli/dist/commands/show.js.map +1 -1
  177. package/cli/dist/types/gui.d.ts +62 -0
  178. package/cli/dist/types/gui.d.ts.map +1 -0
  179. package/cli/dist/types/gui.js +30 -0
  180. package/cli/dist/types/gui.js.map +1 -0
  181. package/cli/dist/utils/gui-helpers.d.ts +23 -0
  182. package/cli/dist/utils/gui-helpers.d.ts.map +1 -0
  183. package/cli/dist/utils/gui-helpers.js +159 -0
  184. package/cli/dist/utils/gui-helpers.js.map +1 -0
  185. package/cli/dist/utils/module-system.d.ts +80 -1
  186. package/cli/dist/utils/module-system.d.ts.map +1 -1
  187. package/cli/dist/utils/module-system.js +388 -16
  188. package/cli/dist/utils/module-system.js.map +1 -1
  189. package/modules.md +44 -2
  190. package/package.json +6 -4
@@ -40,9 +40,17 @@ exports.parseSemanticVersion = parseSemanticVersion;
40
40
  exports.compareSemanticVersions = compareSemanticVersions;
41
41
  exports.satisfiesVersionRange = satisfiesVersionRange;
42
42
  exports.loadModule = loadModule;
43
+ exports.extractModuleMetadata = extractModuleMetadata;
44
+ exports.generateDefaultMetadata = generateDefaultMetadata;
45
+ exports.listModuleFiles = listModuleFiles;
46
+ exports.groupFilesByDirectory = groupFilesByDirectory;
47
+ exports.getFileStatistics = getFileStatistics;
43
48
  exports.discoverModules = discoverModules;
44
49
  exports.discoverCollections = discoverCollections;
45
50
  exports.findModule = findModule;
51
+ exports.searchModules = searchModules;
52
+ exports.findModuleEnhanced = findModuleEnhanced;
53
+ exports.getModuleSuggestions = getModuleSuggestions;
46
54
  exports.findCollection = findCollection;
47
55
  exports.resolveCollection = resolveCollection;
48
56
  exports.resolveCollectionByName = resolveCollectionByName;
@@ -78,7 +86,7 @@ function validateModuleMetadata(metadata) {
78
86
  if (!metadata.type)
79
87
  errors.push('Missing required field: type');
80
88
  // Validate type
81
- const validTypes = ['coding-standards', 'domain-rules', 'workflows', 'examples'];
89
+ const validTypes = ['coding-standards', 'domain-rules', 'workflows', 'examples', 'marketing-standards', 'writing-standards', 'themes'];
82
90
  if (metadata.type && !validTypes.includes(metadata.type)) {
83
91
  errors.push(`Invalid type: ${metadata.type}. Must be one of: ${validTypes.join(', ')}`);
84
92
  }
@@ -252,6 +260,301 @@ function loadModule(modulePath) {
252
260
  return null;
253
261
  }
254
262
  }
263
+ /**
264
+ * Extract comprehensive metadata from a module
265
+ * Includes file counts, sizes, and last modified dates
266
+ */
267
+ function extractModuleMetadata(modulePath) {
268
+ const moduleJsonPath = path.join(modulePath, 'module.json');
269
+ // Try to load module.json
270
+ let metadata;
271
+ if (fs.existsSync(moduleJsonPath)) {
272
+ try {
273
+ metadata = JSON.parse(fs.readFileSync(moduleJsonPath, 'utf-8'));
274
+ }
275
+ catch (error) {
276
+ // Invalid JSON - generate default metadata
277
+ metadata = generateDefaultMetadata(modulePath);
278
+ }
279
+ }
280
+ else {
281
+ // Missing module.json - generate default metadata
282
+ metadata = generateDefaultMetadata(modulePath);
283
+ }
284
+ // Collect file statistics
285
+ const fileStats = collectFileStatistics(modulePath);
286
+ const sizeStats = calculateSizeStatistics(modulePath);
287
+ const lastModified = getLastModifiedDate(modulePath);
288
+ return {
289
+ ...metadata,
290
+ files: fileStats,
291
+ size: sizeStats,
292
+ lastModified
293
+ };
294
+ }
295
+ /**
296
+ * Generate default metadata for modules without module.json
297
+ */
298
+ function generateDefaultMetadata(modulePath) {
299
+ const modulesDir = getModulesDir();
300
+ const relativePath = path.relative(modulesDir, modulePath);
301
+ const parts = relativePath.split(path.sep);
302
+ const category = parts[0];
303
+ const moduleName = parts[parts.length - 1];
304
+ return {
305
+ name: moduleName,
306
+ version: '0.0.0',
307
+ displayName: moduleName.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' '),
308
+ description: `Module: ${moduleName}`,
309
+ type: ['coding-standards', 'domain-rules', 'workflows', 'examples', 'marketing-standards', 'writing-standards', 'themes'].includes(category)
310
+ ? category
311
+ : 'examples',
312
+ augment: {
313
+ characterCount: 0,
314
+ priority: 'medium',
315
+ category: category
316
+ }
317
+ };
318
+ }
319
+ /**
320
+ * Collect file statistics for a module
321
+ */
322
+ function collectFileStatistics(modulePath) {
323
+ let total = 0;
324
+ let rules = 0;
325
+ let examples = 0;
326
+ let other = 0;
327
+ function countFiles(dir, isRulesDir = false, isExamplesDir = false) {
328
+ if (!fs.existsSync(dir))
329
+ return;
330
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
331
+ for (const entry of entries) {
332
+ const fullPath = path.join(dir, entry.name);
333
+ if (entry.isDirectory()) {
334
+ const isRules = entry.name === 'rules';
335
+ const isExamples = entry.name === 'examples';
336
+ countFiles(fullPath, isRules, isExamples);
337
+ }
338
+ else if (entry.isFile()) {
339
+ total++;
340
+ if (isRulesDir) {
341
+ rules++;
342
+ }
343
+ else if (isExamplesDir) {
344
+ examples++;
345
+ }
346
+ else {
347
+ other++;
348
+ }
349
+ }
350
+ }
351
+ }
352
+ countFiles(modulePath);
353
+ return { total, rules, examples, other };
354
+ }
355
+ /**
356
+ * Calculate size statistics for a module
357
+ */
358
+ function calculateSizeStatistics(modulePath) {
359
+ let totalBytes = 0;
360
+ let totalCharacters = 0;
361
+ function calculateSize(dir) {
362
+ if (!fs.existsSync(dir))
363
+ return;
364
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
365
+ for (const entry of entries) {
366
+ const fullPath = path.join(dir, entry.name);
367
+ if (entry.isDirectory()) {
368
+ calculateSize(fullPath);
369
+ }
370
+ else if (entry.isFile()) {
371
+ const stats = fs.statSync(fullPath);
372
+ totalBytes += stats.size;
373
+ // Count characters for text files
374
+ if (entry.name.endsWith('.md') || entry.name.endsWith('.json') || entry.name.endsWith('.txt')) {
375
+ try {
376
+ const content = fs.readFileSync(fullPath, 'utf-8');
377
+ totalCharacters += content.length;
378
+ }
379
+ catch (error) {
380
+ // Skip binary files
381
+ }
382
+ }
383
+ }
384
+ }
385
+ }
386
+ calculateSize(modulePath);
387
+ return { totalBytes, totalCharacters };
388
+ }
389
+ /**
390
+ * Get the last modified date of a module (most recent file modification)
391
+ */
392
+ function getLastModifiedDate(modulePath) {
393
+ let latestDate = new Date(0); // Epoch
394
+ function findLatestDate(dir) {
395
+ if (!fs.existsSync(dir))
396
+ return;
397
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
398
+ for (const entry of entries) {
399
+ const fullPath = path.join(dir, entry.name);
400
+ if (entry.isDirectory()) {
401
+ findLatestDate(fullPath);
402
+ }
403
+ else if (entry.isFile()) {
404
+ const stats = fs.statSync(fullPath);
405
+ if (stats.mtime > latestDate) {
406
+ latestDate = stats.mtime;
407
+ }
408
+ }
409
+ }
410
+ }
411
+ findLatestDate(modulePath);
412
+ return latestDate;
413
+ }
414
+ /**
415
+ * List all files in a module with metadata
416
+ */
417
+ function listModuleFiles(modulePath, options = {}) {
418
+ const { recursive = true, filter, groupByDirectory = false } = options;
419
+ const files = [];
420
+ function scanDirectory(dir, baseDir = modulePath) {
421
+ if (!fs.existsSync(dir))
422
+ return;
423
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
424
+ for (const entry of entries) {
425
+ const fullPath = path.join(dir, entry.name);
426
+ const relativePath = path.relative(baseDir, fullPath);
427
+ if (entry.isDirectory()) {
428
+ if (recursive) {
429
+ scanDirectory(fullPath, baseDir);
430
+ }
431
+ }
432
+ else if (entry.isFile()) {
433
+ // Apply filter if specified
434
+ if (filter && !matchesFilter(entry.name, filter)) {
435
+ continue;
436
+ }
437
+ const stats = fs.statSync(fullPath);
438
+ const extension = path.extname(entry.name);
439
+ const directory = path.dirname(relativePath);
440
+ // Determine file type
441
+ let fileType = 'other';
442
+ if (directory.includes('rules')) {
443
+ fileType = 'rule';
444
+ }
445
+ else if (directory.includes('examples')) {
446
+ fileType = 'example';
447
+ }
448
+ else if (entry.name === 'module.json' || entry.name === 'collection.json') {
449
+ fileType = 'config';
450
+ }
451
+ else if (entry.name === 'README.md' || extension === '.md') {
452
+ fileType = 'documentation';
453
+ }
454
+ files.push({
455
+ name: entry.name,
456
+ path: fullPath,
457
+ relativePath,
458
+ size: stats.size,
459
+ modified: stats.mtime,
460
+ type: fileType,
461
+ extension,
462
+ directory
463
+ });
464
+ }
465
+ }
466
+ }
467
+ scanDirectory(modulePath);
468
+ // Sort files
469
+ if (groupByDirectory) {
470
+ files.sort((a, b) => {
471
+ // Sort by directory first, then by name
472
+ if (a.directory !== b.directory) {
473
+ return a.directory.localeCompare(b.directory);
474
+ }
475
+ return a.name.localeCompare(b.name);
476
+ });
477
+ }
478
+ else {
479
+ // Sort by name only
480
+ files.sort((a, b) => a.name.localeCompare(b.name));
481
+ }
482
+ return files;
483
+ }
484
+ /**
485
+ * Match file name against filter pattern (simple glob support)
486
+ */
487
+ function matchesFilter(fileName, filter) {
488
+ // Convert glob pattern to regex
489
+ const regexPattern = filter
490
+ .replace(/\./g, '\\.') // Escape dots
491
+ .replace(/\*/g, '.*') // * matches any characters
492
+ .replace(/\?/g, '.'); // ? matches single character
493
+ const regex = new RegExp(`^${regexPattern}$`, 'i');
494
+ return regex.test(fileName);
495
+ }
496
+ /**
497
+ * Group files by directory
498
+ */
499
+ function groupFilesByDirectory(files) {
500
+ const grouped = new Map();
501
+ for (const file of files) {
502
+ const dir = file.directory || '.';
503
+ if (!grouped.has(dir)) {
504
+ grouped.set(dir, []);
505
+ }
506
+ grouped.get(dir).push(file);
507
+ }
508
+ return grouped;
509
+ }
510
+ /**
511
+ * Get file statistics for a list of files
512
+ */
513
+ function getFileStatistics(files) {
514
+ const byType = {
515
+ rule: 0,
516
+ example: 0,
517
+ config: 0,
518
+ documentation: 0,
519
+ other: 0
520
+ };
521
+ const byExtension = {};
522
+ let totalSize = 0;
523
+ for (const file of files) {
524
+ totalSize += file.size;
525
+ byType[file.type]++;
526
+ const ext = file.extension || 'no-extension';
527
+ byExtension[ext] = (byExtension[ext] || 0) + 1;
528
+ }
529
+ return {
530
+ totalFiles: files.length,
531
+ totalSize,
532
+ byType,
533
+ byExtension
534
+ };
535
+ }
536
+ /**
537
+ * Recursively find all module.json files in a directory
538
+ */
539
+ function findModuleJsonFiles(dir) {
540
+ const results = [];
541
+ if (!fs.existsSync(dir)) {
542
+ return results;
543
+ }
544
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
545
+ for (const entry of entries) {
546
+ const fullPath = path.join(dir, entry.name);
547
+ if (entry.isDirectory()) {
548
+ // Recursively search subdirectories
549
+ results.push(...findModuleJsonFiles(fullPath));
550
+ }
551
+ else if (entry.isFile() && entry.name === 'module.json') {
552
+ // Found a module.json file - return its parent directory
553
+ results.push(dir);
554
+ }
555
+ }
556
+ return results;
557
+ }
255
558
  /**
256
559
  * Discover all modules in the modules directory
257
560
  */
@@ -261,21 +564,14 @@ function discoverModules() {
261
564
  if (!fs.existsSync(modulesDir)) {
262
565
  return modules;
263
566
  }
264
- const categories = fs.readdirSync(modulesDir, { withFileTypes: true })
265
- .filter(dirent => dirent.isDirectory())
266
- .filter(dirent => dirent.name !== 'collections') // Exclude collections directory
267
- .map(dirent => dirent.name);
268
- for (const category of categories) {
269
- const categoryPath = path.join(modulesDir, category);
270
- const moduleNames = fs.readdirSync(categoryPath, { withFileTypes: true })
271
- .filter(dirent => dirent.isDirectory())
272
- .map(dirent => dirent.name);
273
- for (const moduleName of moduleNames) {
274
- const modulePath = path.join(categoryPath, moduleName);
275
- const module = loadModule(modulePath);
276
- if (module) {
277
- modules.push(module);
278
- }
567
+ // Recursively find all directories containing module.json files
568
+ const modulePaths = findModuleJsonFiles(modulesDir);
569
+ // Filter out collections directory
570
+ const filteredPaths = modulePaths.filter(p => !p.includes(path.join(modulesDir, 'collections')));
571
+ for (const modulePath of filteredPaths) {
572
+ const module = loadModule(modulePath);
573
+ if (module) {
574
+ modules.push(module);
279
575
  }
280
576
  }
281
577
  return modules;
@@ -326,6 +622,82 @@ function findModule(moduleName) {
326
622
  const modules = discoverModules();
327
623
  return modules.find(m => m.fullName.endsWith(`/${moduleName}`)) || null;
328
624
  }
625
+ function searchModules(searchTerm, options = {}) {
626
+ const { caseSensitive = false, exactMatch = false, category } = options;
627
+ const allModules = discoverModules();
628
+ const searchLower = caseSensitive ? searchTerm : searchTerm.toLowerCase();
629
+ return allModules.filter(module => {
630
+ const moduleName = caseSensitive ? module.fullName : module.fullName.toLowerCase();
631
+ const moduleShortName = caseSensitive ? module.metadata.name : module.metadata.name.toLowerCase();
632
+ // Filter by category if specified
633
+ if (category) {
634
+ const moduleCategory = module.fullName.split('/')[0];
635
+ if (moduleCategory !== category) {
636
+ return false;
637
+ }
638
+ }
639
+ // Exact match
640
+ if (exactMatch) {
641
+ return moduleName === searchLower || moduleShortName === searchLower;
642
+ }
643
+ // Partial match (contains search term)
644
+ return moduleName.includes(searchLower) ||
645
+ moduleShortName.includes(searchLower) ||
646
+ (module.metadata.displayName &&
647
+ (caseSensitive ? module.metadata.displayName : module.metadata.displayName.toLowerCase()).includes(searchLower));
648
+ });
649
+ }
650
+ /**
651
+ * Find module with enhanced discovery
652
+ * Tries exact match first, then falls back to fuzzy search
653
+ */
654
+ function findModuleEnhanced(moduleName) {
655
+ // Try exact match first
656
+ let module = findModule(moduleName);
657
+ if (module) {
658
+ return module;
659
+ }
660
+ // Try case-insensitive search
661
+ const results = searchModules(moduleName, { caseSensitive: false, exactMatch: false });
662
+ // If exactly one result, return it
663
+ if (results.length === 1) {
664
+ return results[0];
665
+ }
666
+ // If multiple results, try to find exact match (case-insensitive)
667
+ const exactMatches = results.filter(m => m.fullName.toLowerCase() === moduleName.toLowerCase() ||
668
+ m.metadata.name.toLowerCase() === moduleName.toLowerCase());
669
+ if (exactMatches.length === 1) {
670
+ return exactMatches[0];
671
+ }
672
+ // No unique match found
673
+ return null;
674
+ }
675
+ /**
676
+ * Get module suggestions for a search term
677
+ * Returns up to maxSuggestions similar modules
678
+ */
679
+ function getModuleSuggestions(searchTerm, maxSuggestions = 5) {
680
+ const results = searchModules(searchTerm, { caseSensitive: false, exactMatch: false });
681
+ // Sort by relevance (exact matches first, then by length)
682
+ results.sort((a, b) => {
683
+ const aName = a.fullName.toLowerCase();
684
+ const bName = b.fullName.toLowerCase();
685
+ const searchLower = searchTerm.toLowerCase();
686
+ // Exact match scores highest
687
+ if (aName === searchLower)
688
+ return -1;
689
+ if (bName === searchLower)
690
+ return 1;
691
+ // Starts with search term scores next
692
+ if (aName.startsWith(searchLower) && !bName.startsWith(searchLower))
693
+ return -1;
694
+ if (bName.startsWith(searchLower) && !aName.startsWith(searchLower))
695
+ return 1;
696
+ // Shorter names score higher (more specific)
697
+ return aName.length - bName.length;
698
+ });
699
+ return results.slice(0, maxSuggestions);
700
+ }
329
701
  /**
330
702
  * Find collection by name (supports both "collections/name" and "name" formats)
331
703
  */
@@ -1 +1 @@
1
- {"version":3,"file":"module-system.js","sourceRoot":"","sources":["../../src/utils/module-system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-system.js","sourceRoot":"","sources":["../../src/utils/module-system.ts"],"names":[],"mappings":"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"}
package/modules.md CHANGED
@@ -202,6 +202,47 @@ augx link coding-standards/powershell
202
202
  }
203
203
  ```
204
204
 
205
+ ## Writing Standards
206
+
207
+ ### Screenplay Writing Standards
208
+ - **Module**: `writing-standards/screenplay`
209
+ - **Version**: 1.0.0
210
+ - **Character Count**: ~163,500
211
+ - **Description**: Comprehensive screenplay writing and crafting standards for AI-driven content creation across AAA Hollywood films, independent films, TV series, web content, news broadcasts, commercials, streaming content, and live TV productions
212
+ - **Contents**:
213
+ - Universal formatting (AMPAS standards)
214
+ - Narrative structures (Field, Snyder, Campbell)
215
+ - Character development and arcs
216
+ - Dialogue writing and subtext
217
+ - Screen continuity (180-degree rule, match cuts)
218
+ - Pacing and timing
219
+ - Diversity and inclusion
220
+ - AAA Hollywood films
221
+ - Independent films
222
+ - TV series (episodic/serialized)
223
+ - Web content (YouTube, TikTok, social media)
224
+ - News broadcasts (SPJ Code of Ethics)
225
+ - Commercials (15/30/60 second formats)
226
+ - Streaming content (Netflix, Amazon, Disney+)
227
+ - Live TV productions
228
+ - Fountain format support
229
+ - Export to Final Draft, PDF, HTML
230
+
231
+ **Usage**:
232
+ ```bash
233
+ augx link writing-standards/screenplay
234
+ ```
235
+
236
+ **Configuration** (`.augment/screenplay-config.json`):
237
+ ```json
238
+ {
239
+ "categories": ["aaa-hollywood-films", "tv-series"],
240
+ "universalRules": true,
241
+ "fountainFormat": true,
242
+ "exportFormats": ["fdx", "pdf"]
243
+ }
244
+ ```
245
+
205
246
  ## Collections
206
247
 
207
248
  Collections bundle multiple related modules together for easier installation.
@@ -579,10 +620,11 @@ augx mcp wrap github-mcp search-repos github-search --category retrieval
579
620
 
580
621
  ## Statistics
581
622
 
582
- - **Total Modules**: 18
623
+ - **Total Modules**: 19
583
624
  - **Coding Standards**: 5
625
+ - **Writing Standards**: 1
584
626
  - **Domain Rules**: 5
585
627
  - **Workflows**: 2
586
628
  - **Examples**: 4
587
629
  - **Total Skills**: 4
588
- - **Total Character Count**: ~1,774,692
630
+ - **Total Character Count**: ~1,938,192
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mytechtoday/augment-extensions",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "CLI tool for managing Augment Code AI extension modules",
5
5
  "main": "cli/dist/index.js",
6
6
  "bin": {
@@ -46,12 +46,12 @@
46
46
  "license": "MIT",
47
47
  "repository": {
48
48
  "type": "git",
49
- "url": "git+https://github.com/mytech-today-now/augment.git"
49
+ "url": "git+https://github.com/mytech-today-now/augment-extensions.git"
50
50
  },
51
51
  "bugs": {
52
- "url": "https://github.com/mytech-today-now/augment/issues"
52
+ "url": "https://github.com/mytech-today-now/augment-extensions/issues"
53
53
  },
54
- "homepage": "https://github.com/mytech-today-now/augment#readme",
54
+ "homepage": "https://github.com/mytech-today-now/augment-extensions#readme",
55
55
  "engines": {
56
56
  "node": ">=16.0.0"
57
57
  },
@@ -59,9 +59,11 @@
59
59
  "access": "public"
60
60
  },
61
61
  "dependencies": {
62
+ "@types/highlight.js": "^9.12.4",
62
63
  "@types/js-yaml": "^4.0.9",
63
64
  "chalk": "^5.3.0",
64
65
  "commander": "^11.0.0",
66
+ "highlight.js": "^11.11.1",
65
67
  "inquirer": "^9.2.0",
66
68
  "js-yaml": "^4.1.1",
67
69
  "minimatch": "^10.1.1",