bash-classify 0.1.2__tar.gz → 0.1.4__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.
- {bash_classify-0.1.2 → bash_classify-0.1.4}/.claude-plugin/marketplace.json +5 -5
- {bash_classify-0.1.2 → bash_classify-0.1.4}/PKG-INFO +6 -2
- {bash_classify-0.1.2 → bash_classify-0.1.4}/README.md +5 -1
- {bash_classify-0.1.2 → bash_classify-0.1.4}/coding-agent-plugins/claude-code/.claude-plugin/plugin.json +1 -1
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/git.yaml +7 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/kubectl.yaml +16 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/poetry.yaml +12 -0
- bash_classify-0.1.4/src/bash_classify/commands/pytest.yaml +5 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/python.yaml +5 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/python3.yaml +5 -0
- bash_classify-0.1.4/src/bash_classify/commands/rg.yaml +5 -0
- bash_classify-0.1.4/src/bash_classify/commands/ruff.yaml +25 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/uv.yaml +19 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/tests/test_real_world.py +4 -4
- {bash_classify-0.1.2 → bash_classify-0.1.4}/.claude/rules/command-database.md +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/.editorconfig +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/.github/workflows/ci.yml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/.github/workflows/publish.yml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/.gitignore +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/.python-version +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/CLAUDE.md +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/LICENSE +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/SPEC.md +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/coding-agent-plugins/claude-code/hooks/classify-bash.sh +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/coding-agent-plugins/claude-code/hooks/hooks.json +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/docs/classification-guidance.md +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/pyproject.toml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/ruff.toml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/schemas/command.schema.json +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/__init__.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/__main__.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/classifier.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/cli.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/apt.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/awk.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/basename.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/bash.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/brew.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/builtin.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/cargo.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/cat.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/chgrp.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/chmod.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/chown.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/column.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/comm.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/command.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/cp.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/curl.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/cut.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/date.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/df.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/diff.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/dig.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/dirname.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/docker.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/du.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/echo.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/env.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/expand.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/false.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/file.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/find.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/fmt.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/fold.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/free.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/gawk.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/go.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/grep.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/groups.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/gunzip.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/gzip.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/head.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/helm.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/hostname.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/id.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/install.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/join.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/journalctl.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/jq.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/kill.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/killall.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/less.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/ln.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/ls.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/make.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/md5sum.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/mkdir.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/more.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/mv.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/netstat.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/nice.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/nl.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/node.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/nohup.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/npm.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/nslookup.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/paste.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/ping.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/pip.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/pip3.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/pkill.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/printenv.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/printf.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/ps.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/pwd.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/read.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/readlink.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/realpath.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/rev.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/rm.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/rsync.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/scp.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/sed.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/seq.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/sh.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/sha1sum.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/sha256sum.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/sort.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/ss.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/ssh.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/stat.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/strace.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/sudo.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/systemctl.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/tac.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/tail.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/tar.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/tee.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/terraform.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/test.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/time.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/timeout.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/top.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/touch.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/tr.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/traceroute.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/true.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/type.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/uname.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/unexpand.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/uniq.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/unzip.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/uptime.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/wc.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/wget.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/whereis.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/which.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/whoami.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/xargs.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/xmllint.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/yes.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/yq.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/zip.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/commands/zsh.yaml +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/database.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/matcher.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/models.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/parser.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/src/bash_classify/py.typed +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/tests/__init__.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/tests/conftest.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/tests/test_classifier.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/tests/test_cli.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/tests/test_cli_serialization.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/tests/test_database.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/tests/test_matcher.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/tests/test_models.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/tests/test_parser.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/tests/test_schema.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/tests/test_smoke.py +0 -0
- {bash_classify-0.1.2 → bash_classify-0.1.4}/uv.lock +0 -0
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "bash-classify",
|
|
2
|
+
"name": "fprochazka-bash-classify",
|
|
3
3
|
"description": "Bash command classifier with Claude Code plugin for auto-allowing readonly commands",
|
|
4
|
-
"
|
|
5
|
-
"
|
|
4
|
+
"owner": {
|
|
5
|
+
"name": "Filip Procházka"
|
|
6
6
|
},
|
|
7
7
|
"plugins": [
|
|
8
8
|
{
|
|
9
9
|
"name": "bash-classify-hook",
|
|
10
10
|
"description": "Auto-allows readonly bash commands in Claude Code using bash-classify",
|
|
11
|
-
"version": "0.1.
|
|
11
|
+
"version": "0.1.4",
|
|
12
12
|
"author": {
|
|
13
13
|
"name": "Filip Procházka",
|
|
14
14
|
"url": "https://github.com/fprochazka"
|
|
15
15
|
},
|
|
16
|
-
"source": "
|
|
16
|
+
"source": "./coding-agent-plugins/claude-code",
|
|
17
17
|
"category": "security",
|
|
18
18
|
"homepage": "https://github.com/fprochazka/bash-classify"
|
|
19
19
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bash-classify
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: Classify bash commands as READONLY, WRITE, DANGEROUS, or UNKNOWN
|
|
5
5
|
Project-URL: Homepage, https://github.com/fprochazka/bash-classify
|
|
6
6
|
Project-URL: Repository, https://github.com/fprochazka/bash-classify
|
|
@@ -145,11 +145,15 @@ Before tagging, bump the version in both plugin manifest files:
|
|
|
145
145
|
- `coding-agent-plugins/claude-code/.claude-plugin/plugin.json`
|
|
146
146
|
- `.claude-plugin/marketplace.json`
|
|
147
147
|
|
|
148
|
-
|
|
148
|
+
Wait for CI to pass on master, then tag, push, and create a GitHub release:
|
|
149
149
|
|
|
150
150
|
```bash
|
|
151
|
+
# Review changes since last release
|
|
152
|
+
git log $(git describe --tags --abbrev=0)..HEAD --oneline
|
|
153
|
+
|
|
151
154
|
git tag v<version>
|
|
152
155
|
git push origin v<version>
|
|
156
|
+
gh release create v<version> --title "v<version>" --notes "..."
|
|
153
157
|
```
|
|
154
158
|
|
|
155
159
|
The `publish.yml` GitHub Action builds and publishes to PyPI automatically via trusted publishing.
|
|
@@ -116,11 +116,15 @@ Before tagging, bump the version in both plugin manifest files:
|
|
|
116
116
|
- `coding-agent-plugins/claude-code/.claude-plugin/plugin.json`
|
|
117
117
|
- `.claude-plugin/marketplace.json`
|
|
118
118
|
|
|
119
|
-
|
|
119
|
+
Wait for CI to pass on master, then tag, push, and create a GitHub release:
|
|
120
120
|
|
|
121
121
|
```bash
|
|
122
|
+
# Review changes since last release
|
|
123
|
+
git log $(git describe --tags --abbrev=0)..HEAD --oneline
|
|
124
|
+
|
|
122
125
|
git tag v<version>
|
|
123
126
|
git push origin v<version>
|
|
127
|
+
gh release create v<version> --title "v<version>" --notes "..."
|
|
124
128
|
```
|
|
125
129
|
|
|
126
130
|
The `publish.yml` GitHub Action builds and publishes to PyPI automatically via trusted publishing.
|
|
@@ -88,6 +88,10 @@ subcommands:
|
|
|
88
88
|
branch:
|
|
89
89
|
classification: WRITE
|
|
90
90
|
options:
|
|
91
|
+
-a: {}
|
|
92
|
+
--all: {aliases: [-a]}
|
|
93
|
+
-v: {}
|
|
94
|
+
--verbose: {aliases: [-v]}
|
|
91
95
|
-l: {overrides: READONLY}
|
|
92
96
|
--list: {overrides: READONLY, aliases: [-l]}
|
|
93
97
|
-d: {overrides: WRITE}
|
|
@@ -104,6 +108,7 @@ subcommands:
|
|
|
104
108
|
--unset-upstream: {overrides: WRITE}
|
|
105
109
|
remote:
|
|
106
110
|
classification: READONLY
|
|
111
|
+
strict: false
|
|
107
112
|
subcommands:
|
|
108
113
|
add:
|
|
109
114
|
classification: WRITE
|
|
@@ -439,3 +444,5 @@ subcommands:
|
|
|
439
444
|
fsck:
|
|
440
445
|
classification: READONLY
|
|
441
446
|
strict: false
|
|
447
|
+
|
|
448
|
+
# --- Misc ---
|
|
@@ -188,3 +188,19 @@ subcommands:
|
|
|
188
188
|
classification: DANGEROUS
|
|
189
189
|
delete-cluster:
|
|
190
190
|
classification: DANGEROUS
|
|
191
|
+
|
|
192
|
+
diff:
|
|
193
|
+
classification: READONLY
|
|
194
|
+
strict: false
|
|
195
|
+
|
|
196
|
+
kustomize:
|
|
197
|
+
classification: READONLY
|
|
198
|
+
strict: false
|
|
199
|
+
|
|
200
|
+
events:
|
|
201
|
+
classification: READONLY
|
|
202
|
+
strict: false
|
|
203
|
+
|
|
204
|
+
wait:
|
|
205
|
+
classification: READONLY
|
|
206
|
+
strict: false
|
|
@@ -66,6 +66,18 @@ subcommands:
|
|
|
66
66
|
run:
|
|
67
67
|
classification: DANGEROUS
|
|
68
68
|
strict: false
|
|
69
|
+
delegates_to:
|
|
70
|
+
mode: rest_are_argv
|
|
71
|
+
subcommands:
|
|
72
|
+
pytest:
|
|
73
|
+
classification: WRITE
|
|
74
|
+
strict: false
|
|
75
|
+
ruff:
|
|
76
|
+
classification: WRITE
|
|
77
|
+
strict: false
|
|
78
|
+
mypy:
|
|
79
|
+
classification: READONLY
|
|
80
|
+
strict: false
|
|
69
81
|
self:
|
|
70
82
|
strict: false
|
|
71
83
|
subcommands:
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# $schema: ../../../schemas/command.schema.json
|
|
2
|
+
command: ruff
|
|
3
|
+
description: "Fast Python linter and formatter"
|
|
4
|
+
strict: false
|
|
5
|
+
subcommands:
|
|
6
|
+
check:
|
|
7
|
+
classification: READONLY
|
|
8
|
+
strict: false
|
|
9
|
+
options:
|
|
10
|
+
--fix: {overrides: WRITE}
|
|
11
|
+
--fix-only: {overrides: WRITE}
|
|
12
|
+
format:
|
|
13
|
+
classification: WRITE
|
|
14
|
+
strict: false
|
|
15
|
+
options:
|
|
16
|
+
--check: {overrides: READONLY}
|
|
17
|
+
--diff: {overrides: READONLY}
|
|
18
|
+
version:
|
|
19
|
+
classification: READONLY
|
|
20
|
+
rule:
|
|
21
|
+
classification: READONLY
|
|
22
|
+
linter:
|
|
23
|
+
classification: READONLY
|
|
24
|
+
clean:
|
|
25
|
+
classification: WRITE
|
|
@@ -6,15 +6,32 @@ subcommands:
|
|
|
6
6
|
run:
|
|
7
7
|
classification: DANGEROUS
|
|
8
8
|
strict: false
|
|
9
|
+
delegates_to:
|
|
10
|
+
mode: rest_are_argv
|
|
11
|
+
strip_assignments: true
|
|
12
|
+
subcommands:
|
|
13
|
+
pytest:
|
|
14
|
+
classification: WRITE
|
|
15
|
+
strict: false
|
|
16
|
+
ruff:
|
|
17
|
+
classification: WRITE
|
|
18
|
+
strict: false
|
|
19
|
+
mypy:
|
|
20
|
+
classification: READONLY
|
|
21
|
+
strict: false
|
|
9
22
|
init:
|
|
10
23
|
classification: WRITE
|
|
11
24
|
strict: false
|
|
12
25
|
add:
|
|
13
26
|
classification: WRITE
|
|
14
27
|
strict: false
|
|
28
|
+
options:
|
|
29
|
+
--dry-run: {overrides: READONLY}
|
|
15
30
|
remove:
|
|
16
31
|
classification: WRITE
|
|
17
32
|
strict: false
|
|
33
|
+
options:
|
|
34
|
+
--dry-run: {overrides: READONLY}
|
|
18
35
|
version:
|
|
19
36
|
classification: READONLY
|
|
20
37
|
strict: false
|
|
@@ -24,6 +41,8 @@ subcommands:
|
|
|
24
41
|
lock:
|
|
25
42
|
classification: WRITE
|
|
26
43
|
strict: false
|
|
44
|
+
options:
|
|
45
|
+
--check: {overrides: READONLY}
|
|
27
46
|
export:
|
|
28
47
|
classification: READONLY
|
|
29
48
|
strict: false
|
|
@@ -107,9 +107,9 @@ class TestBuildAndTest:
|
|
|
107
107
|
assert result.classification == Classification.UNKNOWN
|
|
108
108
|
|
|
109
109
|
def test_pytest_verbose(self, database):
|
|
110
|
-
# uv run
|
|
110
|
+
# uv run pytest is a known safe subcommand -> WRITE
|
|
111
111
|
result = classify_expression("uv run pytest -v --tb=short", database)
|
|
112
|
-
assert result.classification == Classification.
|
|
112
|
+
assert result.classification == Classification.WRITE
|
|
113
113
|
|
|
114
114
|
def test_npm_test(self, database):
|
|
115
115
|
result = classify_expression("npm test", database)
|
|
@@ -125,8 +125,8 @@ class TestBuildAndTest:
|
|
|
125
125
|
|
|
126
126
|
def test_ruff_check_and_format(self, database):
|
|
127
127
|
result = classify_expression("ruff check --fix . && ruff format .", database)
|
|
128
|
-
# ruff is
|
|
129
|
-
assert result.classification == Classification.
|
|
128
|
+
# ruff check --fix is WRITE, ruff format is WRITE -> WRITE
|
|
129
|
+
assert result.classification == Classification.WRITE
|
|
130
130
|
|
|
131
131
|
def test_make_with_target(self, database):
|
|
132
132
|
result = classify_expression("make build", database)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bash_classify-0.1.2 → bash_classify-0.1.4}/coding-agent-plugins/claude-code/hooks/classify-bash.sh
RENAMED
|
File without changes
|
{bash_classify-0.1.2 → bash_classify-0.1.4}/coding-agent-plugins/claude-code/hooks/hooks.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|