tribunal-kit 4.2.0 → 4.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.
- package/.agent/ARCHITECTURE.md +21 -14
- package/.agent/agents/swarm-worker-contracts.md +5 -5
- package/.agent/agents/ui-ux-auditor.md +292 -0
- package/.agent/rules/GEMINI.md +8 -8
- package/.agent/scripts/__pycache__/_colors.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/_utils.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/case_law_manager.cpython-311.pyc +0 -0
- package/.agent/scripts/_colors.js +18 -0
- package/.agent/scripts/_utils.js +42 -0
- package/.agent/scripts/auto_preview.js +197 -0
- package/.agent/scripts/bundle_analyzer.js +290 -0
- package/.agent/scripts/case_law_manager.js +684 -0
- package/.agent/scripts/checklist.js +266 -0
- package/.agent/scripts/colors.js +17 -0
- package/.agent/scripts/compress_skills.js +141 -0
- package/.agent/scripts/consolidate_skills.js +149 -0
- package/.agent/scripts/context_broker.js +609 -0
- package/.agent/scripts/deep_compress.js +150 -0
- package/.agent/scripts/dependency_analyzer.js +272 -0
- package/.agent/scripts/inner_loop_validator.js +465 -0
- package/.agent/scripts/lint_runner.js +187 -0
- package/.agent/scripts/minify_context.js +100 -0
- package/.agent/scripts/patch_skills_meta.js +156 -0
- package/.agent/scripts/patch_skills_output.js +244 -0
- package/.agent/scripts/schema_validator.js +297 -0
- package/.agent/scripts/security_scan.js +303 -0
- package/.agent/scripts/session_manager.js +276 -0
- package/.agent/scripts/skill_evolution.js +644 -0
- package/.agent/scripts/skill_integrator.js +313 -0
- package/.agent/scripts/strengthen_skills.js +193 -0
- package/.agent/scripts/strip_tribunal.js +47 -0
- package/.agent/scripts/swarm_dispatcher.js +360 -0
- package/.agent/scripts/test_runner.js +193 -0
- package/.agent/scripts/utils.js +32 -0
- package/.agent/scripts/verify_all.js +256 -0
- package/.agent/skills/agent-organizer/SKILL.md +3 -3
- package/.agent/skills/agentic-patterns/SKILL.md +3 -3
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +3 -3
- package/.agent/skills/api-patterns/SKILL.md +3 -3
- package/.agent/skills/api-security-auditor/SKILL.md +3 -3
- package/.agent/skills/app-builder/SKILL.md +3 -3
- package/.agent/skills/app-builder/templates/SKILL.md +1 -1
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +1 -1
- package/.agent/skills/appflow-wireframe/SKILL.md +3 -3
- package/.agent/skills/architecture/SKILL.md +3 -3
- package/.agent/skills/authentication-best-practices/SKILL.md +3 -3
- package/.agent/skills/bash-linux/SKILL.md +3 -3
- package/.agent/skills/behavioral-modes/SKILL.md +3 -3
- package/.agent/skills/brainstorming/SKILL.md +3 -3
- package/.agent/skills/building-native-ui/SKILL.md +3 -3
- package/.agent/skills/clean-code/SKILL.md +3 -3
- package/.agent/skills/code-review-checklist/SKILL.md +3 -3
- package/.agent/skills/config-validator/SKILL.md +3 -3
- package/.agent/skills/csharp-developer/SKILL.md +3 -3
- package/.agent/skills/data-validation-schemas/SKILL.md +3 -3
- package/.agent/skills/database-design/SKILL.md +3 -3
- package/.agent/skills/deployment-procedures/SKILL.md +3 -3
- package/.agent/skills/devops-engineer/SKILL.md +3 -3
- package/.agent/skills/devops-incident-responder/SKILL.md +3 -3
- package/.agent/skills/doc.md +1 -1
- package/.agent/skills/documentation-templates/SKILL.md +3 -3
- package/.agent/skills/edge-computing/SKILL.md +3 -3
- package/.agent/skills/error-resilience/SKILL.md +3 -3
- package/.agent/skills/extract-design-system/SKILL.md +3 -3
- package/.agent/skills/framer-motion-expert/SKILL.md +3 -4
- package/.agent/skills/frontend-design/SKILL.md +3 -3
- package/.agent/skills/game-design-expert/SKILL.md +3 -3
- package/.agent/skills/game-engineering-expert/SKILL.md +3 -3
- package/.agent/skills/geo-fundamentals/SKILL.md +3 -3
- package/.agent/skills/github-operations/SKILL.md +3 -3
- package/.agent/skills/gsap-core/SKILL.md +0 -2
- package/.agent/skills/gsap-frameworks/SKILL.md +0 -2
- package/.agent/skills/gsap-performance/SKILL.md +0 -2
- package/.agent/skills/gsap-plugins/SKILL.md +0 -2
- package/.agent/skills/gsap-react/SKILL.md +0 -2
- package/.agent/skills/gsap-scrolltrigger/SKILL.md +0 -2
- package/.agent/skills/gsap-timeline/SKILL.md +0 -2
- package/.agent/skills/gsap-utils/SKILL.md +0 -2
- package/.agent/skills/i18n-localization/SKILL.md +3 -3
- package/.agent/skills/intelligent-routing/SKILL.md +3 -3
- package/.agent/skills/lint-and-validate/SKILL.md +3 -3
- package/.agent/skills/llm-engineering/SKILL.md +3 -3
- package/.agent/skills/local-first/SKILL.md +3 -3
- package/.agent/skills/mcp-builder/SKILL.md +3 -3
- package/.agent/skills/mobile-design/SKILL.md +3 -3
- package/.agent/skills/monorepo-management/SKILL.md +3 -3
- package/.agent/skills/motion-engineering/SKILL.md +4 -4
- package/.agent/skills/nextjs-react-expert/SKILL.md +3 -3
- package/.agent/skills/nodejs-best-practices/SKILL.md +3 -3
- package/.agent/skills/observability/SKILL.md +3 -3
- package/.agent/skills/parallel-agents/SKILL.md +3 -3
- package/.agent/skills/performance-profiling/SKILL.md +3 -3
- package/.agent/skills/plan-writing/SKILL.md +3 -3
- package/.agent/skills/platform-engineer/SKILL.md +3 -3
- package/.agent/skills/playwright-best-practices/SKILL.md +3 -3
- package/.agent/skills/powershell-windows/SKILL.md +3 -3
- package/.agent/skills/project-idioms/SKILL.md +3 -3
- package/.agent/skills/python-patterns/SKILL.md +3 -3
- package/.agent/skills/python-pro/SKILL.md +3 -3
- package/.agent/skills/react-specialist/SKILL.md +3 -3
- package/.agent/skills/readme-builder/SKILL.md +3 -3
- package/.agent/skills/realtime-patterns/SKILL.md +3 -3
- package/.agent/skills/red-team-tactics/SKILL.md +3 -3
- package/.agent/skills/rust-pro/SKILL.md +3 -3
- package/.agent/skills/seo-fundamentals/SKILL.md +3 -3
- package/.agent/skills/server-management/SKILL.md +3 -3
- package/.agent/skills/shadcn-ui-expert/SKILL.md +3 -3
- package/.agent/skills/skill-creator/SKILL.md +3 -3
- package/.agent/skills/sql-pro/SKILL.md +3 -3
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +3 -3
- package/.agent/skills/swiftui-expert/SKILL.md +3 -3
- package/.agent/skills/systematic-debugging/SKILL.md +3 -3
- package/.agent/skills/tailwind-patterns/SKILL.md +3 -3
- package/.agent/skills/tdd-workflow/SKILL.md +3 -3
- package/.agent/skills/test-result-analyzer/SKILL.md +3 -3
- package/.agent/skills/testing-patterns/SKILL.md +3 -3
- package/.agent/skills/trend-researcher/SKILL.md +3 -3
- package/.agent/skills/typescript-advanced/SKILL.md +3 -3
- package/.agent/skills/ui-ux-pro-max/SKILL.md +3 -3
- package/.agent/skills/ui-ux-researcher/SKILL.md +3 -3
- package/.agent/skills/vue-expert/SKILL.md +3 -3
- package/.agent/skills/vulnerability-scanner/SKILL.md +3 -3
- package/.agent/skills/web-accessibility-auditor/SKILL.md +3 -3
- package/.agent/skills/web-design-guidelines/SKILL.md +3 -3
- package/.agent/skills/webapp-testing/SKILL.md +3 -3
- package/.agent/skills/whimsy-injector/SKILL.md +3 -3
- package/.agent/skills/workflow-optimizer/SKILL.md +3 -3
- package/.agent/workflows/audit.md +6 -6
- package/.agent/workflows/deploy.md +1 -1
- package/.agent/workflows/generate.md +23 -6
- package/.agent/workflows/session.md +5 -5
- package/.agent/workflows/swarm.md +2 -2
- package/README.md +64 -8
- package/bin/tribunal-kit.js +277 -45
- package/package.json +9 -6
- package/scripts/changelog.js +167 -0
- package/scripts/sync-version.js +81 -0
- package/.agent/scripts/__pycache__/auto_preview.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/bundle_analyzer.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/checklist.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/dependency_analyzer.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/session_manager.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/skill_integrator.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/swarm_dispatcher.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/verify_all.cpython-311.pyc +0 -0
- package/.agent/scripts/auto_preview.py +0 -180
- package/.agent/scripts/bundle_analyzer.py +0 -259
- package/.agent/scripts/case_law_manager.py +0 -755
- package/.agent/scripts/checklist.py +0 -209
- package/.agent/scripts/compress_skills.py +0 -167
- package/.agent/scripts/consolidate_skills.py +0 -173
- package/.agent/scripts/deep_compress.py +0 -202
- package/.agent/scripts/dependency_analyzer.py +0 -247
- package/.agent/scripts/lint_runner.py +0 -188
- package/.agent/scripts/minify_context.py +0 -80
- package/.agent/scripts/patch_skills_meta.py +0 -177
- package/.agent/scripts/patch_skills_output.py +0 -285
- package/.agent/scripts/schema_validator.py +0 -279
- package/.agent/scripts/security_scan.py +0 -224
- package/.agent/scripts/session_manager.py +0 -261
- package/.agent/scripts/skill_evolution.py +0 -563
- package/.agent/scripts/skill_integrator.py +0 -234
- package/.agent/scripts/strengthen_skills.py +0 -220
- package/.agent/scripts/strip_tribunal.py +0 -41
- package/.agent/scripts/swarm_dispatcher.py +0 -350
- package/.agent/scripts/test_runner.py +0 -192
- package/.agent/scripts/test_swarm_dispatcher.py +0 -163
- package/.agent/scripts/verify_all.py +0 -195
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""
|
|
3
|
-
verify_all.py — Full pre-deploy validation suite for the Tribunal Agent Kit.
|
|
4
|
-
|
|
5
|
-
Runs comprehensive checks before any production deployment.
|
|
6
|
-
|
|
7
|
-
Usage:
|
|
8
|
-
python .agent/scripts/verify_all.py
|
|
9
|
-
python .agent/scripts/verify_all.py --skip build,deps
|
|
10
|
-
"""
|
|
11
|
-
|
|
12
|
-
import os
|
|
13
|
-
import sys
|
|
14
|
-
import subprocess
|
|
15
|
-
import argparse
|
|
16
|
-
from pathlib import Path
|
|
17
|
-
|
|
18
|
-
RED = "\033[91m"
|
|
19
|
-
GREEN = "\033[92m"
|
|
20
|
-
YELLOW = "\033[93m"
|
|
21
|
-
BLUE = "\033[94m"
|
|
22
|
-
BOLD = "\033[1m"
|
|
23
|
-
RESET = "\033[0m"
|
|
24
|
-
|
|
25
|
-
RESULTS: list[tuple[str, bool, str]] = []
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def section(title: str) -> None:
|
|
29
|
-
print(f"\n{BOLD}{BLUE}━━━ {title} ━━━{RESET}")
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
def ok(label: str, note: str = "") -> None:
|
|
33
|
-
msg = f"{GREEN}✅ {label}{RESET}" + (f" {YELLOW}({note}){RESET}" if note else "")
|
|
34
|
-
print(f" {msg}")
|
|
35
|
-
RESULTS.append((label, True, note))
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
def fail(label: str, note: str = "") -> None:
|
|
39
|
-
note_str = f"\n {note}" if note else ""
|
|
40
|
-
print(f" {RED}❌ {label}{RESET}{note_str}")
|
|
41
|
-
RESULTS.append((label, False, note))
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
def skip(label: str, reason: str) -> None:
|
|
45
|
-
print(f" {YELLOW}⏭️ {label} — {reason}{RESET}")
|
|
46
|
-
RESULTS.append((label, True, f"skipped: {reason}"))
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
def run(label: str, cmd: list[str], cwd: str) -> bool:
|
|
50
|
-
try:
|
|
51
|
-
result = subprocess.run(cmd, cwd=cwd, capture_output=True, text=True, timeout=120)
|
|
52
|
-
if result.returncode == 0:
|
|
53
|
-
ok(label)
|
|
54
|
-
return True
|
|
55
|
-
output = (result.stdout + result.stderr).strip()
|
|
56
|
-
fail(label, output[:500] if output else "non-zero exit code")
|
|
57
|
-
return False
|
|
58
|
-
except FileNotFoundError:
|
|
59
|
-
skip(label, "tool not installed — skipping")
|
|
60
|
-
return True
|
|
61
|
-
except subprocess.TimeoutExpired:
|
|
62
|
-
fail(label, "timed out after 120s")
|
|
63
|
-
return False
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
def scan_secrets(cwd: str) -> bool:
|
|
67
|
-
"""Scan source files for obviously hardcoded credentials."""
|
|
68
|
-
patterns = ["password=", "secret=", "api_key=", "private_key=", "auth_token="]
|
|
69
|
-
found = []
|
|
70
|
-
for root, dirs, files in os.walk(cwd):
|
|
71
|
-
dirs[:] = [d for d in dirs if d not in {"node_modules", ".git", "dist", "__pycache__", ".agent"}]
|
|
72
|
-
for fname in files:
|
|
73
|
-
if not fname.endswith((".ts", ".js", ".tsx", ".jsx", ".py")):
|
|
74
|
-
continue
|
|
75
|
-
fpath = os.path.join(root, fname)
|
|
76
|
-
try:
|
|
77
|
-
with open(fpath, encoding="utf-8", errors="ignore") as f:
|
|
78
|
-
for i, line in enumerate(f, 1):
|
|
79
|
-
low = line.lower().strip()
|
|
80
|
-
if any(p in low for p in patterns) and not low.startswith("#") and "=" in low:
|
|
81
|
-
rel = os.path.relpath(fpath, cwd)
|
|
82
|
-
found.append(f"{rel}:{i}")
|
|
83
|
-
except (IOError, PermissionError):
|
|
84
|
-
pass
|
|
85
|
-
if found:
|
|
86
|
-
fail("Secret scan", "\n ".join(found[:5]))
|
|
87
|
-
return False
|
|
88
|
-
ok("Secret scan — no hardcoded credentials found")
|
|
89
|
-
return True
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
def has_npm(cwd: str) -> bool:
|
|
93
|
-
"""Check if there's a package.json to run npm commands against."""
|
|
94
|
-
return Path(cwd, "package.json").exists()
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
def verify_all(cwd: str, skipped: list[str]) -> int:
|
|
98
|
-
failures = 0
|
|
99
|
-
|
|
100
|
-
section("1 — Secret Scan")
|
|
101
|
-
if "secrets" not in skipped:
|
|
102
|
-
if not scan_secrets(cwd):
|
|
103
|
-
failures += 1
|
|
104
|
-
else:
|
|
105
|
-
skip("Secret scan", "skipped by flag")
|
|
106
|
-
|
|
107
|
-
section("2 — TypeScript")
|
|
108
|
-
if "typescript" not in skipped:
|
|
109
|
-
if has_npm(cwd):
|
|
110
|
-
if not run("tsc --noEmit", ["npx", "tsc", "--noEmit"], cwd):
|
|
111
|
-
failures += 1
|
|
112
|
-
else:
|
|
113
|
-
skip("TypeScript", "no package.json found in project")
|
|
114
|
-
else:
|
|
115
|
-
skip("TypeScript", "skipped by flag")
|
|
116
|
-
|
|
117
|
-
section("3 — ESLint")
|
|
118
|
-
if "lint" not in skipped:
|
|
119
|
-
if has_npm(cwd):
|
|
120
|
-
if not run("ESLint", ["npx", "eslint", ".", "--max-warnings=0"], cwd):
|
|
121
|
-
failures += 1
|
|
122
|
-
else:
|
|
123
|
-
skip("ESLint", "no package.json found in project")
|
|
124
|
-
else:
|
|
125
|
-
skip("ESLint", "skipped by flag")
|
|
126
|
-
|
|
127
|
-
section("4 — Unit Tests")
|
|
128
|
-
if "tests" not in skipped:
|
|
129
|
-
if has_npm(cwd):
|
|
130
|
-
if not run("Test suite", ["npm", "test", "--", "--passWithNoTests"], cwd):
|
|
131
|
-
failures += 1
|
|
132
|
-
else:
|
|
133
|
-
skip("Tests", "no package.json found in project")
|
|
134
|
-
else:
|
|
135
|
-
skip("Tests", "skipped by flag")
|
|
136
|
-
|
|
137
|
-
section("5 — Build")
|
|
138
|
-
if "build" not in skipped:
|
|
139
|
-
if has_npm(cwd):
|
|
140
|
-
if not run("npm run build", ["npm", "run", "build"], cwd):
|
|
141
|
-
failures += 1
|
|
142
|
-
else:
|
|
143
|
-
skip("Build", "no package.json found in project")
|
|
144
|
-
else:
|
|
145
|
-
skip("Build", "skipped by flag")
|
|
146
|
-
|
|
147
|
-
section("6 — Dependency Audit")
|
|
148
|
-
if "deps" not in skipped:
|
|
149
|
-
if has_npm(cwd):
|
|
150
|
-
if not run("npm audit", ["npm", "audit", "--audit-level=high"], cwd):
|
|
151
|
-
failures += 1
|
|
152
|
-
else:
|
|
153
|
-
skip("Dependency audit", "no package.json found in project")
|
|
154
|
-
else:
|
|
155
|
-
skip("Dependency audit", "skipped by flag")
|
|
156
|
-
|
|
157
|
-
print(f"\n{BOLD}━━━ Summary ━━━{RESET}")
|
|
158
|
-
for label, passed, note in RESULTS:
|
|
159
|
-
status = f"{GREEN}✅{RESET}" if passed else f"{RED}❌{RESET}"
|
|
160
|
-
note_str = f" {YELLOW}({note}){RESET}" if not passed and note else ""
|
|
161
|
-
print(f" {status} {label}{note_str}")
|
|
162
|
-
|
|
163
|
-
print()
|
|
164
|
-
if failures == 0:
|
|
165
|
-
print(f"{GREEN}{BOLD}All checks passed — safe to deploy.{RESET}")
|
|
166
|
-
else:
|
|
167
|
-
print(f"{RED}{BOLD}{failures} check(s) failed — fix before deploying.{RESET}")
|
|
168
|
-
|
|
169
|
-
return failures
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
def main() -> None:
|
|
173
|
-
parser = argparse.ArgumentParser(
|
|
174
|
-
description="Tribunal pre-deploy validation suite",
|
|
175
|
-
usage="%(prog)s [--skip CHECKS]"
|
|
176
|
-
)
|
|
177
|
-
parser.add_argument(
|
|
178
|
-
"--skip",
|
|
179
|
-
default="",
|
|
180
|
-
help="Comma-separated checks to skip: secrets,typescript,lint,tests,build,deps"
|
|
181
|
-
)
|
|
182
|
-
args = parser.parse_args()
|
|
183
|
-
|
|
184
|
-
cwd = os.getcwd()
|
|
185
|
-
skipped = [s.strip().lower() for s in args.skip.split(",") if s.strip()]
|
|
186
|
-
|
|
187
|
-
print(f"{BOLD}Tribunal — verify_all.py{RESET}")
|
|
188
|
-
print(f"Project: {cwd}\n")
|
|
189
|
-
|
|
190
|
-
failures = verify_all(cwd, skipped)
|
|
191
|
-
sys.exit(1 if failures > 0 else 0)
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
if __name__ == "__main__":
|
|
195
|
-
main()
|