claude-dev-env 2.0.2 → 2.2.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 (110) hide show
  1. package/CLAUDE.md +1 -1
  2. package/hooks/blocking/CLAUDE.md +1 -0
  3. package/hooks/blocking/code_rules_shared.py +126 -47
  4. package/hooks/blocking/config/CLAUDE.md +2 -0
  5. package/hooks/blocking/config/verified_commit_context_constants.py +21 -0
  6. package/hooks/blocking/config/verified_commit_gate_output_constants.py +14 -0
  7. package/hooks/blocking/conftest.py +36 -30
  8. package/hooks/blocking/convergence_gate_blocker.py +76 -8
  9. package/hooks/blocking/plain_language_blocker.py +8 -0
  10. package/hooks/blocking/state_description_blocker.py +4 -1
  11. package/hooks/blocking/test_code_rules_shared.py +120 -20
  12. package/hooks/blocking/test_convergence_gate_blocker.py +146 -0
  13. package/hooks/blocking/test_plain_language_blocker.py +15 -0
  14. package/hooks/blocking/test_state_description_blocker.py +15 -0
  15. package/hooks/blocking/test_verified_commit_config_bootstrap.py +18 -0
  16. package/hooks/blocking/test_verified_commit_gate_additional_context.py +134 -0
  17. package/hooks/blocking/tests/test_verified_commit_gate.py +41 -0
  18. package/hooks/blocking/verified_commit_config_bootstrap.py +22 -10
  19. package/hooks/blocking/verified_commit_gate.py +113 -568
  20. package/hooks/blocking/verified_commit_gate_parts/CLAUDE.md +28 -0
  21. package/hooks/blocking/verified_commit_gate_parts/__init__.py +1 -0
  22. package/hooks/blocking/verified_commit_gate_parts/command_tokenization.py +174 -0
  23. package/hooks/blocking/verified_commit_gate_parts/deny_payload.py +53 -0
  24. package/hooks/blocking/verified_commit_gate_parts/deny_reason.py +80 -0
  25. package/hooks/blocking/verified_commit_gate_parts/directory_resolution.py +170 -0
  26. package/hooks/blocking/verified_commit_gate_parts/gated_invocations.py +205 -0
  27. package/hooks/blocking/verified_commit_gate_parts/tests/conftest.py +10 -0
  28. package/hooks/blocking/verified_commit_gate_parts/tests/test_command_tokenization.py +94 -0
  29. package/hooks/blocking/verified_commit_gate_parts/tests/test_deny_payload.py +17 -0
  30. package/hooks/blocking/verified_commit_gate_parts/tests/test_deny_reason.py +38 -0
  31. package/hooks/blocking/verified_commit_gate_parts/tests/test_directory_resolution.py +71 -0
  32. package/hooks/blocking/verified_commit_gate_parts/tests/test_gated_invocations.py +61 -0
  33. package/hooks/hooks_constants/CLAUDE.md +4 -1
  34. package/hooks/hooks_constants/code_rules_path_utils_constants.py +1 -0
  35. package/hooks/hooks_constants/convergence_gate_blocker_constants.py +36 -0
  36. package/hooks/hooks_constants/harness_scratchpad_constants.py +10 -9
  37. package/hooks/hooks_constants/mypy_integration_constants.py +16 -0
  38. package/hooks/validators/mypy_integration.py +145 -24
  39. package/hooks/validators/python_antipattern_checks.py +16 -0
  40. package/hooks/validators/run_all_validators.py +9 -3
  41. package/hooks/validators/test_mypy_integration.py +154 -0
  42. package/hooks/validators/test_python_antipattern_checks.py +112 -1
  43. package/hooks/validators/test_run_all_validators_pretooluse.py +16 -0
  44. package/package.json +1 -1
  45. package/rules/CLAUDE.md +1 -0
  46. package/rules/verified-commit-gate-skip.md +28 -0
  47. package/skills/_shared/pr-loop/CLAUDE.md +18 -13
  48. package/skills/_shared/pr-loop/portable-driver.md +150 -0
  49. package/skills/_shared/pr-loop/scripts/CLAUDE.md +3 -0
  50. package/skills/_shared/pr-loop/scripts/build_converge_task_list.py +310 -0
  51. package/skills/_shared/pr-loop/scripts/portable_converge_driver.py +1637 -0
  52. package/skills/_shared/pr-loop/scripts/select_converge_pacer.py +215 -0
  53. package/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/CLAUDE.md +3 -0
  54. package/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/converge_task_list_constants.py +56 -0
  55. package/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/pacer_constants.py +47 -0
  56. package/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/portable_driver_constants.py +181 -0
  57. package/skills/_shared/pr-loop/scripts/test_build_converge_task_list.py +140 -0
  58. package/skills/_shared/pr-loop/scripts/test_portable_converge_driver.py +1119 -0
  59. package/skills/_shared/pr-loop/scripts/test_select_converge_pacer.py +207 -0
  60. package/skills/auditing-claude-config/CLAUDE.md +2 -1
  61. package/skills/auditing-claude-config/SKILL.md +114 -176
  62. package/skills/auditing-claude-config/reference/probe-hook.md +74 -0
  63. package/skills/autoconverge/CLAUDE.md +6 -3
  64. package/skills/autoconverge/SKILL.md +421 -346
  65. package/skills/autoconverge/reference/CLAUDE.md +1 -0
  66. package/skills/autoconverge/reference/convergence.md +5 -5
  67. package/skills/autoconverge/reference/copilot-findings.md +51 -0
  68. package/skills/autoconverge/reference/multi-pr.md +33 -2
  69. package/skills/autoconverge/reference/stop-conditions.md +9 -6
  70. package/skills/autoconverge/test_portable_pacer_gate.py +54 -0
  71. package/skills/closeout/SKILL.md +7 -9
  72. package/skills/copilot-finding-triage/SKILL.md +21 -11
  73. package/skills/copilot-review/CLAUDE.md +3 -2
  74. package/skills/copilot-review/SKILL.md +119 -155
  75. package/skills/copilot-review/templates/subagent-prompt.md +49 -0
  76. package/skills/fresh-branch/CLAUDE.md +6 -9
  77. package/skills/fresh-branch/SKILL.md +84 -33
  78. package/skills/fresh-branch/scripts/create_fresh_branch.py +445 -0
  79. package/skills/fresh-branch/scripts/fresh_branch_scripts_constants/__init__.py +1 -0
  80. package/skills/fresh-branch/scripts/fresh_branch_scripts_constants/fresh_branch_cli_constants.py +74 -0
  81. package/skills/fresh-branch/scripts/test_create_fresh_branch.py +670 -0
  82. package/skills/pr-converge/CLAUDE.md +4 -3
  83. package/skills/pr-converge/SKILL.md +469 -422
  84. package/skills/pr-converge/reference/CLAUDE.md +1 -0
  85. package/skills/pr-converge/reference/multi-pr-orchestration.md +5 -1
  86. package/skills/pr-converge/reference/per-tick.md +51 -24
  87. package/skills/pr-converge/reference/progress-checklist.md +168 -0
  88. package/skills/pr-converge/test_portable_pacer_gate.py +67 -0
  89. package/skills/pr-converge/test_step5_host_branch.py +8 -6
  90. package/skills/pr-converge/workflows/schedule-wakeup-loop.md +5 -3
  91. package/skills/pr-loop-cloud-transport/SKILL.md +1 -1
  92. package/skills/privacy-hygiene/SKILL.md +68 -115
  93. package/skills/privacy-hygiene/reference/sweep-procedure.md +62 -0
  94. package/skills/session-log/CLAUDE.md +2 -1
  95. package/skills/session-log/SKILL.md +4 -26
  96. package/skills/session-log/templates/frontmatter.md +40 -0
  97. package/skills/skill-builder/CLAUDE.md +8 -7
  98. package/skills/skill-builder/SKILL.md +26 -11
  99. package/skills/skill-builder/references/CLAUDE.md +3 -1
  100. package/skills/skill-builder/references/delegation-map.md +21 -12
  101. package/skills/skill-builder/references/description-field.md +9 -11
  102. package/skills/skill-builder/references/deterministic-elements.md +218 -0
  103. package/skills/skill-builder/references/self-audit-checklist.md +62 -45
  104. package/skills/skill-builder/references/skill-modularity.md +8 -9
  105. package/skills/skill-builder/templates/CLAUDE.md +2 -2
  106. package/skills/skill-builder/templates/gap-analysis.md +15 -0
  107. package/skills/skill-builder/workflows/CLAUDE.md +5 -5
  108. package/skills/skill-builder/workflows/improve-skill.md +18 -9
  109. package/skills/skill-builder/workflows/new-skill.md +23 -15
  110. package/skills/skill-builder/workflows/polish-skill.md +28 -21
@@ -0,0 +1,74 @@
1
+ """Constants for the fresh-branch worktree creator.
2
+
3
+ Groups: default refs, agent detection, path layout, JSON payload keys,
4
+ exit codes, and unique-path suffix limits.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ DEFAULT_BASE_REF = "origin/main"
10
+ DEFAULT_AGENT_SLUG = "claude"
11
+ FRESH_BRANCH_AGENT_ENV_VAR = "FRESH_BRANCH_AGENT"
12
+
13
+ ALL_AGENT_DETECTION_MARKERS: tuple[tuple[str, str], ...] = (
14
+ ("CURSOR_AGENT", "cursor"),
15
+ ("CURSOR_TRACE_ID", "cursor"),
16
+ ("CODEX_HOME", "codex"),
17
+ ("CODEX_CI", "codex"),
18
+ ("GROK_AGENT", "grok"),
19
+ ("CLAUDECODE", "claude"),
20
+ ("CLAUDE_CODE_ENTRYPOINT", "claude"),
21
+ )
22
+
23
+ PATH_SEGMENT_CURRENT = "."
24
+ PATH_SEGMENT_PARENT = ".."
25
+
26
+ WINDOWS_PLATFORM_PREFIX = "win"
27
+ ALL_WINDOWS_USER_SCRATCH_PARTS = ("AppData", "Local", "Temp")
28
+ USERPROFILE_ENV_VAR = "USERPROFILE"
29
+
30
+ MAXIMUM_UNIQUE_PATH_ATTEMPTS = 100
31
+ UNIQUE_PATH_SUFFIX_START = 2
32
+
33
+ PAYLOAD_KEY_BRANCH = "branch"
34
+ PAYLOAD_KEY_WORKTREE_PATH = "worktree_path"
35
+ PAYLOAD_KEY_BASE_REF = "base_ref"
36
+ PAYLOAD_KEY_BASE_COMMIT = "base_commit"
37
+ PAYLOAD_KEY_AGENT = "agent"
38
+ PAYLOAD_KEY_REPO_ROOT = "repo_root"
39
+ PAYLOAD_KEY_ERROR = "error"
40
+
41
+ EXIT_CODE_SUCCESS = 0
42
+ EXIT_CODE_FAILURE = 1
43
+
44
+ GIT_COMMAND = "git"
45
+ GIT_FETCH = "fetch"
46
+ GIT_REV_PARSE = "rev-parse"
47
+ GIT_SHOW_REF = "show-ref"
48
+ GIT_WORKTREE = "worktree"
49
+ GIT_WORKTREE_ADD = "add"
50
+ GIT_BRANCH_FLAG = "-b"
51
+ GIT_VERIFY_FLAG = "--verify"
52
+ GIT_QUIET_FLAG = "--quiet"
53
+ GIT_SHOW_TOPLEVEL = "--show-toplevel"
54
+ GIT_CHECK_REF_FORMAT = "check-ref-format"
55
+ GIT_BRANCH_FORMAT_FLAG = "--branch"
56
+ GIT_REMOTE_PREFIX = "origin/"
57
+ GIT_REFS_REMOTES_PREFIX = "refs/remotes/"
58
+ GIT_REMOTE_NAME_ORIGIN = "origin"
59
+
60
+ ERROR_BRANCH_NAME_REQUIRED = "branch name is required"
61
+ ERROR_BRANCH_NAME_UNSAFE = (
62
+ "branch name must be a relative path without '.' or '..' segments"
63
+ )
64
+ ERROR_WORKTREE_PATH_OUTSIDE_ROOT = "worktree path escapes agent root: %s"
65
+ ERROR_CLI_ARGUMENTS = "invalid or missing command-line arguments"
66
+ ERROR_AGENT_SLUG_INVALID = "agent slug must be lowercase letters, digits, or hyphens"
67
+ ERROR_REPO_NOT_GIT = "path is not inside a git repository: %s"
68
+ ERROR_BASE_REF_MISSING = "base ref not found after fetch: %s"
69
+ ERROR_FETCH_FAILED = "git fetch failed for %s: %s"
70
+ ERROR_WORKTREE_FAILED = "git worktree add failed: %s"
71
+ ERROR_UNIQUE_PATH_EXHAUSTED = "could not allocate a unique worktree path under %s"
72
+ ERROR_BASE_COMMIT_LOOKUP = "could not resolve base commit for %s: %s"
73
+
74
+ AGENT_SLUG_PATTERN = r"^[a-z0-9]+(?:-[a-z0-9]+)*$"