gsd-antigravity-kit 2.0.0 → 2.1.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/.agent/skills/gsd/SKILL.md +26 -4
- package/.agent/skills/gsd/VERSION +1 -1
- package/.agent/skills/gsd/assets/templates/AI-SPEC.md +246 -0
- package/.agent/skills/gsd/assets/templates/DEBUG.md +7 -2
- package/.agent/skills/gsd/assets/templates/config.json +56 -48
- package/.agent/skills/gsd/assets/templates/research.md +40 -0
- package/.agent/skills/gsd/assets/templates/spec.md +307 -0
- package/.agent/skills/gsd/assets/templates/state.md +8 -0
- package/.agent/skills/gsd/bin/gsd-tools.cjs +212 -11
- package/.agent/skills/gsd/bin/help-manifest.json +8 -2
- package/.agent/skills/gsd/bin/hooks/gsd-check-update-worker.js +108 -0
- package/.agent/skills/gsd/bin/hooks/gsd-check-update.js +14 -89
- package/.agent/skills/gsd/bin/hooks/gsd-context-monitor.js +34 -5
- package/.agent/skills/gsd/bin/hooks/gsd-phase-boundary.sh +1 -0
- package/.agent/skills/gsd/bin/hooks/gsd-prompt-guard.js +1 -1
- package/.agent/skills/gsd/bin/hooks/gsd-read-guard.js +6 -1
- package/.agent/skills/gsd/bin/hooks/gsd-session-state.sh +1 -0
- package/.agent/skills/gsd/bin/hooks/gsd-statusline.js +150 -16
- package/.agent/skills/gsd/bin/hooks/gsd-validate-commit.sh +1 -0
- package/.agent/skills/gsd/bin/hooks/gsd-workflow-guard.js +1 -1
- package/.agent/skills/gsd/bin/lib/audit.cjs +757 -0
- package/.agent/skills/gsd/bin/lib/commands.cjs +17 -7
- package/.agent/skills/gsd/bin/lib/config.cjs +66 -20
- package/.agent/skills/gsd/bin/lib/core.cjs +212 -12
- package/.agent/skills/gsd/bin/lib/frontmatter.cjs +6 -8
- package/.agent/skills/gsd/bin/lib/graphify.cjs +494 -0
- package/.agent/skills/gsd/bin/lib/gsd2-import.cjs +511 -0
- package/.agent/skills/gsd/bin/lib/init.cjs +371 -18
- package/.agent/skills/gsd/bin/lib/intel.cjs +9 -30
- package/.agent/skills/gsd/bin/lib/milestone.cjs +18 -17
- package/.agent/skills/gsd/bin/lib/model-profiles.cjs +1 -0
- package/.agent/skills/gsd/bin/lib/phase.cjs +225 -98
- package/.agent/skills/gsd/bin/lib/profile-output.cjs +17 -5
- package/.agent/skills/gsd/bin/lib/roadmap.cjs +12 -5
- package/.agent/skills/gsd/bin/lib/state.cjs +394 -129
- package/.agent/skills/gsd/bin/lib/template.cjs +8 -4
- package/.agent/skills/gsd/bin/lib/uat.cjs +2 -1
- package/.agent/skills/gsd/bin/lib/verify.cjs +111 -42
- package/.agent/skills/gsd/migration_report.md +2 -2
- package/.agent/skills/gsd/references/agents/gsd-advisor-researcher.md +23 -0
- package/.agent/skills/gsd/references/agents/gsd-ai-researcher.md +133 -0
- package/.agent/skills/gsd/references/agents/gsd-code-fixer.md +11 -10
- package/.agent/skills/gsd/references/agents/gsd-code-reviewer.md +2 -2
- package/.agent/skills/gsd/references/agents/gsd-codebase-mapper.md +13 -2
- package/.agent/skills/gsd/references/agents/gsd-debug-session-manager.md +314 -0
- package/.agent/skills/gsd/references/agents/gsd-debugger.md +147 -76
- package/.agent/skills/gsd/references/agents/gsd-doc-verifier.md +1 -1
- package/.agent/skills/gsd/references/agents/gsd-doc-writer.md +615 -602
- package/.agent/skills/gsd/references/agents/gsd-domain-researcher.md +153 -0
- package/.agent/skills/gsd/references/agents/gsd-eval-auditor.md +175 -0
- package/.agent/skills/gsd/references/agents/gsd-eval-planner.md +154 -0
- package/.agent/skills/gsd/references/agents/gsd-executor.md +108 -38
- package/.agent/skills/gsd/references/agents/gsd-framework-selector.md +160 -0
- package/.agent/skills/gsd/references/agents/gsd-integration-checker.md +454 -443
- package/.agent/skills/gsd/references/agents/gsd-intel-updater.md +40 -20
- package/.agent/skills/gsd/references/agents/gsd-nyquist-auditor.md +187 -176
- package/.agent/skills/gsd/references/agents/gsd-pattern-mapper.md +335 -0
- package/.agent/skills/gsd/references/agents/gsd-phase-researcher.md +112 -13
- package/.agent/skills/gsd/references/agents/gsd-plan-checker.md +104 -10
- package/.agent/skills/gsd/references/agents/gsd-planner.md +125 -167
- package/.agent/skills/gsd/references/agents/gsd-project-researcher.md +25 -2
- package/.agent/skills/gsd/references/agents/gsd-research-synthesizer.md +3 -3
- package/.agent/skills/gsd/references/agents/gsd-roadmapper.md +12 -1
- package/.agent/skills/gsd/references/agents/gsd-security-auditor.md +139 -128
- package/.agent/skills/gsd/references/agents/gsd-ui-auditor.md +3 -3
- package/.agent/skills/gsd/references/agents/gsd-ui-checker.md +11 -2
- package/.agent/skills/gsd/references/agents/gsd-ui-researcher.md +27 -4
- package/.agent/skills/gsd/references/agents/gsd-verifier.md +13 -19
- package/.agent/skills/gsd/references/commands/atomic/add-todo.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/check-todos.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/cleanup.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/do.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/help.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/join-discord.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/note.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/session-report.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/ship.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/stats.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/thread.md +141 -41
- package/.agent/skills/gsd/references/commands/atomic/undo.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/add-backlog.md +15 -12
- package/.agent/skills/gsd/references/commands/milestone/audit-milestone.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/complete-milestone.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/milestone-summary.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/new-milestone.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/plan-milestone-gaps.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/plant-seed.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/review-backlog.md +4 -4
- package/.agent/skills/gsd/references/commands/misc/ai-integration-phase.md +38 -0
- package/.agent/skills/gsd/references/commands/misc/audit-fix.md +2 -2
- package/.agent/skills/gsd/references/commands/misc/audit-uat.md +2 -2
- package/.agent/skills/gsd/references/commands/misc/eval-review.md +34 -0
- package/.agent/skills/gsd/references/commands/misc/extract_learnings.md +24 -0
- package/.agent/skills/gsd/references/commands/misc/from-gsd2.md +49 -0
- package/.agent/skills/gsd/references/commands/misc/graphify.md +203 -0
- package/.agent/skills/gsd/references/commands/misc/inbox.md +40 -0
- package/.agent/skills/gsd/references/commands/misc/next.md +5 -3
- package/.agent/skills/gsd/references/commands/misc/progress.md +4 -3
- package/.agent/skills/gsd/references/commands/misc/sketch-wrap-up.md +33 -0
- package/.agent/skills/gsd/references/commands/misc/sketch.md +47 -0
- package/.agent/skills/gsd/references/commands/misc/spec-phase.md +64 -0
- package/.agent/skills/gsd/references/commands/misc/spike-wrap-up.md +33 -0
- package/.agent/skills/gsd/references/commands/misc/spike.md +43 -0
- package/.agent/skills/gsd/references/commands/misc/verify-work.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/add-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/add-tests.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/discuss-phase.md +5 -5
- package/.agent/skills/gsd/references/commands/phase/execute-phase.md +4 -4
- package/.agent/skills/gsd/references/commands/phase/insert-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/list-phase-assumptions.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/plan-phase.md +3 -3
- package/.agent/skills/gsd/references/commands/phase/remove-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/research-phase.md +5 -5
- package/.agent/skills/gsd/references/commands/phase/secure-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/ui-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/ui-review.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/validate-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/workstreams.md +9 -9
- package/.agent/skills/gsd/references/commands/project/analyze-dependencies.md +2 -2
- package/.agent/skills/gsd/references/commands/project/explore.md +2 -2
- package/.agent/skills/gsd/references/commands/project/import.md +2 -2
- package/.agent/skills/gsd/references/commands/project/intel.md +10 -10
- package/.agent/skills/gsd/references/commands/project/list-workspaces.md +2 -2
- package/.agent/skills/gsd/references/commands/project/map-codebase.md +2 -2
- package/.agent/skills/gsd/references/commands/project/new-project.md +2 -2
- package/.agent/skills/gsd/references/commands/project/new-workspace.md +2 -2
- package/.agent/skills/gsd/references/commands/project/remove-workspace.md +2 -2
- package/.agent/skills/gsd/references/commands/project/scan.md +2 -2
- package/.agent/skills/gsd/references/commands/system/autonomous.md +4 -3
- package/.agent/skills/gsd/references/commands/system/code-review-fix.md +3 -3
- package/.agent/skills/gsd/references/commands/system/code-review.md +3 -3
- package/.agent/skills/gsd/references/commands/system/debug.md +177 -100
- package/.agent/skills/gsd/references/commands/system/docs-update.md +2 -2
- package/.agent/skills/gsd/references/commands/system/fast.md +2 -2
- package/.agent/skills/gsd/references/commands/system/forensics.md +2 -2
- package/.agent/skills/gsd/references/commands/system/gsd-tools.md +153 -6
- package/.agent/skills/gsd/references/commands/system/health.md +2 -2
- package/.agent/skills/gsd/references/commands/system/manager.md +3 -3
- package/.agent/skills/gsd/references/commands/system/pause-work.md +2 -2
- package/.agent/skills/gsd/references/commands/system/pr-branch.md +2 -2
- package/.agent/skills/gsd/references/commands/system/profile-user.md +2 -2
- package/.agent/skills/gsd/references/commands/system/quick.md +127 -3
- package/.agent/skills/gsd/references/commands/system/reapply-patches.md +45 -6
- package/.agent/skills/gsd/references/commands/system/resume-work.md +2 -2
- package/.agent/skills/gsd/references/commands/system/review.md +6 -4
- package/.agent/skills/gsd/references/commands/system/set-profile.md +3 -3
- package/.agent/skills/gsd/references/commands/system/settings.md +2 -2
- package/.agent/skills/gsd/references/commands/system/update.md +2 -2
- package/.agent/skills/gsd/references/docs/ai-evals.md +156 -0
- package/.agent/skills/gsd/references/docs/ai-frameworks.md +186 -0
- package/.agent/skills/gsd/references/docs/artifact-types.md +18 -0
- package/.agent/skills/gsd/references/docs/autonomous-smart-discuss.md +277 -0
- package/.agent/skills/gsd/references/docs/checkpoints.md +30 -0
- package/.agent/skills/gsd/references/docs/common-bug-patterns.md +49 -49
- package/.agent/skills/gsd/references/docs/continuation-format.md +11 -7
- package/.agent/skills/gsd/references/docs/debugger-philosophy.md +76 -0
- package/.agent/skills/gsd/references/docs/decimal-phase-calculation.md +64 -64
- package/.agent/skills/gsd/references/docs/executor-examples.md +110 -0
- package/.agent/skills/gsd/references/docs/git-integration.md +4 -4
- package/.agent/skills/gsd/references/docs/git-planning-commit.md +40 -38
- package/.agent/skills/gsd/references/docs/ios-scaffold.md +123 -0
- package/.agent/skills/gsd/references/docs/mandatory-initial-read.md +2 -0
- package/.agent/skills/gsd/references/docs/phase-argument-parsing.md +61 -61
- package/.agent/skills/gsd/references/docs/planner-antipatterns.md +89 -0
- package/.agent/skills/gsd/references/docs/planner-revision.md +87 -87
- package/.agent/skills/gsd/references/docs/planner-source-audit.md +73 -0
- package/.agent/skills/gsd/references/docs/planning-config.md +33 -8
- package/.agent/skills/gsd/references/docs/project-skills-discovery.md +19 -0
- package/.agent/skills/gsd/references/docs/sketch-interactivity.md +41 -0
- package/.agent/skills/gsd/references/docs/sketch-theme-system.md +94 -0
- package/.agent/skills/gsd/references/docs/sketch-tooling.md +45 -0
- package/.agent/skills/gsd/references/docs/sketch-variant-patterns.md +81 -0
- package/.agent/skills/gsd/references/docs/tdd.md +67 -0
- package/.agent/skills/gsd/references/docs/universal-anti-patterns.md +5 -0
- package/.agent/skills/gsd/references/docs/workstream-flag.md +11 -11
- package/.agent/skills/gsd/references/mapping.md +1 -1
- package/.agent/skills/gsd/references/workflows/add-phase.md +112 -112
- package/.agent/skills/gsd/references/workflows/add-tests.md +6 -3
- package/.agent/skills/gsd/references/workflows/add-todo.md +5 -3
- package/.agent/skills/gsd/references/workflows/ai-integration-phase.md +284 -0
- package/.agent/skills/gsd/references/workflows/audit-fix.md +157 -157
- package/.agent/skills/gsd/references/workflows/audit-milestone.md +340 -340
- package/.agent/skills/gsd/references/workflows/audit-uat.md +109 -109
- package/.agent/skills/gsd/references/workflows/autonomous.md +20 -288
- package/.agent/skills/gsd/references/workflows/check-todos.md +4 -2
- package/.agent/skills/gsd/references/workflows/cleanup.md +3 -1
- package/.agent/skills/gsd/references/workflows/code-review-fix.md +497 -497
- package/.agent/skills/gsd/references/workflows/code-review.md +515 -515
- package/.agent/skills/gsd/references/workflows/complete-milestone.md +97 -24
- package/.agent/skills/gsd/references/workflows/diagnose-issues.md +238 -238
- package/.agent/skills/gsd/references/workflows/discovery-phase.md +2 -0
- package/.agent/skills/gsd/references/workflows/discuss-phase-assumptions.md +11 -11
- package/.agent/skills/gsd/references/workflows/discuss-phase.md +143 -19
- package/.agent/skills/gsd/references/workflows/do.md +8 -2
- package/.agent/skills/gsd/references/workflows/docs-update.md +5 -3
- package/.agent/skills/gsd/references/workflows/eval-review.md +155 -0
- package/.agent/skills/gsd/references/workflows/execute-phase.md +338 -54
- package/.agent/skills/gsd/references/workflows/execute-plan.md +80 -104
- package/.agent/skills/gsd/references/workflows/explore.md +3 -1
- package/.agent/skills/gsd/references/workflows/extract_learnings.md +232 -0
- package/.agent/skills/gsd/references/workflows/forensics.md +3 -3
- package/.agent/skills/gsd/references/workflows/health.md +2 -2
- package/.agent/skills/gsd/references/workflows/help.md +59 -1
- package/.agent/skills/gsd/references/workflows/import.md +3 -1
- package/.agent/skills/gsd/references/workflows/inbox.md +387 -384
- package/.agent/skills/gsd/references/workflows/insert-phase.md +130 -130
- package/.agent/skills/gsd/references/workflows/list-workspaces.md +56 -56
- package/.agent/skills/gsd/references/workflows/manager.md +5 -3
- package/.agent/skills/gsd/references/workflows/map-codebase.md +19 -5
- package/.agent/skills/gsd/references/workflows/milestone-summary.md +6 -6
- package/.agent/skills/gsd/references/workflows/new-milestone.md +63 -9
- package/.agent/skills/gsd/references/workflows/new-project.md +126 -22
- package/.agent/skills/gsd/references/workflows/new-workspace.md +6 -4
- package/.agent/skills/gsd/references/workflows/next.md +220 -153
- package/.agent/skills/gsd/references/workflows/note.md +2 -0
- package/.agent/skills/gsd/references/workflows/pause-work.md +11 -7
- package/.agent/skills/gsd/references/workflows/plan-milestone-gaps.md +273 -273
- package/.agent/skills/gsd/references/workflows/plan-phase.md +281 -62
- package/.agent/skills/gsd/references/workflows/plant-seed.md +4 -1
- package/.agent/skills/gsd/references/workflows/pr-branch.md +41 -13
- package/.agent/skills/gsd/references/workflows/profile-user.md +15 -13
- package/.agent/skills/gsd/references/workflows/progress.md +133 -21
- package/.agent/skills/gsd/references/workflows/quick.md +67 -27
- package/.agent/skills/gsd/references/workflows/remove-phase.md +155 -155
- package/.agent/skills/gsd/references/workflows/remove-workspace.md +4 -2
- package/.agent/skills/gsd/references/workflows/research-phase.md +3 -3
- package/.agent/skills/gsd/references/workflows/resume-project.md +3 -3
- package/.agent/skills/gsd/references/workflows/review.md +71 -8
- package/.agent/skills/gsd/references/workflows/scan.md +102 -102
- package/.agent/skills/gsd/references/workflows/secure-phase.md +7 -5
- package/.agent/skills/gsd/references/workflows/settings.md +24 -7
- package/.agent/skills/gsd/references/workflows/ship.md +71 -6
- package/.agent/skills/gsd/references/workflows/sketch-wrap-up.md +283 -0
- package/.agent/skills/gsd/references/workflows/sketch.md +263 -0
- package/.agent/skills/gsd/references/workflows/spec-phase.md +262 -0
- package/.agent/skills/gsd/references/workflows/spike-wrap-up.md +273 -0
- package/.agent/skills/gsd/references/workflows/spike.md +270 -0
- package/.agent/skills/gsd/references/workflows/stats.md +60 -60
- package/.agent/skills/gsd/references/workflows/transition.md +671 -671
- package/.agent/skills/gsd/references/workflows/ui-phase.md +33 -12
- package/.agent/skills/gsd/references/workflows/ui-review.md +6 -4
- package/.agent/skills/gsd/references/workflows/undo.md +3 -1
- package/.agent/skills/gsd/references/workflows/update.md +113 -2
- package/.agent/skills/gsd/references/workflows/validate-phase.md +7 -5
- package/.agent/skills/gsd/references/workflows/verify-phase.md +93 -10
- package/.agent/skills/gsd/references/workflows/verify-work.md +50 -10
- package/.agent/skills/gsd-converter/references/mapping.md +1 -1
- package/.agent/skills/gsd-converter/scripts/convert.py +36 -17
- package/.agent/skills/gsd-converter/scripts/regression_test.py +68 -33
- package/README.md +3 -2
- package/package.json +4 -2
- package/.agent/skills/release-manager/SKILL.md +0 -162
- package/.agent/skills/release-manager/bin/LICENSE +0 -21
- package/.agent/skills/release-manager/bin/gh.exe +0 -0
- package/.agent/skills/release-manager/references/update_kb_from_fixes.md +0 -29
- package/.agent/skills/release-manager/scripts/release.ps1 +0 -222
- package/.agent/skills/selectpaste-update/SKILL.md +0 -46
- package/.agent/skills/selectpaste-update/scripts/sync-commands.py +0 -317
|
@@ -490,7 +490,25 @@ def run_regression_tests(target_base):
|
|
|
490
490
|
if not os.path.exists(test_script):
|
|
491
491
|
# Create it if it doesn't exist (self-bootstrapping for this turn)
|
|
492
492
|
with open(test_script, 'w', encoding='utf-8') as f:
|
|
493
|
-
f.write("""import os, re, sys
|
|
493
|
+
f.write("""import os, re, sys, io
|
|
494
|
+
# Force UTF-8 for Windows
|
|
495
|
+
if sys.platform == 'win32':
|
|
496
|
+
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
|
497
|
+
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')
|
|
498
|
+
|
|
499
|
+
def get_command_category(cmd_name):
|
|
500
|
+
atomic = ['add-todo', 'check-todos', 'note', 'ship', 'cleanup', 'undo', 'help', 'do', 'stats', 'thread', 'session-report', 'join-discord']
|
|
501
|
+
phase = ['plan-phase', 'execute-phase', 'research-phase', 'validate-phase', 'discuss-phase', 'remove-phase', 'insert-phase', 'add-phase', 'list-phase-assumptions', 'secure-phase', 'ui-phase', 'ui-review', 'add-tests', 'workstreams']
|
|
502
|
+
milestone = ['new-milestone', 'complete-milestone', 'audit-milestone', 'milestone-summary', 'plan-milestone-gaps', 'review-backlog', 'add-backlog', 'plant-seed']
|
|
503
|
+
project = ['new-project', 'new-workspace', 'list-workspaces', 'remove-workspace', 'map-codebase', 'scan', 'intel', 'analyze-dependencies', 'explore', 'import']
|
|
504
|
+
system = ['gsd-tools', 'health', 'settings', 'profile-user', 'set-profile', 'update', 'pause-work', 'resume-work', 'reapply-patches', 'debug', 'forensics', 'manager', 'autonomous', 'fast', 'quick', 'code-review', 'code-review-fix', 'review', 'docs-update', 'pr-branch']
|
|
505
|
+
if cmd_name in atomic: return 'atomic'
|
|
506
|
+
if cmd_name in phase: return 'phase'
|
|
507
|
+
if cmd_name in milestone: return 'milestone'
|
|
508
|
+
if cmd_name in project: return 'project'
|
|
509
|
+
if cmd_name in system: return 'system'
|
|
510
|
+
return 'misc'
|
|
511
|
+
|
|
494
512
|
def test_skill(base):
|
|
495
513
|
print(f" Checking {base}...")
|
|
496
514
|
errors = []
|
|
@@ -508,19 +526,21 @@ def test_skill(base):
|
|
|
508
526
|
if 'gsd-source-version' not in content:
|
|
509
527
|
errors.append(f"Missing metadata in {f}")
|
|
510
528
|
# Check internal inclusions
|
|
511
|
-
inclusions = re.findall(r"@references/commands/([
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
529
|
+
inclusions = re.findall(r"@references/commands/([^/\\s]+?\.md)", content)
|
|
530
|
+
for inc in inclusions:
|
|
531
|
+
if not re.search(f"@references/commands/[^/]+/{inc}", content):
|
|
532
|
+
cmd_name = inc[:-3]
|
|
533
|
+
category = get_command_category(cmd_name)
|
|
534
|
+
errors.append(f"Broken inclusive path in {f}: {inc}. Should be {category}/{inc}")
|
|
517
535
|
return errors
|
|
518
536
|
|
|
519
537
|
if __name__ == '__main__':
|
|
520
538
|
target = sys.argv[1] if len(sys.argv) > 1 else '.'
|
|
521
539
|
errs = test_skill(target)
|
|
522
540
|
if errs:
|
|
523
|
-
for e in errs:
|
|
541
|
+
for e in errs:
|
|
542
|
+
try: print(f" ❌ {e}")
|
|
543
|
+
except: print(f" [ERR] {e}")
|
|
524
544
|
sys.exit(1)
|
|
525
545
|
print(" ✅ Regression tests passed.")
|
|
526
546
|
""")
|
|
@@ -738,18 +758,12 @@ def main():
|
|
|
738
758
|
# 2. Re-create the skill directory
|
|
739
759
|
os.makedirs(target_base, exist_ok=True)
|
|
740
760
|
|
|
741
|
-
# 3. Perform migration
|
|
761
|
+
# 3. Perform migration
|
|
742
762
|
migrate_files(source_base, target_base, manifest)
|
|
743
763
|
|
|
744
|
-
|
|
745
|
-
sync_mapping_docs(target_base, manifest)
|
|
746
|
-
optimize_gsd_tools(target_base)
|
|
747
|
-
|
|
748
|
-
# 4. Inject Dynamic Help Manifest
|
|
764
|
+
# 4. Inject Dynamic Help Manifest (Early for asset use)
|
|
749
765
|
gsd_tools_source = os.path.join(source_base, 'get-shit-done/bin/gsd-tools.cjs')
|
|
750
766
|
discovered_help = discover_commands(gsd_tools_source)
|
|
751
|
-
|
|
752
|
-
# Dynamic gsd-tools help extraction for markdown
|
|
753
767
|
gsd_tools_help_markdown = extract_gsd_tools_help(target_base)
|
|
754
768
|
|
|
755
769
|
final_manifest = {
|
|
@@ -759,11 +773,12 @@ def main():
|
|
|
759
773
|
}
|
|
760
774
|
|
|
761
775
|
manifest_path = os.path.join(target_base, 'bin', 'help-manifest.json')
|
|
776
|
+
os.makedirs(os.path.dirname(manifest_path), exist_ok=True)
|
|
762
777
|
with open(manifest_path, 'w', encoding='utf-8') as f:
|
|
763
778
|
json.dump(final_manifest, f, indent=2)
|
|
764
779
|
print(" ✅ Generated help-manifest.json dynamically from source")
|
|
765
780
|
|
|
766
|
-
# 5. Inject custom assets
|
|
781
|
+
# 5. Inject custom assets (BEFORE refactoring)
|
|
767
782
|
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
768
783
|
|
|
769
784
|
# Write VERSION file to skill root
|
|
@@ -785,6 +800,10 @@ def main():
|
|
|
785
800
|
else:
|
|
786
801
|
shutil.copy2(asset_path, target_path)
|
|
787
802
|
|
|
803
|
+
# 6. Refactor and Optimize
|
|
804
|
+
refactor_content(target_base, new_version, manifest)
|
|
805
|
+
sync_mapping_docs(target_base, manifest)
|
|
806
|
+
optimize_gsd_tools(target_base)
|
|
788
807
|
create_skill_md(target_base, skill_name, new_version)
|
|
789
808
|
|
|
790
809
|
# 6. Final Verification
|
|
@@ -1,33 +1,68 @@
|
|
|
1
|
-
import os
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
if
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
1
|
+
import os
|
|
2
|
+
import re
|
|
3
|
+
import sys
|
|
4
|
+
import io
|
|
5
|
+
|
|
6
|
+
# Force UTF-8
|
|
7
|
+
if sys.platform == 'win32':
|
|
8
|
+
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
|
9
|
+
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')
|
|
10
|
+
|
|
11
|
+
def get_command_category(cmd_name):
|
|
12
|
+
atomic = ['add-todo', 'check-todos', 'note', 'ship', 'cleanup', 'undo', 'help', 'do', 'stats', 'thread', 'session-report', 'join-discord']
|
|
13
|
+
phase = ['plan-phase', 'execute-phase', 'research-phase', 'validate-phase', 'discuss-phase', 'remove-phase', 'insert-phase', 'add-phase', 'list-phase-assumptions', 'secure-phase', 'ui-phase', 'ui-review', 'add-tests', 'workstreams']
|
|
14
|
+
milestone = ['new-milestone', 'complete-milestone', 'audit-milestone', 'milestone-summary', 'plan-milestone-gaps', 'review-backlog', 'add-backlog', 'plant-seed']
|
|
15
|
+
project = ['new-project', 'new-workspace', 'list-workspaces', 'remove-workspace', 'map-codebase', 'scan', 'intel', 'analyze-dependencies', 'explore', 'import']
|
|
16
|
+
system = ['gsd-tools', 'health', 'settings', 'profile-user', 'set-profile', 'update', 'pause-work', 'resume-work', 'reapply-patches', 'debug', 'forensics', 'manager', 'autonomous', 'fast', 'quick', 'code-review', 'code-review-fix', 'review', 'docs-update', 'pr-branch']
|
|
17
|
+
|
|
18
|
+
if cmd_name in atomic: return 'atomic'
|
|
19
|
+
if cmd_name in phase: return 'phase'
|
|
20
|
+
if cmd_name in milestone: return 'milestone'
|
|
21
|
+
if cmd_name in project: return 'project'
|
|
22
|
+
if cmd_name in system: return 'system'
|
|
23
|
+
return 'misc'
|
|
24
|
+
|
|
25
|
+
def test_skill(base):
|
|
26
|
+
print(f" Checking {base}...")
|
|
27
|
+
errors = []
|
|
28
|
+
# 1. Check categorized paths
|
|
29
|
+
cmd_dir = os.path.join(base, 'references', 'commands')
|
|
30
|
+
if not os.path.exists(cmd_dir): return ["Commands dir missing"]
|
|
31
|
+
|
|
32
|
+
for root, dirs, files in os.walk(cmd_dir):
|
|
33
|
+
for f in files:
|
|
34
|
+
if f.endswith('.md'):
|
|
35
|
+
path = os.path.join(root, f)
|
|
36
|
+
try:
|
|
37
|
+
with open(path, 'r', encoding='utf-8') as file:
|
|
38
|
+
content = file.read()
|
|
39
|
+
# Check metadata
|
|
40
|
+
if 'gsd-source-version' not in content:
|
|
41
|
+
errors.append(f"Missing metadata in {f}")
|
|
42
|
+
# Check internal inclusions
|
|
43
|
+
# The regex in convert.py was r"@references/commands/([^/]+?\\.md)"
|
|
44
|
+
# but in the Python string it was "@references/commands/([^/]+?\\\\.md)"
|
|
45
|
+
# Let's use a simpler one.
|
|
46
|
+
inclusions = re.findall(r"@references/commands/([^/\s]+?\.md)", content)
|
|
47
|
+
for inc in inclusions:
|
|
48
|
+
cmd_name = inc[:-3]
|
|
49
|
+
expected_cat = get_command_category(cmd_name)
|
|
50
|
+
# Check if the inclusion is @references/commands/category/cmd.md
|
|
51
|
+
# The test in convert.py seemed to check if it's MISSING the category
|
|
52
|
+
if not re.search(f"@references/commands/[^/]+/{inc}", content):
|
|
53
|
+
errors.append(f"Broken inclusive path in {f}: {inc}. Should be {expected_cat}/{inc}")
|
|
54
|
+
except Exception as e:
|
|
55
|
+
errors.append(f"Error reading {f}: {e}")
|
|
56
|
+
return errors
|
|
57
|
+
|
|
58
|
+
if __name__ == '__main__':
|
|
59
|
+
target = sys.argv[1] if len(sys.argv) > 1 else '.agent/skills/gsd'
|
|
60
|
+
errs = test_skill(target)
|
|
61
|
+
if errs:
|
|
62
|
+
for e in errs:
|
|
63
|
+
try:
|
|
64
|
+
print(f" ❌ {e}")
|
|
65
|
+
except:
|
|
66
|
+
print(f" [ERR] {e}")
|
|
67
|
+
sys.exit(1)
|
|
68
|
+
print(" ✅ Regression tests passed.")
|
package/README.md
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
[](https://opensource.org/licenses/MIT)
|
|
4
4
|
[](https://github.com/google-deepmind/antigravity)
|
|
5
5
|
[](https://www.npmjs.com/package/gsd-antigravity-kit)
|
|
6
|
-
[](https://github.com/dturkuler/GSD-Antigravity/releases/latest)
|
|
7
|
+
[](https://github.com/glittercowboy/get-shit-done)
|
|
8
8
|
|
|
9
9
|
**GSD-Antigravity Kit** is the official bootstrapping and management utility for the [Get Shit Done (GSD)](https://github.com/glittercowboy/get-shit-done) protocol within the Antigravity AI framework. It serves as a high-performance **Installer** and **Skill Manager** that provision, optimizes, and maintains GSD skills in your AG environment.
|
|
10
10
|
|
|
@@ -105,3 +105,4 @@ The core logic, philosophy, and original script engine were created by **[glitte
|
|
|
105
105
|
|
|
106
106
|
|
|
107
107
|
|
|
108
|
+
|
package/package.json
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gsd-antigravity-kit",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Installer for GSD-Antigravity skills",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
7
7
|
"bin/",
|
|
8
|
-
".agent/"
|
|
8
|
+
".agent/rules/",
|
|
9
|
+
".agent/skills/gsd/",
|
|
10
|
+
".agent/skills/gsd-converter/"
|
|
9
11
|
],
|
|
10
12
|
"bin": {
|
|
11
13
|
"gsd-antigravity-kit": "bin/install.js"
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: release-manager
|
|
3
|
-
description: Orchestrate the transition from "ready" to "released" for GSD-Antigravity. Manage version numbers in package.json, update changelogs, build release artifacts, and trigger Git tagging, GitHub releases, and NPM package publishing. Triggers on keywords like 'release', 'tagging', 'versioning', 'changelog update', and intents like 'perform a release' or 'prepare v1.0.1'.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Release Manager (Zero-Manual Automation)
|
|
7
|
-
|
|
8
|
-
Comprehensive automation engine for managing the software release lifecycle for **gsd-antigravity-kit**. The orchestrator handles data integrity, automated documentation synchronization (Changelog/KB/README), and a one-click Git/NPM distribution process.
|
|
9
|
-
|
|
10
|
-
## ⚡ Zero-Manual Execution
|
|
11
|
-
This skill is designed for full automation. Initiating a release handles versioning, changelog generation, and publication in a single pass.
|
|
12
|
-
|
|
13
|
-
1. Finalize your features/fixes.
|
|
14
|
-
2. Run the orchestrator: `pwsh .agent/skills/release-manager/scripts/release.ps1`
|
|
15
|
-
3. The system will sync GSD, update docs, tag, push, and publish automatically.
|
|
16
|
-
|
|
17
|
-
## Purpose
|
|
18
|
-
To provide a deterministic, multi-phase procedure for transitioning the codebase from a "ready" state to a "tagged and released" state on GitHub and as a published package on NPM.
|
|
19
|
-
|
|
20
|
-
## Prerequisites
|
|
21
|
-
- **GitHub CLI (`gh`)**:
|
|
22
|
-
- Check for local install: `.agent\skills\release-manager\bin\gh.exe`
|
|
23
|
-
- Check for global install: `gh`
|
|
24
|
-
- **Authenticated**: Must be logged in (`.\.agent\bin\gh.exe auth login` or `gh auth login`).
|
|
25
|
-
- **NPM**: Must be logged in to publish (`npm whoami`).
|
|
26
|
-
|
|
27
|
-
## 🚀 Release Workflow
|
|
28
|
-
|
|
29
|
-
### Phase 0: Readiness Check (CRITICAL)
|
|
30
|
-
Before starting a release, ensure the following:
|
|
31
|
-
1. **Git Cleanliness**: Ensure `git status` is clean (no uncommitted changes except release prep).
|
|
32
|
-
2. **GSD Sync**: Run the converter to ensure `.agent/skills/gsd` is up-to-date with the latest `gsd-tools` discovery logic.
|
|
33
|
-
```powershell
|
|
34
|
-
py .agent/skills/gsd-converter/scripts/convert.py gsd
|
|
35
|
-
```
|
|
36
|
-
3. **Command Library Check**: Verify that `\.agent\skills\gsd\references\commands\` is populated with all migrated Skill documents (approx. 17+ files).
|
|
37
|
-
4. **Tests**: Run `npm test` if tests are defined.
|
|
38
|
-
5. **Auth Check (GitHub)**:
|
|
39
|
-
```powershell
|
|
40
|
-
$ghPath = ".\.agent\skills\release-manager\bin\gh.exe"
|
|
41
|
-
if (-not (Test-Path $ghPath)) { $ghPath = "gh" }
|
|
42
|
-
& $ghPath auth status
|
|
43
|
-
```
|
|
44
|
-
6. **Auth Check (NPM)**:
|
|
45
|
-
```powershell
|
|
46
|
-
npm whoami
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
### Phase 1: Strategic Versioning (Auto-Increment)
|
|
50
|
-
Determine the next version number. If not provided by the user, **default to PATCH** (e.g., 1.0.0 -> 1.0.1).
|
|
51
|
-
|
|
52
|
-
**Command**:
|
|
53
|
-
```powershell
|
|
54
|
-
# Bump version in package.json without creating a git tag yet
|
|
55
|
-
npm version patch --no-git-tag-version
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### Phase 2: Documentation Synchronization (MANDATORY)
|
|
59
|
-
**STOP**: You must ensure the release is fully documented before proceeding to GitHub.
|
|
60
|
-
1. **Changelog**: Ensure `CHANGELOG.md` is updated with all features, fixes, and the correct version number.
|
|
61
|
-
2. **Knowledgebase (KB)**: Update `docs/DEV_KNOWLEDGEBASE.md` using the **Knowledgebase Update Protocol**:
|
|
62
|
-
* **Input**: Read `CHANGELOG.md` and `git log` for "Fixed" items.
|
|
63
|
-
* **Analysis**: For each fix, identify **Context**, **Issue**, **Root Cause**, and **Technical Fix**.
|
|
64
|
-
* **Output**: Append details under the version header in `docs/DEV_KNOWLEDGEBASE.md`.
|
|
65
|
-
3. **README**: Update `README.md` version badges and release summary.
|
|
66
|
-
* **Action**: Search for `[![Release Version]` and update the version string in the badge URL.
|
|
67
|
-
4. **Verification**: Do not run Git commits or `gh release` until these files are saved and verified.
|
|
68
|
-
|
|
69
|
-
### Phase 3: Archive & Package
|
|
70
|
-
Create the release artifact for GitHub (Source Zip):
|
|
71
|
-
1. **Get Version**:
|
|
72
|
-
```powershell
|
|
73
|
-
$package = Get-Content package.json | ConvertFrom-Json
|
|
74
|
-
$ver = $package.version
|
|
75
|
-
```
|
|
76
|
-
2. **Archive**: Zip the repository content. We exclude local project data (`.planning`, `.antigravity`, `__tobedeleted`), temporary Git files, and the local `gh.exe` binary to keep the release lightweight.
|
|
77
|
-
```powershell
|
|
78
|
-
$packageName = $package.name
|
|
79
|
-
$excludes = @("node_modules", ".git", "__tobedeleted", "*.zip", ".antigravity", ".planning", "*.bak", "gh.exe", ".agent/skills/release-manager/bin/gh.exe")
|
|
80
|
-
$files = Get-ChildItem -Path . -Exclude $excludes
|
|
81
|
-
Compress-Archive -Path $files -DestinationPath "$packageName_v$ver.zip" -Force
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### Phase 4: Release Execution
|
|
85
|
-
1. **Commit**: Commit the version bump and doc updates: `git commit -am "chore: release v$ver"`
|
|
86
|
-
2. **Tag**: Create a git tag: `git tag "v$ver"`
|
|
87
|
-
3. **Push**: Push commits and tags: `git push && git push --tags`
|
|
88
|
-
|
|
89
|
-
### Phase 5: GitHub Release (Automatic upload)
|
|
90
|
-
Automatically create the release and upload the archive zip file.
|
|
91
|
-
|
|
92
|
-
**Fix for Upload Issues**:
|
|
93
|
-
We disable HTTP/2 (`$env:GODEBUG="http2client=0"`) to prevent "request body larger than specified content length" errors.
|
|
94
|
-
|
|
95
|
-
**Command**:
|
|
96
|
-
```powershell
|
|
97
|
-
$ghPath = ".\.agent\skills\release-manager\bin\gh.exe"
|
|
98
|
-
if (-not (Test-Path $ghPath)) { $ghPath = "gh" }
|
|
99
|
-
$package = Get-Content package.json | ConvertFrom-Json
|
|
100
|
-
$ver = $package.version
|
|
101
|
-
$packageName = $package.name
|
|
102
|
-
|
|
103
|
-
$env:GODEBUG="http2client=0"
|
|
104
|
-
& $ghPath release create "v$ver" "$packageName`_v$ver.zip" --generate-notes
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### Phase 6: NPM Publication
|
|
108
|
-
1. **Orchestrated Publish**: The `release.ps1` script will attempt `npm publish` automatically at the end of the workflow.
|
|
109
|
-
2. **Manual Fallback**: If the script is run with `--skipNpm` or fails, you can publish manually:
|
|
110
|
-
```powershell
|
|
111
|
-
# For public packages
|
|
112
|
-
npm publish
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
**Verification**:
|
|
116
|
-
```powershell
|
|
117
|
-
npm info gsd-antigravity-kit version
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### Phase 7: Release Cleanup
|
|
121
|
-
Remove old ZIP files from the project root.
|
|
122
|
-
```powershell
|
|
123
|
-
$package = Get-Content package.json | ConvertFrom-Json
|
|
124
|
-
$packageName = $package.name
|
|
125
|
-
Get-ChildItem "$packageName`_v*.zip" | Sort-Object LastWriteTime -Descending | Select-Object -Skip 2 | Remove-Item -Force
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
## 🛠️ Interactive Checklist
|
|
129
|
-
- [ ] **Phase 0: Readiness Check**
|
|
130
|
-
- [ ] Git Cleanliness
|
|
131
|
-
- [ ] GSD Sync (`convert.py gsd`)
|
|
132
|
-
- [ ] Verify `references/commands/` population
|
|
133
|
-
- [ ] `npm test` (if applicable)
|
|
134
|
-
- [ ] `gh auth status`
|
|
135
|
-
- [ ] `npm whoami`
|
|
136
|
-
- [ ] **Phase 1: Strategic Versioning**
|
|
137
|
-
- [ ] `npm version patch --no-git-tag-version`
|
|
138
|
-
- [ ] **Phase 2: Documentation Synchronization (Automated)**
|
|
139
|
-
- [ ] Update `CHANGELOG.md` (Self-writing via `release.ps1`)
|
|
140
|
-
- [ ] Update `docs/DEV_KNOWLEDGEBASE.md` (Fix summary via `release.ps1`)
|
|
141
|
-
- [ ] Update `README.md` (Badge URL replacement via `release.ps1`)
|
|
142
|
-
- [ ] **Phase 3: Archive & Package**
|
|
143
|
-
- [ ] Create ZIP archive: `gsd-antigravity-kit_v1.0.X.zip`
|
|
144
|
-
- [ ] **Phase 4: Release Execution**
|
|
145
|
-
- [ ] Git Commit & Tag
|
|
146
|
-
- [ ] Git Push
|
|
147
|
-
- [ ] **Phase 5: GitHub Release**
|
|
148
|
-
- [ ] `gh release create ...` (with `GODEBUG=http2client=0`)
|
|
149
|
-
- [ ] **Phase 6: NPM publication**
|
|
150
|
-
- [ ] `npm publish`
|
|
151
|
-
- [ ] **Phase 7: Release Cleanup**
|
|
152
|
-
- [ ] Remove old local ZIPs
|
|
153
|
-
|
|
154
|
-
## 🔍 Troubleshooting
|
|
155
|
-
|
|
156
|
-
| Issue | Potential Cause | Fix |
|
|
157
|
-
| :--- | :--- | :--- |
|
|
158
|
-
| **`gh` command not found** | GitHub CLI missing. | Ensure `.agent\skills\release-manager\bin\gh.exe` exists or `gh` is in PATH. |
|
|
159
|
-
| **Auth Error (GitHub)** | Token expired or not logged in. | Run `gh auth login`. |
|
|
160
|
-
| **Auth Error (NPM)** | Not logged in. | Run `npm login`. |
|
|
161
|
-
| **Upload Error (HTTP/2)** | `request body larger...` | Ensure `$env:GODEBUG="http2client=0"` is set. |
|
|
162
|
-
| **NPM Name Conflict** | Package name taken. | Update `name` in `package.json`. |
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2019 GitHub Inc.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
Binary file
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Knowledgebase Update Protocol
|
|
2
|
-
|
|
3
|
-
**Role:** You are the Lead Engineer analyzing the release for the Knowledgebase.
|
|
4
|
-
**Goal:** Translate "Bug Fixes" from the Changelog/Git History into technical "Root Cause Analysis" entries.
|
|
5
|
-
|
|
6
|
-
## Input
|
|
7
|
-
1. **Changelog:** Read `CHANGELOG.md` for the current version to identify "Fixed" items.
|
|
8
|
-
2. **Git History:** For each fix, search `git log --grep="<fix description>"` or `git diff` to see the actual code change.
|
|
9
|
-
3. **Chat session history:** analyze chat session history for more details about the issues and their fixes.
|
|
10
|
-
|
|
11
|
-
## Analysis Logic
|
|
12
|
-
For each "Fixed" item, determine:
|
|
13
|
-
1. **Context:** What component was broken? (e.g., Auth, PDF Engine).
|
|
14
|
-
2. **Issue:** What was the visible symptom?
|
|
15
|
-
3. **Root Cause:** *Why* was it broken? (e.g., "Race condition in hook", "Missing null check").
|
|
16
|
-
4. **Fix:** How was it solved technically? (e.g., "Added mutex", "Optional chaining").
|
|
17
|
-
|
|
18
|
-
## Output Format
|
|
19
|
-
Append to `docs/DEV_KNOWLEDGEBASE.md` under the new version header:
|
|
20
|
-
|
|
21
|
-
```markdown
|
|
22
|
-
### vX.Y.Z (YYYY-MM-DD)
|
|
23
|
-
* **Context:** <Component/Feature>
|
|
24
|
-
* **Issue:** <What was the user experience or error?>
|
|
25
|
-
* **Root Cause Analysis:** <Detailed technical explanation of WHY it happened>
|
|
26
|
-
* **How it was fixed:** <Technical implementation details of the solution>
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
**Instruction:** Perform this analysis NOW for the current release and update the file.
|