gitwise-cli 0.35.1__tar.gz → 0.36.1__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.
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/CHANGELOG.md +12 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/PKG-INFO +138 -44
- gitwise_cli-0.36.1/README.md +271 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/__init__.py +1 -1
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/_cli_dispatch.py +0 -1
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/_cli_parser.py +2 -3
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/_i18n_data.json +7 -7
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/clean.py +0 -6
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/update.py +32 -6
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/pyproject.toml +1 -1
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/clean.json +0 -4
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/stash.json +20 -6
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/update.json +1 -1
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/worktree.json +3 -2
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_audit.py +9 -5
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_clean.py +19 -20
- gitwise_cli-0.36.1/tests/test_roadmap_baseline_script.py +134 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_schema_catalog.py +23 -0
- gitwise_cli-0.36.1/tests/test_update.py +65 -0
- gitwise_cli-0.35.1/README.md +0 -177
- gitwise_cli-0.35.1/tests/test_roadmap_baseline_script.py +0 -57
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/.gitignore +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/LICENSE +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/bin/gitwise +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/bin/gw +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/__main__.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/_cli_completions.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/_cli_introspection.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/_cli_setup_agents.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/_paths.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/_runtime_config.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/audit.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/branches.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/commit.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/conflicts.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/context.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/design.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/diff.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/doctor.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/git.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/health.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/i18n.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/log.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/merge.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/optimize.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/output.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/pick.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/pr.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/py.typed +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/schema.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/__init__.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/adapters/__init__.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/adapters/aider.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/adapters/base.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/adapters/codex.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/adapters/continue_adapter.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/adapters/cursor.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/adapters/opencode.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/adapters/pi.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/exec.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/format.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/plan.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/plan_gitfiles.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/plan_skills.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/providers/__init__.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/providers/aider.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/providers/base.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/providers/claude.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/providers/codex.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/providers/continue_adapter.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/providers/cursor.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/providers/opencode.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/providers/pi.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/state.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/setup_agents/types.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/show.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/snapshot.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/stash.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/status.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/suggest.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/summarize.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/sync.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/tag.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/undo.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/utils/__init__.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/utils/git_output.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/utils/in_progress.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/utils/json_envelope.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/utils/parsing.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/utils/secret_scan.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/utils/types.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/gitwise/worktree.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/install.sh +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/agents/skills/git-audit/SKILL.md +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/agents/skills/git-clean/SKILL.md +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/agents/skills/git-optimize/SKILL.md +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/aider/CONVENTIONS.md.template +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/aider/aider.conf.yml.template +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/claude/CLAUDE.md.template +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/claude/rules/gitwise.md +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/claude/settings.json.template +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/claude/skills/git-audit/SKILL.md +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/claude/skills/git-clean/SKILL.md +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/claude/skills/git-optimize/SKILL.md +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/codex/agents/gitwise.toml.template +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/continue/rules/gitwise.md.template +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/cursor/rules/gitwise.mdc.template +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/git-config-modern.txt +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/hooks/commit-msg +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/hooks/pre-commit +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/opencode/agents/gitwise.md.template +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/pi/skills/gitwise.md.template +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/audit.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/branches.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/commands.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/commit.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/completions.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/conflicts.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/context.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/diff.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/doctor.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/health.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/log.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/merge.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/optimize.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/pick.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/pr.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/schema.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/setup-agents.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/setup.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/show.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/snapshot.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/stash.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/status.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/suggest.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/summarize.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/sync.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/tag.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/undo.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/update.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/input/worktree.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/audit.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/branches.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/clean.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/commands.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/commit.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/conflicts.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/context.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/diff.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/doctor.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/health.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/log.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/merge.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/optimize.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/pick.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/pr.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/setup-agents.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/setup.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/snapshot.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/status.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/suggest.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/summarize.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/sync.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/tag.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/share/schemas/v1/output/undo.json +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/__init__.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/conftest.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_adapters.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_branches.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_commands.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_commit.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_conflicts.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_context.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_design.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_diff.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_doctor.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_edge_cases.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_envelope_contract.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_git.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_git_output_utils.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_health.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_i18n.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_in_progress.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_json_envelope_utils.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_log.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_main.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_md_links_script.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_merge.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_optimize.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_output.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_parsing_utils.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_pick.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_pr.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_sa_plan.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_sa_unit.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_secret_scan.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_setup.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_setup_agents.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_show.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_snapshot.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_stash.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_status.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_suggest.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_summarize.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_sync.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_sync_changelog_es_script.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_tag.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_types.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_undo.py +0 -0
- {gitwise_cli-0.35.1 → gitwise_cli-0.36.1}/tests/test_worktree.py +0 -0
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
4
4
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
5
5
|
|
|
6
|
+
## v0.36.1 (2026-07-22)
|
|
7
|
+
|
|
8
|
+
### Fix
|
|
9
|
+
|
|
10
|
+
- **schema**: align output contracts after review
|
|
11
|
+
|
|
12
|
+
## v0.36.0 (2026-07-22)
|
|
13
|
+
|
|
14
|
+
### Fix
|
|
15
|
+
|
|
16
|
+
- remove unimplemented clean refs contract
|
|
17
|
+
|
|
6
18
|
## v0.35.1 (2026-07-22)
|
|
7
19
|
|
|
8
20
|
### Fix
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitwise-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.36.1
|
|
4
4
|
Summary: Python CLI for optimizing git workflows and Claude Code integration
|
|
5
5
|
Project-URL: Homepage, https://github.com/drzioner/gitwise
|
|
6
6
|
Project-URL: Repository, https://github.com/drzioner/gitwise
|
|
@@ -44,21 +44,20 @@ Python CLI for optimized Git workflows and coding agents integration.
|
|
|
44
44
|
[](https://www.python.org/downloads/)
|
|
45
45
|
[](docs/README.md)
|
|
46
46
|
|
|
47
|
-
gitwise
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
3. Unsafe commit flows that bypass GPG signing rules
|
|
47
|
+
gitwise gives coding agents bounded repository context, isolated branch workflows,
|
|
48
|
+
and safe commit paths without hiding the underlying Git operations. Every command
|
|
49
|
+
supports machine-readable JSON, and destructive operations expose dry-run or
|
|
50
|
+
confirmation gates.
|
|
52
51
|
|
|
53
52
|
## Requirements
|
|
54
53
|
|
|
55
54
|
- Python >= 3.10
|
|
56
55
|
- git >= 2.29
|
|
57
|
-
- macOS or
|
|
56
|
+
- macOS, Linux, or Windows
|
|
58
57
|
|
|
59
58
|
## Install
|
|
60
59
|
|
|
61
|
-
|
|
60
|
+
Choose the channel you already trust:
|
|
62
61
|
|
|
63
62
|
**Homebrew** (macOS/Linux, recommended if you already use [Homebrew](https://brew.sh)):
|
|
64
63
|
|
|
@@ -68,7 +67,7 @@ brew install drzioner/tap/gitwise
|
|
|
68
67
|
|
|
69
68
|
Update later with `brew upgrade gitwise`. Uninstall with `brew uninstall gitwise`.
|
|
70
69
|
|
|
71
|
-
**
|
|
70
|
+
**Installer script** (auto-installs `uv` if needed):
|
|
72
71
|
|
|
73
72
|
```bash
|
|
74
73
|
curl -fsSL https://raw.githubusercontent.com/drzioner/gitwise/main/install.sh | bash
|
|
@@ -80,7 +79,13 @@ curl -fsSL https://raw.githubusercontent.com/drzioner/gitwise/main/install.sh |
|
|
|
80
79
|
uv tool install gitwise-cli
|
|
81
80
|
```
|
|
82
81
|
|
|
83
|
-
**
|
|
82
|
+
**Windows PowerShell** (PowerShell 5.1+):
|
|
83
|
+
|
|
84
|
+
```powershell
|
|
85
|
+
irm https://raw.githubusercontent.com/drzioner/gitwise/main/install.ps1 | iex
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**From source** (contributors only):
|
|
84
89
|
|
|
85
90
|
```bash
|
|
86
91
|
git clone https://github.com/drzioner/gitwise.git
|
|
@@ -89,20 +94,12 @@ uv sync
|
|
|
89
94
|
uv run python -m gitwise doctor
|
|
90
95
|
```
|
|
91
96
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
```powershell
|
|
95
|
-
irm https://raw.githubusercontent.com/drzioner/gitwise/main/install.ps1 | iex
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
For a version-pinned install (e.g. for reproducible setups), see `Get-Help .\install.ps1 -Detailed` after download.
|
|
99
|
-
|
|
100
|
-
Update an existing installation:
|
|
97
|
+
Update through the same channel used to install:
|
|
101
98
|
|
|
102
99
|
```bash
|
|
103
100
|
brew upgrade gitwise # if installed via Homebrew (macOS/Linux)
|
|
104
101
|
uv tool upgrade gitwise-cli # if installed via uv (any OS)
|
|
105
|
-
# or
|
|
102
|
+
# or rerun the installer script
|
|
106
103
|
```
|
|
107
104
|
|
|
108
105
|
Uninstall:
|
|
@@ -112,7 +109,7 @@ brew uninstall gitwise # if installed via Homebrew
|
|
|
112
109
|
uv tool uninstall gitwise-cli # if installed via uv (any OS)
|
|
113
110
|
```
|
|
114
111
|
|
|
115
|
-
## Quick
|
|
112
|
+
## Quick start
|
|
116
113
|
|
|
117
114
|
```bash
|
|
118
115
|
gitwise doctor
|
|
@@ -121,28 +118,128 @@ gitwise setup-agents --local --dry-run
|
|
|
121
118
|
gitwise summarize
|
|
122
119
|
```
|
|
123
120
|
|
|
124
|
-
|
|
121
|
+
The first three commands inspect or plan changes. Add `--yes` only after reviewing
|
|
122
|
+
the plan.
|
|
123
|
+
|
|
124
|
+
## Five workflows
|
|
125
|
+
|
|
126
|
+
### 1. Prepare a repository
|
|
127
|
+
|
|
128
|
+
Check the environment, preview modern Git defaults, and install the canonical
|
|
129
|
+
agent layout:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
gitwise doctor --json
|
|
133
|
+
gitwise setup --dry-run
|
|
134
|
+
gitwise setup --yes
|
|
135
|
+
gitwise setup-agents --local --dry-run
|
|
136
|
+
gitwise setup-agents --local --yes
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
`setup` and `setup-agents` do not change `commit.gpgsign` or `user.signingkey`.
|
|
140
|
+
|
|
141
|
+
### 2. Give an agent bounded context
|
|
142
|
+
|
|
143
|
+
Use structured summaries instead of feeding an agent an unbounded raw diff:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
gitwise context --json
|
|
147
|
+
gitwise context --max-entries 50 --json
|
|
148
|
+
gitwise summarize --json
|
|
149
|
+
gitwise diff --stat --json
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
`context --json` defaults to 100 tree entries and reports `tree_total` plus
|
|
153
|
+
`tree_truncated` when it omits entries.
|
|
154
|
+
|
|
155
|
+
### 3. Isolate agent work
|
|
156
|
+
|
|
157
|
+
Create a sibling worktree for a branch and use the path printed by the command:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
gitwise worktree new feature/agent-task
|
|
161
|
+
gitwise worktree list --json
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Use `gitwise worktree remove feature/agent-task --dry-run` before removal.
|
|
165
|
+
|
|
166
|
+
### 4. Review and commit safely
|
|
167
|
+
|
|
168
|
+
Inspect staged changes, scan for likely secrets, then create a conventional,
|
|
169
|
+
GPG-signed commit through the repository's Git configuration:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
gitwise diff --staged --scan-secrets
|
|
173
|
+
gitwise commit -m "fix: handle empty configuration"
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
gitwise blocks known signing and hook bypasses in generated agent rules. It does
|
|
177
|
+
not create or replace signing keys.
|
|
178
|
+
|
|
179
|
+
### 5. Maintain the repo and check a PR
|
|
180
|
+
|
|
181
|
+
Keep maintenance explicit and inspect GitHub state without changing it:
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
gitwise audit --quick
|
|
185
|
+
gitwise clean --branches --dry-run
|
|
186
|
+
gitwise optimize --dry-run
|
|
187
|
+
gitwise pr checks
|
|
188
|
+
gitwise pr create --fill
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
`pr` delegates GitHub operations to `gh`; authenticate `gh` before using it.
|
|
192
|
+
|
|
193
|
+
## Core commands
|
|
125
194
|
|
|
126
195
|
| Command | Purpose |
|
|
127
196
|
|---|---|
|
|
128
|
-
| `
|
|
129
|
-
| `
|
|
130
|
-
| `
|
|
131
|
-
| `
|
|
132
|
-
| `
|
|
133
|
-
| `
|
|
134
|
-
| `
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
| `gitwise pr` | List/check/view PRs via GitHub CLI |
|
|
140
|
-
|
|
141
|
-
For all commands, examples, aliases, and JSON usage, see:
|
|
197
|
+
| `setup-agents` | Install the canonical multi-agent layout and provider templates |
|
|
198
|
+
| `worktree` | Isolate branch work in sibling directories |
|
|
199
|
+
| `summarize` | Produce compact status, log, and optional diff context |
|
|
200
|
+
| `context` | Produce bounded repository context with truncation metadata |
|
|
201
|
+
| `diff` | Inspect focused, staged, statistical, or patch output |
|
|
202
|
+
| `commit` | Guard and create conventional commits |
|
|
203
|
+
| `audit` | Diagnose stale branches, repository structure, and maintenance gaps |
|
|
204
|
+
|
|
205
|
+
Support commands such as `doctor`, `setup`, `status`, `clean`, `optimize`, `pr`,
|
|
206
|
+
`commands`, and `schema` serve those workflows. For all 30 commands, aliases,
|
|
207
|
+
flags, and examples, see:
|
|
142
208
|
|
|
143
209
|
- [Command reference (English)](docs/reference/commands.md)
|
|
144
210
|
- [Referencia de comandos (Español)](docs/es/reference/commands.md)
|
|
145
211
|
|
|
212
|
+
## JSON contract for agents
|
|
213
|
+
|
|
214
|
+
Global machine flags work before or after the subcommand:
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
gitwise --json status
|
|
218
|
+
gitwise status --json
|
|
219
|
+
gitwise commands --json
|
|
220
|
+
gitwise schema diff --json
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
Most JSON commands use the standard v3 envelope:
|
|
224
|
+
|
|
225
|
+
```json
|
|
226
|
+
{"v":3,"ok":true,"command":"status","data":{},"hints":[],"errors":[]}
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Use `command` and stable error `code` values for branching. Treat `data` as the
|
|
230
|
+
command-specific payload. `setup-agents` retains versioned compatibility fields;
|
|
231
|
+
inspect its current contract with `gitwise schema setup-agents --json`.
|
|
232
|
+
|
|
233
|
+
## Safety model
|
|
234
|
+
|
|
235
|
+
- Git subprocesses scrub executable/config injection variables and use explicit timeouts.
|
|
236
|
+
- Destructive batch commands require confirmation; JSON mode returns an explicit gate.
|
|
237
|
+
- `diff --scan-secrets` and `commit` detect high-confidence credential patterns.
|
|
238
|
+
- setup-agents symlink creation is sandboxed to the target repository.
|
|
239
|
+
- CI runs ruff, basedpyright, pytest with a 75% coverage floor, pip-audit, and shellcheck.
|
|
240
|
+
|
|
241
|
+
See [Security Policy](SECURITY.md) for vulnerability reporting.
|
|
242
|
+
|
|
146
243
|
## Documentation
|
|
147
244
|
|
|
148
245
|
- [Documentation index (English)](docs/README.md)
|
|
@@ -156,13 +253,6 @@ For all commands, examples, aliases, and JSON usage, see:
|
|
|
156
253
|
- [Git conventions](CONVENTIONS.md)
|
|
157
254
|
- [Convenciones Git](CONVENTIONS.es.md)
|
|
158
255
|
|
|
159
|
-
## GPG and Safety Model
|
|
160
|
-
|
|
161
|
-
`setup` and `setup-agents` never modify `commit.gpgsign` or `user.signingkey`.
|
|
162
|
-
|
|
163
|
-
- Git layer: `setup` manages hooks safely (`--hooks-mode preserve|native|legacy|skip`) to validate signing key availability and conventional commits.
|
|
164
|
-
- Agent layer: deny-rules block `--no-gpg-sign`, `--no-verify`, and `-c commit.gpgsign=false`.
|
|
165
|
-
|
|
166
256
|
## Environment Variables
|
|
167
257
|
|
|
168
258
|
| Variable | Description |
|
|
@@ -203,7 +293,11 @@ Completion covers subcommands as the first token and per-command flags
|
|
|
203
293
|
|
|
204
294
|
## Demo
|
|
205
295
|
|
|
206
|
-
|
|
296
|
+
Run the non-destructive current demo from a Git repository:
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
bash demo/script.sh
|
|
300
|
+
```
|
|
207
301
|
|
|
208
302
|
## License
|
|
209
303
|
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
# gitwise
|
|
2
|
+
|
|
3
|
+
[English](README.md) | [Español](README.es.md)
|
|
4
|
+
|
|
5
|
+
Python CLI for optimized Git workflows and coding agents integration.
|
|
6
|
+
|
|
7
|
+
[](https://github.com/drzioner/gitwise/actions/workflows/ci.yml)
|
|
8
|
+
[](https://codecov.io/gh/drzioner/gitwise)
|
|
9
|
+
[](https://github.com/drzioner/gitwise/releases)
|
|
10
|
+
[](https://opensource.org/licenses/MIT)
|
|
11
|
+
[](https://www.python.org/downloads/)
|
|
12
|
+
[](docs/README.md)
|
|
13
|
+
|
|
14
|
+
gitwise gives coding agents bounded repository context, isolated branch workflows,
|
|
15
|
+
and safe commit paths without hiding the underlying Git operations. Every command
|
|
16
|
+
supports machine-readable JSON, and destructive operations expose dry-run or
|
|
17
|
+
confirmation gates.
|
|
18
|
+
|
|
19
|
+
## Requirements
|
|
20
|
+
|
|
21
|
+
- Python >= 3.10
|
|
22
|
+
- git >= 2.29
|
|
23
|
+
- macOS, Linux, or Windows
|
|
24
|
+
|
|
25
|
+
## Install
|
|
26
|
+
|
|
27
|
+
Choose the channel you already trust:
|
|
28
|
+
|
|
29
|
+
**Homebrew** (macOS/Linux, recommended if you already use [Homebrew](https://brew.sh)):
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
brew install drzioner/tap/gitwise
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Update later with `brew upgrade gitwise`. Uninstall with `brew uninstall gitwise`.
|
|
36
|
+
|
|
37
|
+
**Installer script** (auto-installs `uv` if needed):
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
curl -fsSL https://raw.githubusercontent.com/drzioner/gitwise/main/install.sh | bash
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**uv** (if you already use [uv](https://docs.astral.sh/uv/)):
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
uv tool install gitwise-cli
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Windows PowerShell** (PowerShell 5.1+):
|
|
50
|
+
|
|
51
|
+
```powershell
|
|
52
|
+
irm https://raw.githubusercontent.com/drzioner/gitwise/main/install.ps1 | iex
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**From source** (contributors only):
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
git clone https://github.com/drzioner/gitwise.git
|
|
59
|
+
cd gitwise
|
|
60
|
+
uv sync
|
|
61
|
+
uv run python -m gitwise doctor
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Update through the same channel used to install:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
brew upgrade gitwise # if installed via Homebrew (macOS/Linux)
|
|
68
|
+
uv tool upgrade gitwise-cli # if installed via uv (any OS)
|
|
69
|
+
# or rerun the installer script
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Uninstall:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
brew uninstall gitwise # if installed via Homebrew
|
|
76
|
+
uv tool uninstall gitwise-cli # if installed via uv (any OS)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Quick start
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
gitwise doctor
|
|
83
|
+
gitwise setup --dry-run
|
|
84
|
+
gitwise setup-agents --local --dry-run
|
|
85
|
+
gitwise summarize
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The first three commands inspect or plan changes. Add `--yes` only after reviewing
|
|
89
|
+
the plan.
|
|
90
|
+
|
|
91
|
+
## Five workflows
|
|
92
|
+
|
|
93
|
+
### 1. Prepare a repository
|
|
94
|
+
|
|
95
|
+
Check the environment, preview modern Git defaults, and install the canonical
|
|
96
|
+
agent layout:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
gitwise doctor --json
|
|
100
|
+
gitwise setup --dry-run
|
|
101
|
+
gitwise setup --yes
|
|
102
|
+
gitwise setup-agents --local --dry-run
|
|
103
|
+
gitwise setup-agents --local --yes
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
`setup` and `setup-agents` do not change `commit.gpgsign` or `user.signingkey`.
|
|
107
|
+
|
|
108
|
+
### 2. Give an agent bounded context
|
|
109
|
+
|
|
110
|
+
Use structured summaries instead of feeding an agent an unbounded raw diff:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
gitwise context --json
|
|
114
|
+
gitwise context --max-entries 50 --json
|
|
115
|
+
gitwise summarize --json
|
|
116
|
+
gitwise diff --stat --json
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
`context --json` defaults to 100 tree entries and reports `tree_total` plus
|
|
120
|
+
`tree_truncated` when it omits entries.
|
|
121
|
+
|
|
122
|
+
### 3. Isolate agent work
|
|
123
|
+
|
|
124
|
+
Create a sibling worktree for a branch and use the path printed by the command:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
gitwise worktree new feature/agent-task
|
|
128
|
+
gitwise worktree list --json
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Use `gitwise worktree remove feature/agent-task --dry-run` before removal.
|
|
132
|
+
|
|
133
|
+
### 4. Review and commit safely
|
|
134
|
+
|
|
135
|
+
Inspect staged changes, scan for likely secrets, then create a conventional,
|
|
136
|
+
GPG-signed commit through the repository's Git configuration:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
gitwise diff --staged --scan-secrets
|
|
140
|
+
gitwise commit -m "fix: handle empty configuration"
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
gitwise blocks known signing and hook bypasses in generated agent rules. It does
|
|
144
|
+
not create or replace signing keys.
|
|
145
|
+
|
|
146
|
+
### 5. Maintain the repo and check a PR
|
|
147
|
+
|
|
148
|
+
Keep maintenance explicit and inspect GitHub state without changing it:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
gitwise audit --quick
|
|
152
|
+
gitwise clean --branches --dry-run
|
|
153
|
+
gitwise optimize --dry-run
|
|
154
|
+
gitwise pr checks
|
|
155
|
+
gitwise pr create --fill
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
`pr` delegates GitHub operations to `gh`; authenticate `gh` before using it.
|
|
159
|
+
|
|
160
|
+
## Core commands
|
|
161
|
+
|
|
162
|
+
| Command | Purpose |
|
|
163
|
+
|---|---|
|
|
164
|
+
| `setup-agents` | Install the canonical multi-agent layout and provider templates |
|
|
165
|
+
| `worktree` | Isolate branch work in sibling directories |
|
|
166
|
+
| `summarize` | Produce compact status, log, and optional diff context |
|
|
167
|
+
| `context` | Produce bounded repository context with truncation metadata |
|
|
168
|
+
| `diff` | Inspect focused, staged, statistical, or patch output |
|
|
169
|
+
| `commit` | Guard and create conventional commits |
|
|
170
|
+
| `audit` | Diagnose stale branches, repository structure, and maintenance gaps |
|
|
171
|
+
|
|
172
|
+
Support commands such as `doctor`, `setup`, `status`, `clean`, `optimize`, `pr`,
|
|
173
|
+
`commands`, and `schema` serve those workflows. For all 30 commands, aliases,
|
|
174
|
+
flags, and examples, see:
|
|
175
|
+
|
|
176
|
+
- [Command reference (English)](docs/reference/commands.md)
|
|
177
|
+
- [Referencia de comandos (Español)](docs/es/reference/commands.md)
|
|
178
|
+
|
|
179
|
+
## JSON contract for agents
|
|
180
|
+
|
|
181
|
+
Global machine flags work before or after the subcommand:
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
gitwise --json status
|
|
185
|
+
gitwise status --json
|
|
186
|
+
gitwise commands --json
|
|
187
|
+
gitwise schema diff --json
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Most JSON commands use the standard v3 envelope:
|
|
191
|
+
|
|
192
|
+
```json
|
|
193
|
+
{"v":3,"ok":true,"command":"status","data":{},"hints":[],"errors":[]}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Use `command` and stable error `code` values for branching. Treat `data` as the
|
|
197
|
+
command-specific payload. `setup-agents` retains versioned compatibility fields;
|
|
198
|
+
inspect its current contract with `gitwise schema setup-agents --json`.
|
|
199
|
+
|
|
200
|
+
## Safety model
|
|
201
|
+
|
|
202
|
+
- Git subprocesses scrub executable/config injection variables and use explicit timeouts.
|
|
203
|
+
- Destructive batch commands require confirmation; JSON mode returns an explicit gate.
|
|
204
|
+
- `diff --scan-secrets` and `commit` detect high-confidence credential patterns.
|
|
205
|
+
- setup-agents symlink creation is sandboxed to the target repository.
|
|
206
|
+
- CI runs ruff, basedpyright, pytest with a 75% coverage floor, pip-audit, and shellcheck.
|
|
207
|
+
|
|
208
|
+
See [Security Policy](SECURITY.md) for vulnerability reporting.
|
|
209
|
+
|
|
210
|
+
## Documentation
|
|
211
|
+
|
|
212
|
+
- [Documentation index (English)](docs/README.md)
|
|
213
|
+
- [Indice de documentacion (Español)](docs/es/README.md)
|
|
214
|
+
- [Contributing guide](CONTRIBUTING.md)
|
|
215
|
+
- [Guia de contribucion](CONTRIBUTING.es.md)
|
|
216
|
+
- [Security policy](SECURITY.md)
|
|
217
|
+
- [Politica de seguridad](SECURITY.es.md)
|
|
218
|
+
- [Code of Conduct](CODE_OF_CONDUCT.md)
|
|
219
|
+
- [Código de conducta](CODE_OF_CONDUCT.es.md)
|
|
220
|
+
- [Git conventions](CONVENTIONS.md)
|
|
221
|
+
- [Convenciones Git](CONVENTIONS.es.md)
|
|
222
|
+
|
|
223
|
+
## Environment Variables
|
|
224
|
+
|
|
225
|
+
| Variable | Description |
|
|
226
|
+
|---|---|
|
|
227
|
+
| `GITWISE_DEBUG=1` | Print each `git` subprocess command to stderr |
|
|
228
|
+
| `GITWISE_LOG_JSON=1` | Emit structured stderr logs as JSON lines |
|
|
229
|
+
| `GITWISE_JSON_PRETTY=1` | Pretty-print JSON output by default |
|
|
230
|
+
| `GITWISE_LANG=es` / `GITWISE_LANG=en` | Force output locale |
|
|
231
|
+
| `GITWISE_THEME=dark` / `GITWISE_THEME=light` / `GITWISE_THEME=auto` | Override color theme selection |
|
|
232
|
+
| `GITWISE_NO_COLOR=1` | Disable ANSI color output |
|
|
233
|
+
| `GITWISE_OUTPUT=agent` | Force machine-oriented output mode |
|
|
234
|
+
| `GITWISE_AGENT=1` | Alias to enable agent output mode |
|
|
235
|
+
| `GITWISE_GIT_TIMEOUT=<seconds>` | Override git subprocess timeout |
|
|
236
|
+
| `GITWISE_WIDTH=<columns>` | Override output width |
|
|
237
|
+
|
|
238
|
+
## Shell Completions
|
|
239
|
+
|
|
240
|
+
Generate completions script per shell:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
gitwise completions bash > ~/.local/share/bash-completion/completions/gitwise
|
|
244
|
+
gitwise completions zsh > ~/.zsh/completions/_gitwise
|
|
245
|
+
gitwise completions fish > ~/.config/fish/completions/gitwise.fish
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**PowerShell** (Windows / PowerShell Core): generate and dot-source the
|
|
249
|
+
`Register-ArgumentCompleter` script. Add it to your `$PROFILE` for persistence:
|
|
250
|
+
|
|
251
|
+
```powershell
|
|
252
|
+
gitwise completions powershell > gitwise.ps1
|
|
253
|
+
. .\gitwise.ps1
|
|
254
|
+
# or, to load on every session:
|
|
255
|
+
Add-Content $PROFILE ('. ' + ((Resolve-Path 'gitwise.ps1').Path))
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
Completion covers subcommands as the first token and per-command flags
|
|
259
|
+
(`--json`, `--dry-run`, `--max-count`, etc.) thereafter.
|
|
260
|
+
|
|
261
|
+
## Demo
|
|
262
|
+
|
|
263
|
+
Run the non-destructive current demo from a Git repository:
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
bash demo/script.sh
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
## License
|
|
270
|
+
|
|
271
|
+
[MIT](LICENSE) - Deiner
|
|
@@ -157,16 +157,15 @@ def build_parser() -> argparse.ArgumentParser:
|
|
|
157
157
|
p.add_argument("--diff", action="store_true")
|
|
158
158
|
p.add_argument("--max-commits", type=int, default=10, dest="max_commits")
|
|
159
159
|
|
|
160
|
-
p = sub.add_parser("snapshot", help="generate
|
|
160
|
+
p = sub.add_parser("snapshot", help="generate agent git snapshot", parents=[parent])
|
|
161
161
|
|
|
162
162
|
p = sub.add_parser(
|
|
163
163
|
"clean",
|
|
164
|
-
help="clean up stale branches
|
|
164
|
+
help="clean up stale branches",
|
|
165
165
|
aliases=["branch-clean"],
|
|
166
166
|
parents=[parent],
|
|
167
167
|
)
|
|
168
168
|
p.add_argument("--branches", action="store_true")
|
|
169
|
-
p.add_argument("--refs", action="store_true")
|
|
170
169
|
p.add_argument("--dry-run", action="store_true")
|
|
171
170
|
p.add_argument("--yes", "-y", action="store_true")
|
|
172
171
|
|
|
@@ -151,13 +151,9 @@
|
|
|
151
151
|
"es": "gitwise clean --branches --dry-run",
|
|
152
152
|
"en": "gitwise clean --branches --dry-run"
|
|
153
153
|
},
|
|
154
|
-
"clean_refs_not_implemented": {
|
|
155
|
-
"es": "'clean --refs' no está implementado",
|
|
156
|
-
"en": "'clean --refs' is not implemented"
|
|
157
|
-
},
|
|
158
154
|
"clean_specify_flag": {
|
|
159
|
-
"es": "especifica --branches
|
|
160
|
-
"en": "specify --branches
|
|
155
|
+
"es": "especifica --branches",
|
|
156
|
+
"en": "specify --branches"
|
|
161
157
|
},
|
|
162
158
|
"clean_to_delete": {
|
|
163
159
|
"es": "para eliminar: gitwise clean --branches --yes",
|
|
@@ -876,7 +872,7 @@
|
|
|
876
872
|
"en": ".claude/commands/{skill}.md is legacy format — now using .claude/skills/{skill}/SKILL.md. Delete the old .md manually."
|
|
877
873
|
},
|
|
878
874
|
"legacy_migration_mode": {
|
|
879
|
-
"es": "modo
|
|
875
|
+
"es": "modo migración legacy activo: se prioriza layout canónico (AGENTS.md + .agents/skills)",
|
|
880
876
|
"en": "legacy migration mode enabled: canonical layout (AGENTS.md + .agents/skills) is enforced"
|
|
881
877
|
},
|
|
882
878
|
"log_no_commits": {
|
|
@@ -2071,6 +2067,10 @@
|
|
|
2071
2067
|
"es": "ejecutaría: git pull --ff-only en {dir}",
|
|
2072
2068
|
"en": "would run: git pull --ff-only in {dir}"
|
|
2073
2069
|
},
|
|
2070
|
+
"update_deprecation_hint": {
|
|
2071
|
+
"es": "update está deprecado; usa `brew upgrade gitwise` para Homebrew o `uv tool upgrade gitwise-cli` para instalaciones con uv tool",
|
|
2072
|
+
"en": "update is deprecated; use `brew upgrade gitwise` for Homebrew or `uv tool upgrade gitwise-cli` for uv tool installations"
|
|
2073
|
+
},
|
|
2074
2074
|
"updated_git_conventions": {
|
|
2075
2075
|
"es": "actualizado: {file} (convenciones git agregadas)",
|
|
2076
2076
|
"en": "updated: {file} (git conventions added)"
|
|
@@ -59,7 +59,6 @@ def _categorize(
|
|
|
59
59
|
def run_clean(
|
|
60
60
|
*,
|
|
61
61
|
branches: bool = False,
|
|
62
|
-
refs: bool = False,
|
|
63
62
|
dry_run: bool = False,
|
|
64
63
|
yes: bool = False,
|
|
65
64
|
as_json: bool = False,
|
|
@@ -70,11 +69,6 @@ def run_clean(
|
|
|
70
69
|
user-cancelled), 1 on delete failures or missing flag, 2 when
|
|
71
70
|
``--json`` is used without ``--yes``.
|
|
72
71
|
"""
|
|
73
|
-
if refs:
|
|
74
|
-
return report_error(
|
|
75
|
-
"clean", as_json=as_json, msg=t("clean_refs_not_implemented"), code="not_implemented"
|
|
76
|
-
)
|
|
77
|
-
|
|
78
72
|
if not branches:
|
|
79
73
|
return report_error(
|
|
80
74
|
"clean", as_json=as_json, msg=t("clean_specify_flag"), code="clean_specify_flag"
|