@caddis/cli 0.2.6 → 0.3.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 (51) hide show
  1. package/bundles/antigravity-plugin/agents/claude-md-curator.md +1 -1
  2. package/bundles/antigravity-plugin/caddis_statusline.py +803 -0
  3. package/bundles/antigravity-plugin/claude-md/folder-agents.md.tmpl +21 -0
  4. package/bundles/antigravity-plugin/guard_agy.py +23 -4
  5. package/bundles/antigravity-plugin/plugin.json +1 -1
  6. package/bundles/antigravity-plugin/scripts/caddis_gate.py +524 -0
  7. package/bundles/antigravity-plugin/scripts/caddis_inventory.py +369 -0
  8. package/bundles/antigravity-plugin/scripts/caddis_migrate_dir.py +270 -0
  9. package/bundles/antigravity-plugin/scripts/caddis_spawn.py +300 -0
  10. package/bundles/antigravity-plugin/scripts/caddis_statusline.py +803 -0
  11. package/bundles/antigravity-plugin/scripts/caddis_tidy.py +366 -0
  12. package/bundles/antigravity-plugin/scripts/check_doc_coverage.py +924 -0
  13. package/bundles/antigravity-plugin/scripts/claude-deepseek.ps1 +4 -0
  14. package/bundles/antigravity-plugin/scripts/claude-deepseek.sh +3 -0
  15. package/bundles/antigravity-plugin/scripts/claude-glm.ps1 +4 -0
  16. package/bundles/antigravity-plugin/scripts/claude-glm.sh +3 -0
  17. package/bundles/antigravity-plugin/scripts/claude-oss.ps1 +64 -0
  18. package/bundles/antigravity-plugin/scripts/claude-oss.sh +60 -0
  19. package/bundles/antigravity-plugin/scripts/claudster_config.py +126 -0
  20. package/bundles/antigravity-plugin/scripts/claudster_doctor.py +356 -0
  21. package/bundles/antigravity-plugin/scripts/claudster_init.py +400 -0
  22. package/bundles/antigravity-plugin/scripts/claudster_migrate_rules.py +300 -0
  23. package/bundles/antigravity-plugin/scripts/dream_capture.py +249 -0
  24. package/bundles/antigravity-plugin/scripts/dream_memory.py +438 -0
  25. package/bundles/antigravity-plugin/scripts/enforcement_inventory.py +261 -0
  26. package/bundles/antigravity-plugin/scripts/hook_log.py +156 -0
  27. package/bundles/antigravity-plugin/scripts/oss_ask.py +98 -0
  28. package/bundles/antigravity-plugin/scripts/oss_model.py +166 -0
  29. package/bundles/antigravity-plugin/scripts/oss_review.py +718 -0
  30. package/bundles/antigravity-plugin/scripts/setup_project_ai.py +1429 -0
  31. package/bundles/antigravity-plugin/scripts/usage_review.py +1323 -0
  32. package/bundles/antigravity-plugin/session_end_agy.py +21 -2
  33. package/bundles/antigravity-plugin/skills/_registry.md +1 -0
  34. package/bundles/antigravity-plugin/skills/fastapi-dev/SKILL.md +1 -1
  35. package/bundles/antigravity-plugin/skills/ship/SKILL.md +1 -1
  36. package/bundles/antigravity-plugin/skills/ship-merge/SKILL.md +1 -1
  37. package/bundles/antigravity-plugin/skills/ship-pr/SKILL.md +1 -1
  38. package/bundles/antigravity-plugin/skills/statusline/SKILL.md +105 -0
  39. package/bundles/antigravity-plugin/skills/use-model/SKILL.md +15 -3
  40. package/bundles/antigravity-plugin/warm_start_agy.py +21 -2
  41. package/bundles/antigravity-plugin-extras/plugin.json +1 -1
  42. package/bundles/antigravity-plugin-extras/skills/architecture-design/SKILL.md +1 -1
  43. package/bundles/antigravity-plugin-extras/skills/caching-patterns/SKILL.md +1 -1
  44. package/bundles/antigravity-plugin-extras/skills/webapp-development/SKILL.md +1 -1
  45. package/bundles/manifest.json +3 -3
  46. package/dist/claude-deepseek.js +544 -0
  47. package/dist/claude-glm.js +544 -0
  48. package/dist/claude-oss.js +544 -0
  49. package/dist/cli.js +365 -44
  50. package/package.json +5 -2
  51. package/bundles/antigravity-plugin/statusline-command-agy.sh +0 -91
@@ -1,91 +0,0 @@
1
- #!/usr/bin/env bash
2
- # caddis status line for Antigravity (agy). Shipped IN the agy plugin bundle (lands at
3
- # ~/.gemini/config/plugins/caddis/statusline-command-agy.sh on install). Wire it once per machine in
4
- # ~/.gemini/antigravity-cli/settings.json — use the SHORT bash path (agy runs the command via cmd.exe,
5
- # where a bare `bash` is not on PATH and quoted spaced paths break):
6
- # "statusLine": {"type":"command",
7
- # "command":"C:\\PROGRA~1\\Git\\bin\\bash.exe ~/.gemini/config/plugins/caddis/statusline-command-agy.sh",
8
- # "enabled":true}
9
- # Reads agy's status JSON on stdin and prints one compact, colorized line, styled like the Claude Code
10
- # status line (statusline-command.sh): dir · branch ±dirty · model · ctx% · mode · q%
11
- # agy's payload field names differ from Claude Code's — this is a sibling, not a copy.
12
- input=$(cat)
13
-
14
- # Parse the agy status JSON via Python; emit shell var assignments to eval into scope.
15
- eval "$(python -c '
16
- import sys, json, shlex
17
- try:
18
- d = json.load(sys.stdin)
19
- except Exception:
20
- d = {}
21
- def g(*keys):
22
- v = d
23
- for k in keys:
24
- if not isinstance(v, dict): return ""
25
- v = v.get(k)
26
- if v is None or v is False or v == "": return ""
27
- return str(v)
28
- cwd = g("workspace","current_dir") or g("cwd")
29
- branch = g("vcs","branch")
30
- model = g("model","display_name") or g("model","id")
31
- used_pct = g("context_window","used_percentage")
32
- mode = g("execution_mode")
33
- # quota: agy sends {name: {remaining_fraction, reset_time, ...}}. Show the BINDING (min-remaining) as a %.
34
- quota_pct = ""
35
- q = d.get("quota")
36
- if isinstance(q, dict) and q:
37
- fr = [v.get("remaining_fraction") for v in q.values()
38
- if isinstance(v, dict) and isinstance(v.get("remaining_fraction"), (int, float))]
39
- if fr:
40
- quota_pct = str(int(round(min(fr) * 100)))
41
- for name, val in [
42
- ("cwd",cwd),("branch",branch),("model",model),("used_pct",used_pct),("mode",mode),("quota_pct",quota_pct),
43
- ]:
44
- print(f"{name}={shlex.quote(val)}")
45
- ' <<< "$input")"
46
-
47
- # Fall back to git for branch when the payload omits it.
48
- if [ -z "$branch" ] && [ -n "$cwd" ]; then
49
- branch=$(git -C "$cwd" --no-optional-locks rev-parse --abbrev-ref HEAD 2>/dev/null || true)
50
- fi
51
-
52
- # Uncommitted-change count (time-to-commit signal), from git.
53
- dirty=""
54
- if [ -n "$cwd" ]; then
55
- n=$(git -C "$cwd" --no-optional-locks status --porcelain 2>/dev/null | grep -c . || true)
56
- [ -n "$n" ] && [ "$n" -gt 0 ] 2>/dev/null && dirty="$n"
57
- fi
58
-
59
- # Colors (ANSI).
60
- C_DIM=$'\033[2m'; C_CYAN=$'\033[36m'; C_YEL=$'\033[33m'; C_RED=$'\033[31m'; C_GRN=$'\033[32m'; C_RST=$'\033[0m'
61
-
62
- # Context %: green < 50, yellow < 80, red >= 80. (used_pct may be a float string.)
63
- ctx_int="${used_pct%%.*}"; ctxcol="$C_GRN"
64
- if [ -n "$ctx_int" ] 2>/dev/null; then
65
- if [ "$ctx_int" -ge 80 ] 2>/dev/null; then ctxcol="$C_RED"
66
- elif [ "$ctx_int" -ge 50 ] 2>/dev/null; then ctxcol="$C_YEL"; fi
67
- fi
68
- # Quota % REMAINING: red <= 15, yellow <= 40, else green.
69
- qcol="$C_GRN"
70
- if [ -n "$quota_pct" ] 2>/dev/null; then
71
- if [ "$quota_pct" -le 15 ] 2>/dev/null; then qcol="$C_RED"
72
- elif [ "$quota_pct" -le 40 ] 2>/dev/null; then qcol="$C_YEL"; fi
73
- fi
74
-
75
- sep="${C_DIM} · ${C_RST}"
76
- segs=()
77
- [ -n "$cwd" ] && segs+=("${C_DIM}$(basename "$cwd")${C_RST}")
78
- if [ -n "$branch" ]; then
79
- b="${C_CYAN}${branch}${C_RST}"; [ -n "$dirty" ] && b="${b} ${C_YEL}±${dirty}${C_RST}"; segs+=("$b")
80
- fi
81
- [ -n "$model" ] && segs+=("$model")
82
- [ -n "$ctx_int" ] && segs+=("${ctxcol}ctx ${ctx_int}%${C_RST}")
83
- [ -n "$mode" ] && segs+=("${C_DIM}${mode}${C_RST}")
84
- [ -n "$quota_pct" ] && segs+=("${qcol}q ${quota_pct}%${C_RST}")
85
-
86
- out=""
87
- for i in "${!segs[@]}"; do
88
- [ "$i" -gt 0 ] && out="${out}${sep}"
89
- out="${out}${segs[$i]}"
90
- done
91
- printf '%b' "$out"