fraim-framework 2.0.34 → 2.0.36

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 (49) hide show
  1. package/bin/fraim.js +52 -5
  2. package/dist/registry/scripts/cleanup-branch.js +62 -33
  3. package/dist/registry/scripts/generate-engagement-emails.js +119 -44
  4. package/dist/registry/scripts/newsletter-helpers.js +208 -268
  5. package/dist/registry/scripts/profile-server.js +387 -0
  6. package/dist/tests/test-chalk-regression.js +18 -2
  7. package/dist/tests/test-client-scripts-validation.js +133 -0
  8. package/dist/tests/test-markdown-to-pdf.js +454 -0
  9. package/dist/tests/test-script-location-independence.js +76 -28
  10. package/package.json +5 -2
  11. package/registry/agent-guardrails.md +62 -62
  12. package/registry/rules/communication.md +121 -121
  13. package/registry/rules/continuous-learning.md +54 -54
  14. package/registry/rules/hitl-ppe-record-analysis.md +302 -302
  15. package/registry/rules/software-development-lifecycle.md +104 -104
  16. package/registry/scripts/cleanup-branch.ts +341 -0
  17. package/registry/scripts/code-quality-check.sh +559 -559
  18. package/registry/scripts/detect-tautological-tests.sh +38 -38
  19. package/registry/scripts/generate-engagement-emails.ts +830 -0
  20. package/registry/scripts/markdown-to-pdf.js +395 -0
  21. package/registry/scripts/newsletter-helpers.ts +777 -0
  22. package/registry/scripts/profile-server.ts +424 -0
  23. package/registry/scripts/run-thank-you-workflow.ts +122 -0
  24. package/registry/scripts/send-newsletter-simple.ts +102 -0
  25. package/registry/scripts/send-thank-you-emails.ts +57 -0
  26. package/registry/scripts/validate-openapi-limits.ts +366 -366
  27. package/registry/scripts/validate-test-coverage.ts +280 -280
  28. package/registry/scripts/verify-pr-comments.sh +70 -70
  29. package/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +53 -53
  30. package/registry/templates/evidence/Implementation-BugEvidence.md +85 -85
  31. package/registry/templates/evidence/Implementation-FeatureEvidence.md +120 -120
  32. package/registry/workflows/convert-to-pdf.md +235 -0
  33. package/registry/workflows/customer-development/insight-analysis.md +156 -156
  34. package/registry/workflows/customer-development/interview-preparation.md +421 -421
  35. package/registry/workflows/customer-development/strategic-brainstorming.md +146 -146
  36. package/registry/workflows/quality-assurance/iterative-improvement-cycle.md +562 -562
  37. package/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +669 -669
  38. package/dist/registry/scripts/build-scripts-generator.js +0 -205
  39. package/dist/registry/scripts/fraim-config.js +0 -61
  40. package/dist/registry/scripts/generic-issues-api.js +0 -100
  41. package/dist/registry/scripts/openapi-generator.js +0 -664
  42. package/dist/registry/scripts/performance/profile-server.js +0 -390
  43. package/dist/test-utils.js +0 -96
  44. package/dist/tests/esm-compat.js +0 -11
  45. package/dist/tests/test-chalk-esm-issue.js +0 -159
  46. package/dist/tests/test-chalk-real-world.js +0 -265
  47. package/dist/tests/test-chalk-resolution-issue.js +0 -304
  48. package/dist/tests/test-fraim-install-chalk-issue.js +0 -254
  49. package/dist/tests/test-npm-resolution-diagnostic.js +0 -140
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/env tsx
2
+
3
+ /**
4
+ * Send Thank-You Emails from Candidates JSON File
5
+ *
6
+ * Usage:
7
+ * npm run send-thank-you -- <filename> [exec-id-1] [exec-id-2] ...
8
+ *
9
+ * Examples:
10
+ * npm run send-thank-you -- docs/customer-development/thank-you-notes/thank-you-candidates-2025-10-29.json
11
+ * npm run send-thank-you -- docs/customer-development/thank-you-notes/thank-you-candidates-2025-10-29.json exec-123 exec-456
12
+ */
13
+
14
+ import { sendCustomerMail } from './generate-engagement-emails';
15
+
16
+ async function main() {
17
+ const args = process.argv.slice(2);
18
+
19
+ if (args.length === 0) {
20
+ console.error('āŒ Error: Missing required argument: filename');
21
+ console.error('');
22
+ console.error('Usage: npm run send-thank-you -- <filename> [exec-id-1] [exec-id-2] ...');
23
+ console.error('');
24
+ console.error('Examples:');
25
+ console.error(' npm run send-thank-you -- docs/customer-development/thank-you-notes/thank-you-candidates-2025-10-29.json');
26
+ console.error(' npm run send-thank-you -- docs/customer-development/thank-you-notes/thank-you-candidates-2025-10-29.json exec-1760627251980-31qmjy5y4');
27
+ process.exit(1);
28
+ }
29
+
30
+ const filename = args[0];
31
+ const execIds = args.slice(1).filter(arg => arg.startsWith('exec-'));
32
+
33
+ if (execIds.length === 0) {
34
+ // Send to all pending candidates
35
+ console.log(`šŸ“§ Sending emails from: ${filename}`);
36
+ console.log(`šŸŽÆ Sending to ALL pending candidates`);
37
+ await sendCustomerMail(filename);
38
+ } else if (execIds.length === 1) {
39
+ // Send to specific executive
40
+ console.log(`šŸ“§ Sending emails from: ${filename}`);
41
+ console.log(`šŸŽÆ Sending to executive: ${execIds[0]}`);
42
+ await sendCustomerMail(filename, execIds[0]);
43
+ } else {
44
+ // Multiple executives - send to each one
45
+ console.log(`šŸ“§ Sending emails from: ${filename}`);
46
+ console.log(`šŸŽÆ Sending to ${execIds.length} executives: ${execIds.join(', ')}`);
47
+ for (const execId of execIds) {
48
+ console.log(`\nšŸ“§ Processing executive: ${execId}`);
49
+ await sendCustomerMail(filename, execId);
50
+ }
51
+ }
52
+ }
53
+
54
+ main().catch(error => {
55
+ console.error('āŒ Error:', error);
56
+ process.exit(1);
57
+ });