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.
- package/CLAUDE.md +1 -1
- package/hooks/blocking/CLAUDE.md +1 -0
- package/hooks/blocking/code_rules_shared.py +126 -47
- package/hooks/blocking/config/CLAUDE.md +2 -0
- package/hooks/blocking/config/verified_commit_context_constants.py +21 -0
- package/hooks/blocking/config/verified_commit_gate_output_constants.py +14 -0
- package/hooks/blocking/conftest.py +36 -30
- package/hooks/blocking/convergence_gate_blocker.py +76 -8
- package/hooks/blocking/plain_language_blocker.py +8 -0
- package/hooks/blocking/state_description_blocker.py +4 -1
- package/hooks/blocking/test_code_rules_shared.py +120 -20
- package/hooks/blocking/test_convergence_gate_blocker.py +146 -0
- package/hooks/blocking/test_plain_language_blocker.py +15 -0
- package/hooks/blocking/test_state_description_blocker.py +15 -0
- package/hooks/blocking/test_verified_commit_config_bootstrap.py +18 -0
- package/hooks/blocking/test_verified_commit_gate_additional_context.py +134 -0
- package/hooks/blocking/tests/test_verified_commit_gate.py +41 -0
- package/hooks/blocking/verified_commit_config_bootstrap.py +22 -10
- package/hooks/blocking/verified_commit_gate.py +113 -568
- package/hooks/blocking/verified_commit_gate_parts/CLAUDE.md +28 -0
- package/hooks/blocking/verified_commit_gate_parts/__init__.py +1 -0
- package/hooks/blocking/verified_commit_gate_parts/command_tokenization.py +174 -0
- package/hooks/blocking/verified_commit_gate_parts/deny_payload.py +53 -0
- package/hooks/blocking/verified_commit_gate_parts/deny_reason.py +80 -0
- package/hooks/blocking/verified_commit_gate_parts/directory_resolution.py +170 -0
- package/hooks/blocking/verified_commit_gate_parts/gated_invocations.py +205 -0
- package/hooks/blocking/verified_commit_gate_parts/tests/conftest.py +10 -0
- package/hooks/blocking/verified_commit_gate_parts/tests/test_command_tokenization.py +94 -0
- package/hooks/blocking/verified_commit_gate_parts/tests/test_deny_payload.py +17 -0
- package/hooks/blocking/verified_commit_gate_parts/tests/test_deny_reason.py +38 -0
- package/hooks/blocking/verified_commit_gate_parts/tests/test_directory_resolution.py +71 -0
- package/hooks/blocking/verified_commit_gate_parts/tests/test_gated_invocations.py +61 -0
- package/hooks/hooks_constants/CLAUDE.md +4 -1
- package/hooks/hooks_constants/code_rules_path_utils_constants.py +1 -0
- package/hooks/hooks_constants/convergence_gate_blocker_constants.py +36 -0
- package/hooks/hooks_constants/harness_scratchpad_constants.py +10 -9
- package/hooks/hooks_constants/mypy_integration_constants.py +16 -0
- package/hooks/validators/mypy_integration.py +145 -24
- package/hooks/validators/python_antipattern_checks.py +16 -0
- package/hooks/validators/run_all_validators.py +9 -3
- package/hooks/validators/test_mypy_integration.py +154 -0
- package/hooks/validators/test_python_antipattern_checks.py +112 -1
- package/hooks/validators/test_run_all_validators_pretooluse.py +16 -0
- package/package.json +1 -1
- package/rules/CLAUDE.md +1 -0
- package/rules/verified-commit-gate-skip.md +28 -0
- package/skills/_shared/pr-loop/CLAUDE.md +18 -13
- package/skills/_shared/pr-loop/portable-driver.md +150 -0
- package/skills/_shared/pr-loop/scripts/CLAUDE.md +3 -0
- package/skills/_shared/pr-loop/scripts/build_converge_task_list.py +310 -0
- package/skills/_shared/pr-loop/scripts/portable_converge_driver.py +1637 -0
- package/skills/_shared/pr-loop/scripts/select_converge_pacer.py +215 -0
- package/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/CLAUDE.md +3 -0
- package/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/converge_task_list_constants.py +56 -0
- package/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/pacer_constants.py +47 -0
- package/skills/_shared/pr-loop/scripts/skills_pr_loop_constants/portable_driver_constants.py +181 -0
- package/skills/_shared/pr-loop/scripts/test_build_converge_task_list.py +140 -0
- package/skills/_shared/pr-loop/scripts/test_portable_converge_driver.py +1119 -0
- package/skills/_shared/pr-loop/scripts/test_select_converge_pacer.py +207 -0
- package/skills/auditing-claude-config/CLAUDE.md +2 -1
- package/skills/auditing-claude-config/SKILL.md +114 -176
- package/skills/auditing-claude-config/reference/probe-hook.md +74 -0
- package/skills/autoconverge/CLAUDE.md +6 -3
- package/skills/autoconverge/SKILL.md +421 -346
- package/skills/autoconverge/reference/CLAUDE.md +1 -0
- package/skills/autoconverge/reference/convergence.md +5 -5
- package/skills/autoconverge/reference/copilot-findings.md +51 -0
- package/skills/autoconverge/reference/multi-pr.md +33 -2
- package/skills/autoconverge/reference/stop-conditions.md +9 -6
- package/skills/autoconverge/test_portable_pacer_gate.py +54 -0
- package/skills/closeout/SKILL.md +7 -9
- package/skills/copilot-finding-triage/SKILL.md +21 -11
- package/skills/copilot-review/CLAUDE.md +3 -2
- package/skills/copilot-review/SKILL.md +119 -155
- package/skills/copilot-review/templates/subagent-prompt.md +49 -0
- package/skills/fresh-branch/CLAUDE.md +6 -9
- package/skills/fresh-branch/SKILL.md +84 -33
- package/skills/fresh-branch/scripts/create_fresh_branch.py +445 -0
- package/skills/fresh-branch/scripts/fresh_branch_scripts_constants/__init__.py +1 -0
- package/skills/fresh-branch/scripts/fresh_branch_scripts_constants/fresh_branch_cli_constants.py +74 -0
- package/skills/fresh-branch/scripts/test_create_fresh_branch.py +670 -0
- package/skills/pr-converge/CLAUDE.md +4 -3
- package/skills/pr-converge/SKILL.md +469 -422
- package/skills/pr-converge/reference/CLAUDE.md +1 -0
- package/skills/pr-converge/reference/multi-pr-orchestration.md +5 -1
- package/skills/pr-converge/reference/per-tick.md +51 -24
- package/skills/pr-converge/reference/progress-checklist.md +168 -0
- package/skills/pr-converge/test_portable_pacer_gate.py +67 -0
- package/skills/pr-converge/test_step5_host_branch.py +8 -6
- package/skills/pr-converge/workflows/schedule-wakeup-loop.md +5 -3
- package/skills/pr-loop-cloud-transport/SKILL.md +1 -1
- package/skills/privacy-hygiene/SKILL.md +68 -115
- package/skills/privacy-hygiene/reference/sweep-procedure.md +62 -0
- package/skills/session-log/CLAUDE.md +2 -1
- package/skills/session-log/SKILL.md +4 -26
- package/skills/session-log/templates/frontmatter.md +40 -0
- package/skills/skill-builder/CLAUDE.md +8 -7
- package/skills/skill-builder/SKILL.md +26 -11
- package/skills/skill-builder/references/CLAUDE.md +3 -1
- package/skills/skill-builder/references/delegation-map.md +21 -12
- package/skills/skill-builder/references/description-field.md +9 -11
- package/skills/skill-builder/references/deterministic-elements.md +218 -0
- package/skills/skill-builder/references/self-audit-checklist.md +62 -45
- package/skills/skill-builder/references/skill-modularity.md +8 -9
- package/skills/skill-builder/templates/CLAUDE.md +2 -2
- package/skills/skill-builder/templates/gap-analysis.md +15 -0
- package/skills/skill-builder/workflows/CLAUDE.md +5 -5
- package/skills/skill-builder/workflows/improve-skill.md +18 -9
- package/skills/skill-builder/workflows/new-skill.md +23 -15
- package/skills/skill-builder/workflows/polish-skill.md +28 -21
package/skills/fresh-branch/scripts/fresh_branch_scripts_constants/fresh_branch_cli_constants.py
ADDED
|
@@ -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]+)*$"
|