gator-command 1.0.0__tar.gz → 1.1.0__tar.gz

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 (131) hide show
  1. {gator_command-1.0.0/src/gator_command.egg-info → gator_command-1.1.0}/PKG-INFO +1 -1
  2. {gator_command-1.0.0 → gator_command-1.1.0}/pyproject.toml +1 -1
  3. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/__init__.py +1 -1
  4. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/cli.py +2 -0
  5. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gatorize.py +20 -11
  6. {gator_command-1.0.0 → gator_command-1.1.0/src/gator_command.egg-info}/PKG-INFO +1 -1
  7. {gator_command-1.0.0 → gator_command-1.1.0}/LICENSE +0 -0
  8. {gator_command-1.0.0 → gator_command-1.1.0}/README.md +0 -0
  9. {gator_command-1.0.0 → gator_command-1.1.0}/setup.cfg +0 -0
  10. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/crawler.py +0 -0
  11. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/dashboard/dashboard.css +0 -0
  12. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/dashboard/dashboard.html +0 -0
  13. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/dashboard/dashboard.js +0 -0
  14. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/dashboard/views/audit.js +0 -0
  15. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/dashboard/views/fleet.js +0 -0
  16. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/dashboard/views/repo.js +0 -0
  17. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/dashboard/views/settings.js +0 -0
  18. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/dashboard/views/updates.js +0 -0
  19. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/enforcer-prompt.md +0 -0
  20. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/extract-claude-sessions.py +0 -0
  21. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/extract-codex-sessions.py +0 -0
  22. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/extract-gemini-sessions.py +0 -0
  23. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-audit.py +0 -0
  24. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-charter-draft.py +0 -0
  25. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-charter-lint.py +0 -0
  26. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-charter-verify.py +0 -0
  27. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-dashboard.py +0 -0
  28. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-deploy.py +0 -0
  29. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-drift.py +0 -0
  30. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-enforce.py +0 -0
  31. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-fleet-intel.py +0 -0
  32. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-fleet-report.py +0 -0
  33. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-init-command-post.py +0 -0
  34. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-init.py +0 -0
  35. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-machine-id.py +0 -0
  36. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-policy-status.py +0 -0
  37. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-pulse.py +0 -0
  38. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-repo-status.py +0 -0
  39. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-session-common.py +0 -0
  40. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-session-sink.py +0 -0
  41. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-sessions.py +0 -0
  42. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-update.py +0 -0
  43. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator-version.py +0 -0
  44. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator_core.py +0 -0
  45. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator_remote.py +0 -0
  46. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gator_runtime.py +0 -0
  47. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gatorize-actions.sh +0 -0
  48. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gatorize-lib.sh +0 -0
  49. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gatorize-post.sh +0 -0
  50. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/gatorize.sh +0 -0
  51. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/generate_markdown.py +0 -0
  52. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/generate_wiki.py +0 -0
  53. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/graph_health.py +0 -0
  54. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/memex-lint.py +0 -0
  55. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/memex-lint.sh +0 -0
  56. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/memex.py +0 -0
  57. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/memex_formatters.py +0 -0
  58. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/memex_state.py +0 -0
  59. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/scripts/spawn.py +0 -0
  60. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/blueprints/README.md +0 -0
  61. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/charterignore +0 -0
  62. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/charters/README.md +0 -0
  63. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/charters/_template.md +0 -0
  64. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/commands/commit.md +0 -0
  65. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/commands/init.md +0 -0
  66. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/commands/update.md +0 -0
  67. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/constitution.md +0 -0
  68. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/field-guides/README.md +0 -0
  69. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/gator-start-up.md +0 -0
  70. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/procedures/charter-alignment.md +0 -0
  71. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/procedures/enforcer-review.md +0 -0
  72. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/procedures/field-guide-generation.md +0 -0
  73. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/procedures/knowledge-capture.md +0 -0
  74. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/procedures/significance-check.md +0 -0
  75. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/reference-notes/concierge-responses.md +0 -0
  76. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/reference-notes/dangerous-patterns.md +0 -0
  77. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/reference-notes/dashboard-operations.md +0 -0
  78. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/reference-notes/enforcer-configuration.md +0 -0
  79. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/reference-notes/example-project.md +0 -0
  80. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/reference-notes/failure-modes-and-self-correction.md +0 -0
  81. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/reference-notes/git-workflow.md +0 -0
  82. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/reference-notes/identity-and-ownership.md +0 -0
  83. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/reference-notes/refactor-approach.md +0 -0
  84. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/reference-notes/what-gator-requires-from-a-model.md +0 -0
  85. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/reference-notes/why-navigation-coding-feels-different.md +0 -0
  86. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/reference-notes/workflow-profiles.md +0 -0
  87. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/__pycache__/enforcer-review.cpython-313.pyc +0 -0
  88. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/__pycache__/gator-approve.cpython-313.pyc +0 -0
  89. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/__pycache__/gator-init.cpython-313.pyc +0 -0
  90. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/__pycache__/gator-pre-commit.cpython-313.pyc +0 -0
  91. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/__pycache__/gator-update.cpython-313.pyc +0 -0
  92. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/enforcer-prompt.md +0 -0
  93. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/enforcer-review.py +0 -0
  94. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/gator-approve.py +0 -0
  95. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/gator-enforce.py +0 -0
  96. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/gator-init.py +0 -0
  97. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/gator-pre-commit.py +0 -0
  98. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/gator-pulse.py +0 -0
  99. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/gator-update.py +0 -0
  100. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/gator-version.py +0 -0
  101. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/gator_core.py +0 -0
  102. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/hooks/__pycache__/commit-msgcpython-313.pyc +0 -0
  103. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/hooks/__pycache__/post-commitcpython-313.pyc +0 -0
  104. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/hooks/__pycache__/pre-commitcpython-313.pyc +0 -0
  105. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/hooks/commit-msg +0 -0
  106. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/hooks/post-commit +0 -0
  107. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/scripts/hooks/pre-commit +0 -0
  108. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/sessions/.gitignore +0 -0
  109. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/vault/.gitkeep +0 -0
  110. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command/templates/gator-starter/whiteboard.md +0 -0
  111. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command.egg-info/SOURCES.txt +0 -0
  112. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command.egg-info/dependency_links.txt +0 -0
  113. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command.egg-info/entry_points.txt +0 -0
  114. {gator_command-1.0.0 → gator_command-1.1.0}/src/gator_command.egg-info/top_level.txt +0 -0
  115. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_audit.py +0 -0
  116. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_audit_integration.py +0 -0
  117. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_charter_lint.py +0 -0
  118. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_deploy.py +0 -0
  119. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_drift.py +0 -0
  120. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_fleet_intel.py +0 -0
  121. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_fleet_report.py +0 -0
  122. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_gator_core.py +0 -0
  123. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_gatorize.py +0 -0
  124. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_hooks.py +0 -0
  125. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_init.py +0 -0
  126. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_memex_state.py +0 -0
  127. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_packaging.py +0 -0
  128. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_pre_commit.py +0 -0
  129. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_remote.py +0 -0
  130. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_session_sink.py +0 -0
  131. {gator_command-1.0.0 → gator_command-1.1.0}/tests/test_sessions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gator-command
3
- Version: 1.0.0
3
+ Version: 1.1.0
4
4
  Summary: Git-native governance for AI-assisted engineering
5
5
  Author-email: Cumberland Laboratories <support@cumberlandlaboratories.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "gator-command"
7
- version = "1.0.0"
7
+ version = "1.1.0"
8
8
  description = "Git-native governance for AI-assisted engineering"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -1,2 +1,2 @@
1
1
  """Gator Command — Git-native governance for AI-assisted engineering."""
2
- __version__ = "1.0.0"
2
+ __version__ = "1.1.0"
@@ -67,6 +67,8 @@ def _run_script(scripts_dir, script_name, args):
67
67
 
68
68
  COMMANDS = {
69
69
  "version": ("gator-version.py", "Show Gator version"),
70
+ "gatorize": ("gatorize.py", "Install or upgrade Gator in a repo"),
71
+ "update": ("gator-update.py", "Refresh templates and hooks"),
70
72
  "init": ("gator-init.py", "Run session-opening procedure"),
71
73
  "pulse": ("gator-pulse.py", "Generate strategic operations brief"),
72
74
  "dashboard": ("gator-dashboard.py", "Start the governance dashboard"),
@@ -30,8 +30,10 @@ from datetime import datetime
30
30
  from pathlib import Path
31
31
 
32
32
  SCRIPTS_DIR = Path(__file__).resolve().parent
33
- # Scripts are at src/gator_command/scripts/ — repo root is 3 levels up
34
- COMMAND_POST = SCRIPTS_DIR.parent.parent.parent
33
+ # Scripts are at src/gator_command/scripts/ — repo root is 3 levels up in a checkout.
34
+ # In a pipx install, this path is meaningless — command-post detection falls back to find_command_post().
35
+ _candidate_root = SCRIPTS_DIR.parent.parent.parent
36
+ COMMAND_POST = _candidate_root if (_candidate_root / ".git").is_dir() else _candidate_root
35
37
 
36
38
  sys.path.insert(0, str(SCRIPTS_DIR))
37
39
  from gator_core import find_command_post, ensure_utf8_stdout, import_sibling # noqa: E402
@@ -721,11 +723,16 @@ def action_install_thin_link(target):
721
723
 
722
724
  def action_install_product_source(target):
723
725
  """Write .gator/product-source.json."""
724
- gator_root = str(COMMAND_POST)
726
+ # Resolve the gator root: prefer a real repo checkout, fall back to package install location
727
+ pkg_root = SCRIPTS_DIR.parent # src/gator_command/ or site-packages/gator_command/
728
+ gator_root = str(COMMAND_POST) if (COMMAND_POST / ".git").is_dir() else str(pkg_root)
725
729
  template_dir = ""
726
- if (COMMAND_POST / "gator-engine" / "templates" / "gator-starter").is_dir():
730
+ root = Path(gator_root)
731
+ if (root / "gator-engine" / "templates" / "gator-starter").is_dir():
727
732
  template_dir = "gator-engine/templates/gator-starter"
728
- elif (COMMAND_POST / "gator-command" / "templates" / "gator-starter").is_dir():
733
+ elif (root / "templates" / "gator-starter").is_dir():
734
+ template_dir = "templates/gator-starter"
735
+ elif (root / "gator-command" / "templates" / "gator-starter").is_dir():
729
736
  template_dir = "gator-command/templates/gator-starter"
730
737
 
731
738
  import json
@@ -876,7 +883,7 @@ def action_morph_memex(target):
876
883
  log_step("Existing .gator/ found — upgrading templates.")
877
884
  subprocess.run(
878
885
  [sys.executable, str(SCRIPTS_DIR / "gator-update.py"),
879
- "--path", str(target), "--source", str(COMMAND_POST), "--no-policy"],
886
+ "--path", str(target), "--source", str(SCRIPTS_DIR.parent), "--no-policy"],
880
887
  cwd=str(target),
881
888
  )
882
889
  else:
@@ -1040,14 +1047,16 @@ def main():
1040
1047
  print(" Aborted.")
1041
1048
  sys.exit(0)
1042
1049
 
1043
- # Self-gatorize guard
1044
- if target.resolve() == COMMAND_POST.resolve():
1050
+ # Self-gatorize guard (only meaningful when running from a checkout)
1051
+ if (COMMAND_POST / ".git").is_dir() and target.resolve() == COMMAND_POST.resolve():
1045
1052
  print(" Error: Target is the command post itself. Gatorize a project repo, not gator-command.")
1046
1053
  sys.exit(1)
1047
1054
 
1048
1055
  # Check templates
1049
1056
  if not TEMPLATES or not TEMPLATES.is_dir():
1050
- print(f" Error: Templates not found. Are you running this from the gator repo?")
1057
+ print(" Error: Templates not found.")
1058
+ print(" If installed via pipx, try: pipx upgrade gator-command")
1059
+ print(" If running from a clone, check the repo layout.")
1051
1060
  sys.exit(1)
1052
1061
 
1053
1062
  # Detect scenario
@@ -1089,7 +1098,7 @@ def main():
1089
1098
  print()
1090
1099
  result = subprocess.run(
1091
1100
  [sys.executable, str(SCRIPTS_DIR / "gator-update.py"),
1092
- "--path", str(target), "--source", str(COMMAND_POST), "--no-policy"],
1101
+ "--path", str(target), "--source", str(SCRIPTS_DIR.parent), "--no-policy"],
1093
1102
  cwd=str(target),
1094
1103
  )
1095
1104
  if result.returncode != 0:
@@ -1133,7 +1142,7 @@ def main():
1133
1142
  print(f" Running update (generation {gen})...")
1134
1143
  result = subprocess.run(
1135
1144
  [sys.executable, str(SCRIPTS_DIR / "gator-update.py"),
1136
- "--path", str(target), "--source", str(COMMAND_POST), "--no-policy"],
1145
+ "--path", str(target), "--source", str(SCRIPTS_DIR.parent), "--no-policy"],
1137
1146
  cwd=str(target),
1138
1147
  )
1139
1148
  if result.returncode != 0:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gator-command
3
- Version: 1.0.0
3
+ Version: 1.1.0
4
4
  Summary: Git-native governance for AI-assisted engineering
5
5
  Author-email: Cumberland Laboratories <support@cumberlandlaboratories.com>
6
6
  License: MIT
File without changes
File without changes
File without changes