agent-devkit 0.2.0 → 0.3.1
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/README.md +66 -13
- package/bin/agent.mjs +133 -7
- package/package.json +1 -1
- package/runtime/README.md +205 -13
- package/runtime/agent +31 -5
- package/runtime/agents/README.md +18 -0
- package/runtime/agents/contribution-reviewer/AGENTS.md +8 -0
- package/runtime/agents/contribution-reviewer/README.md +8 -0
- package/runtime/agents/contribution-reviewer/agent.yaml +40 -0
- package/runtime/agents/contribution-reviewer/capabilities/plan-contribution-pr/capability.yaml +27 -0
- package/runtime/agents/contribution-reviewer/capabilities/plan-contribution-pr/decision-rules.md +5 -0
- package/runtime/agents/contribution-reviewer/capabilities/plan-contribution-pr/workflow.md +6 -0
- package/runtime/agents/contribution-reviewer/capabilities/review-contribution/capability.yaml +25 -0
- package/runtime/agents/contribution-reviewer/capabilities/review-contribution/decision-rules.md +5 -0
- package/runtime/agents/contribution-reviewer/capabilities/review-contribution/workflow.md +5 -0
- package/runtime/agents/contribution-reviewer/capabilities/validate-local-contribution/capability.yaml +26 -0
- package/runtime/agents/contribution-reviewer/capabilities/validate-local-contribution/decision-rules.md +5 -0
- package/runtime/agents/contribution-reviewer/capabilities/validate-local-contribution/workflow.md +6 -0
- package/runtime/agents/contribution-reviewer/infra/README.md +6 -0
- package/runtime/agents/contribution-reviewer/knowledge/context.md +8 -0
- package/runtime/agents/contribution-reviewer/knowledge/system.md +8 -0
- package/runtime/agents/contribution-reviewer/templates/README.md +3 -0
- package/runtime/agents/knowledge-author/AGENTS.md +7 -0
- package/runtime/agents/knowledge-author/README.md +7 -0
- package/runtime/agents/knowledge-author/agent.yaml +37 -0
- package/runtime/agents/knowledge-author/capabilities/create-knowledge-snapshot/capability.yaml +30 -0
- package/runtime/agents/knowledge-author/capabilities/create-knowledge-snapshot/decision-rules.md +6 -0
- package/runtime/agents/knowledge-author/capabilities/create-knowledge-snapshot/workflow.md +7 -0
- package/runtime/agents/knowledge-author/infra/.gitkeep +1 -0
- package/runtime/agents/knowledge-author/knowledge/context.md +4 -0
- package/runtime/agents/knowledge-author/knowledge/system.md +4 -0
- package/runtime/agents/knowledge-author/templates/.gitkeep +1 -0
- package/runtime/agents/knowledge-curator/AGENTS.md +7 -0
- package/runtime/agents/knowledge-curator/README.md +6 -0
- package/runtime/agents/knowledge-curator/agent.yaml +37 -0
- package/runtime/agents/knowledge-curator/capabilities/curate-knowledge-base/capability.yaml +29 -0
- package/runtime/agents/knowledge-curator/capabilities/curate-knowledge-base/decision-rules.md +6 -0
- package/runtime/agents/knowledge-curator/capabilities/curate-knowledge-base/workflow.md +7 -0
- package/runtime/agents/knowledge-curator/infra/.gitkeep +1 -0
- package/runtime/agents/knowledge-curator/knowledge/context.md +4 -0
- package/runtime/agents/knowledge-curator/knowledge/system.md +4 -0
- package/runtime/agents/knowledge-curator/templates/.gitkeep +1 -0
- package/runtime/agents/knowledge-infra-builder/AGENTS.md +8 -0
- package/runtime/agents/knowledge-infra-builder/README.md +8 -0
- package/runtime/agents/knowledge-infra-builder/agent.yaml +38 -0
- package/runtime/agents/knowledge-infra-builder/capabilities/create-knowledge-base/capability.yaml +30 -0
- package/runtime/agents/knowledge-infra-builder/capabilities/create-knowledge-base/decision-rules.md +6 -0
- package/runtime/agents/knowledge-infra-builder/capabilities/create-knowledge-base/workflow.md +7 -0
- package/runtime/agents/knowledge-infra-builder/infra/.gitkeep +1 -0
- package/runtime/agents/knowledge-infra-builder/knowledge/context.md +4 -0
- package/runtime/agents/knowledge-infra-builder/knowledge/system.md +4 -0
- package/runtime/agents/knowledge-infra-builder/templates/.gitkeep +1 -0
- package/runtime/agents/knowledge-owner/AGENTS.md +7 -0
- package/runtime/agents/knowledge-owner/README.md +6 -0
- package/runtime/agents/knowledge-owner/agent.yaml +37 -0
- package/runtime/agents/knowledge-owner/capabilities/publish-knowledge-snapshot/capability.yaml +28 -0
- package/runtime/agents/knowledge-owner/capabilities/publish-knowledge-snapshot/decision-rules.md +6 -0
- package/runtime/agents/knowledge-owner/capabilities/publish-knowledge-snapshot/workflow.md +7 -0
- package/runtime/agents/knowledge-owner/infra/.gitkeep +1 -0
- package/runtime/agents/knowledge-owner/knowledge/context.md +4 -0
- package/runtime/agents/knowledge-owner/knowledge/system.md +4 -0
- package/runtime/agents/knowledge-owner/templates/.gitkeep +1 -0
- package/runtime/agents/knowledge-reviewer/AGENTS.md +7 -0
- package/runtime/agents/knowledge-reviewer/README.md +7 -0
- package/runtime/agents/knowledge-reviewer/agent.yaml +36 -0
- package/runtime/agents/knowledge-reviewer/capabilities/review-knowledge-snapshot/capability.yaml +26 -0
- package/runtime/agents/knowledge-reviewer/capabilities/review-knowledge-snapshot/decision-rules.md +6 -0
- package/runtime/agents/knowledge-reviewer/capabilities/review-knowledge-snapshot/workflow.md +7 -0
- package/runtime/agents/knowledge-reviewer/infra/.gitkeep +1 -0
- package/runtime/agents/knowledge-reviewer/knowledge/context.md +4 -0
- package/runtime/agents/knowledge-reviewer/knowledge/system.md +4 -0
- package/runtime/agents/knowledge-reviewer/templates/.gitkeep +1 -0
- package/runtime/agents/local-memory-manager/AGENTS.md +5 -0
- package/runtime/agents/local-memory-manager/README.md +7 -0
- package/runtime/agents/local-memory-manager/agent.yaml +38 -0
- package/runtime/agents/local-memory-manager/capabilities/curate-local-memory/capability.yaml +19 -0
- package/runtime/agents/local-memory-manager/capabilities/curate-local-memory/decision-rules.md +5 -0
- package/runtime/agents/local-memory-manager/capabilities/curate-local-memory/workflow.md +6 -0
- package/runtime/agents/local-memory-manager/capabilities/inspect-local-memory/capability.yaml +19 -0
- package/runtime/agents/local-memory-manager/capabilities/inspect-local-memory/decision-rules.md +5 -0
- package/runtime/agents/local-memory-manager/capabilities/inspect-local-memory/workflow.md +5 -0
- package/runtime/agents/local-memory-manager/infra/.gitkeep +1 -0
- package/runtime/agents/local-memory-manager/knowledge/context.md +4 -0
- package/runtime/agents/local-memory-manager/knowledge/system.md +4 -0
- package/runtime/agents/local-memory-manager/templates/.gitkeep +1 -0
- package/runtime/agents/memory-sync-manager/AGENTS.md +7 -0
- package/runtime/agents/memory-sync-manager/README.md +7 -0
- package/runtime/agents/memory-sync-manager/agent.yaml +37 -0
- package/runtime/agents/memory-sync-manager/capabilities/plan-memory-backup/capability.yaml +29 -0
- package/runtime/agents/memory-sync-manager/capabilities/plan-memory-backup/decision-rules.md +6 -0
- package/runtime/agents/memory-sync-manager/capabilities/plan-memory-backup/workflow.md +7 -0
- package/runtime/agents/memory-sync-manager/infra/.gitkeep +1 -0
- package/runtime/agents/memory-sync-manager/knowledge/context.md +4 -0
- package/runtime/agents/memory-sync-manager/knowledge/system.md +4 -0
- package/runtime/agents/memory-sync-manager/templates/.gitkeep +1 -0
- package/runtime/agents/shared-memory-curator/AGENTS.md +5 -0
- package/runtime/agents/shared-memory-curator/README.md +6 -0
- package/runtime/agents/shared-memory-curator/agent.yaml +38 -0
- package/runtime/agents/shared-memory-curator/capabilities/create-shared-memory/capability.yaml +19 -0
- package/runtime/agents/shared-memory-curator/capabilities/create-shared-memory/decision-rules.md +5 -0
- package/runtime/agents/shared-memory-curator/capabilities/create-shared-memory/workflow.md +5 -0
- package/runtime/agents/shared-memory-curator/capabilities/publish-shared-submission/capability.yaml +19 -0
- package/runtime/agents/shared-memory-curator/capabilities/publish-shared-submission/decision-rules.md +5 -0
- package/runtime/agents/shared-memory-curator/capabilities/publish-shared-submission/workflow.md +5 -0
- package/runtime/agents/shared-memory-curator/capabilities/review-shared-submission/capability.yaml +19 -0
- package/runtime/agents/shared-memory-curator/capabilities/review-shared-submission/decision-rules.md +5 -0
- package/runtime/agents/shared-memory-curator/capabilities/review-shared-submission/workflow.md +5 -0
- package/runtime/agents/shared-memory-curator/infra/.gitkeep +1 -0
- package/runtime/agents/shared-memory-curator/knowledge/context.md +5 -0
- package/runtime/agents/shared-memory-curator/knowledge/system.md +4 -0
- package/runtime/agents/shared-memory-curator/templates/.gitkeep +1 -0
- package/runtime/cli/README.md +47 -8
- package/runtime/cli/aikit/__init__.py +1 -1
- package/runtime/cli/aikit/agent_registry.py +4 -2
- package/runtime/cli/aikit/agentic_commands.py +158 -0
- package/runtime/cli/aikit/app_home.py +2 -0
- package/runtime/cli/aikit/audit.py +16 -6
- package/runtime/cli/aikit/catalog.py +278 -8
- package/runtime/cli/aikit/cli_dispatch.py +489 -13
- package/runtime/cli/aikit/cli_parser.py +146 -8
- package/runtime/cli/aikit/contribution.py +132 -2
- package/runtime/cli/aikit/doctor_runtime.py +85 -0
- package/runtime/cli/aikit/embedded_mini_brain.py +351 -0
- package/runtime/cli/aikit/eval.py +356 -10
- package/runtime/cli/aikit/human_output.py +310 -4
- package/runtime/cli/aikit/interactive_wizard.py +146 -0
- package/runtime/cli/aikit/knowledge_base.py +1067 -0
- package/runtime/cli/aikit/llm.py +40 -6
- package/runtime/cli/aikit/local_artifacts.py +444 -0
- package/runtime/cli/aikit/local_llm.py +176 -0
- package/runtime/cli/aikit/local_llm_operator.py +15 -5
- package/runtime/cli/aikit/main.py +15 -0
- package/runtime/cli/aikit/mcp_manifest.py +798 -0
- package/runtime/cli/aikit/mcp_tools.py +643 -5
- package/runtime/cli/aikit/memory.py +405 -0
- package/runtime/cli/aikit/mini_brain.py +56 -25
- package/runtime/cli/aikit/model_router.py +42 -9
- package/runtime/cli/aikit/natural_prompt_runtime.py +194 -2
- package/runtime/cli/aikit/ollama.py +64 -15
- package/runtime/cli/aikit/onboarding.py +551 -0
- package/runtime/cli/aikit/output.py +67 -0
- package/runtime/cli/aikit/prompt_injection.py +12 -1
- package/runtime/cli/aikit/review_gate.py +14 -2
- package/runtime/cli/aikit/roadmap_cli.py +1 -1
- package/runtime/cli/aikit/secrets.py +3 -2
- package/runtime/cli/aikit/setup_wizard_payload.py +3 -0
- package/runtime/cli/aikit/shared_memory.py +415 -0
- package/runtime/cli/aikit/specialist_readiness.py +152 -0
- package/runtime/cli/aikit/tasks.py +104 -1
- package/runtime/cli/aikit/team.py +380 -0
- package/runtime/cli/aikit/toolchain.py +7 -2
- package/runtime/cli/aikit/workflows.py +115 -14
- package/runtime/models/qwen2.5-0.5b-instruct/manifest.json +30 -0
- package/runtime/providers/knowledge-github.yaml +40 -0
- package/runtime/providers/knowledge-google-drive.yaml +32 -0
- package/runtime/providers/knowledge-local.yaml +26 -0
- package/runtime/providers/knowledge-notion.yaml +32 -0
- package/runtime/providers/knowledge-obsidian.yaml +24 -0
- package/runtime/providers/knowledge-onedrive.yaml +36 -0
- package/runtime/providers/knowledge-s3.yaml +45 -0
- package/runtime/providers/knowledge-sharepoint.yaml +39 -0
- package/runtime/providers/knowledge-supabase.yaml +43 -0
- package/runtime/providers/knowledge-vector.yaml +39 -0
- package/runtime/requirements.txt +6 -0
- package/runtime/scripts/docker-cli-qa.sh +453 -0
- package/runtime/scripts/release-catalog-snapshot.json +55 -4
- package/runtime/scripts/release-gate.py +54 -13
- package/runtime/tooling/toolchain.yaml +92 -0
- package/runtime/vendor/skills/napkin/napkin.md +21 -7
- package/runtime/workflows/azure-card-analysis/README.md +3 -0
- package/runtime/workflows/azure-card-analysis/workflow.yaml +30 -0
- package/runtime/workflows/daily-pr-review/README.md +3 -0
- package/runtime/workflows/daily-pr-review/workflow.yaml +31 -0
- package/runtime/workflows/incident-analysis/README.md +3 -0
- package/runtime/workflows/incident-analysis/workflow.yaml +33 -0
- package/runtime/workflows/release-prep/README.md +3 -0
- package/runtime/workflows/release-prep/workflow.yaml +30 -0
|
@@ -6,6 +6,7 @@ from __future__ import annotations
|
|
|
6
6
|
import argparse
|
|
7
7
|
import json
|
|
8
8
|
import os
|
|
9
|
+
import shutil
|
|
9
10
|
import subprocess
|
|
10
11
|
import sys
|
|
11
12
|
from pathlib import Path
|
|
@@ -22,6 +23,8 @@ CATALOG_SNAPSHOT = ROOT / "scripts" / "release-catalog-snapshot.json"
|
|
|
22
23
|
CLAUDE_SKILL = ROOT / "plugins" / "claude-skill-ai-devkit" / "ai-devkit"
|
|
23
24
|
CODEX_HOME = Path(os.environ.get("CODEX_HOME", Path.home() / ".codex"))
|
|
24
25
|
SKILL_VALIDATOR = CODEX_HOME / "skills" / ".system" / "skill-creator" / "scripts" / "quick_validate.py"
|
|
26
|
+
RELEASE_GATE_HOME = ROOT / "tmp" / "release-gate-home"
|
|
27
|
+
COMMAND_TIMEOUT_SECONDS = 900
|
|
25
28
|
|
|
26
29
|
|
|
27
30
|
def main() -> int:
|
|
@@ -39,18 +42,19 @@ def main() -> int:
|
|
|
39
42
|
|
|
40
43
|
|
|
41
44
|
def run_gate(*, quick: bool = False) -> dict[str, Any]:
|
|
45
|
+
prepare_release_gate_home()
|
|
42
46
|
checks = [
|
|
43
47
|
check_command("agent version", [sys.executable, str(AGENT), "--version"], validate_agent_version),
|
|
44
48
|
check_json("repo strict validation", [sys.executable, str(VALIDATE_REPO), "--strict", "--json"], validate_repo),
|
|
45
49
|
catalog_snapshot_check(),
|
|
46
50
|
check_json("mvp readiness", [sys.executable, str(MVP_READINESS), "--json"], validate_mvp_readiness),
|
|
47
|
-
check_json("v0.2.
|
|
51
|
+
check_json("v0.2.1 runtime evals", [sys.executable, str(AGENT), "eval", "run", "all", "--json"], validate_v021_evals),
|
|
48
52
|
skill_validation_check(),
|
|
49
53
|
]
|
|
50
54
|
if quick:
|
|
51
55
|
checks.append(skipped_check("full unittest suite", "skipped by --quick"))
|
|
52
56
|
else:
|
|
53
|
-
checks.append(check_command("full unittest suite", unittest_command(), validate_unittest))
|
|
57
|
+
checks.append(check_command("full unittest suite", unittest_command(), validate_unittest, use_release_home=False))
|
|
54
58
|
|
|
55
59
|
errors = [check["message"] for check in checks if check["status"] == "failed"]
|
|
56
60
|
return {
|
|
@@ -62,6 +66,11 @@ def run_gate(*, quick: bool = False) -> dict[str, Any]:
|
|
|
62
66
|
}
|
|
63
67
|
|
|
64
68
|
|
|
69
|
+
def prepare_release_gate_home() -> None:
|
|
70
|
+
shutil.rmtree(RELEASE_GATE_HOME, ignore_errors=True)
|
|
71
|
+
RELEASE_GATE_HOME.mkdir(parents=True, exist_ok=True)
|
|
72
|
+
|
|
73
|
+
|
|
65
74
|
def skill_validation_check() -> dict[str, Any]:
|
|
66
75
|
if not SKILL_VALIDATOR.exists():
|
|
67
76
|
return skipped_check("claude skill validation", f"skill validator not found at {SKILL_VALIDATOR}")
|
|
@@ -97,8 +106,8 @@ def unittest_path_sort_key(path: Path) -> tuple[int, str]:
|
|
|
97
106
|
return (0 if first == "tests" else 1, str(relative))
|
|
98
107
|
|
|
99
108
|
|
|
100
|
-
def check_json(name: str, command: list[str], validator) -> dict[str, Any]:
|
|
101
|
-
result = run(command)
|
|
109
|
+
def check_json(name: str, command: list[str], validator, *, use_release_home: bool = True) -> dict[str, Any]:
|
|
110
|
+
result = run(command, use_release_home=use_release_home)
|
|
102
111
|
if result.returncode != 0:
|
|
103
112
|
return failed_check(name, f"returncode {result.returncode}", result)
|
|
104
113
|
try:
|
|
@@ -113,8 +122,8 @@ def check_json(name: str, command: list[str], validator) -> dict[str, Any]:
|
|
|
113
122
|
return check
|
|
114
123
|
|
|
115
124
|
|
|
116
|
-
def check_command(name: str, command: list[str], validator) -> dict[str, Any]:
|
|
117
|
-
result = run(command)
|
|
125
|
+
def check_command(name: str, command: list[str], validator, *, use_release_home: bool = True) -> dict[str, Any]:
|
|
126
|
+
result = run(command, use_release_home=use_release_home)
|
|
118
127
|
if result.returncode != 0:
|
|
119
128
|
return failed_check(name, f"returncode {result.returncode}", result)
|
|
120
129
|
message = validator(result)
|
|
@@ -123,18 +132,30 @@ def check_command(name: str, command: list[str], validator) -> dict[str, Any]:
|
|
|
123
132
|
return ok_check(name, result)
|
|
124
133
|
|
|
125
134
|
|
|
126
|
-
def run(command: list[str]) -> subprocess.CompletedProcess[str]:
|
|
135
|
+
def run(command: list[str], *, use_release_home: bool = True) -> subprocess.CompletedProcess[str]:
|
|
136
|
+
env = command_env(use_release_home=use_release_home)
|
|
127
137
|
return subprocess.run(
|
|
128
138
|
command,
|
|
129
139
|
cwd=ROOT,
|
|
130
140
|
check=False,
|
|
141
|
+
env=env,
|
|
131
142
|
text=True,
|
|
132
143
|
stdout=subprocess.PIPE,
|
|
133
144
|
stderr=subprocess.PIPE,
|
|
134
|
-
timeout=
|
|
145
|
+
timeout=COMMAND_TIMEOUT_SECONDS,
|
|
135
146
|
)
|
|
136
147
|
|
|
137
148
|
|
|
149
|
+
def command_env(*, use_release_home: bool) -> dict[str, str]:
|
|
150
|
+
env = os.environ.copy()
|
|
151
|
+
if use_release_home:
|
|
152
|
+
env["AGENT_DEVKIT_HOME"] = str(RELEASE_GATE_HOME)
|
|
153
|
+
return env
|
|
154
|
+
for name in ("AGENT_DEVKIT_HOME", "AI_DEVKIT_CONFIG_HOME", "AIKIT_CONFIG_HOME"):
|
|
155
|
+
env.pop(name, None)
|
|
156
|
+
return env
|
|
157
|
+
|
|
158
|
+
|
|
138
159
|
def validate_agent_version(result: subprocess.CompletedProcess[str]) -> str | None:
|
|
139
160
|
if not result.stdout.startswith("agent "):
|
|
140
161
|
return "agent --version did not report the agent command"
|
|
@@ -260,14 +281,34 @@ def validate_mvp_readiness(payload: dict[str, Any]) -> str | None:
|
|
|
260
281
|
return None
|
|
261
282
|
|
|
262
283
|
|
|
263
|
-
def
|
|
284
|
+
def validate_v021_evals(payload: dict[str, Any]) -> str | None:
|
|
264
285
|
if payload.get("kind") != "eval-run" or payload.get("suite") != "all":
|
|
265
|
-
return "v0.2.
|
|
286
|
+
return "v0.2.1 eval command returned an unexpected payload"
|
|
266
287
|
if payload.get("status") != "passed":
|
|
267
|
-
return "v0.2.
|
|
288
|
+
return "v0.2.1 runtime evals did not pass"
|
|
268
289
|
checks = payload.get("checks") or []
|
|
269
|
-
|
|
270
|
-
|
|
290
|
+
required = {
|
|
291
|
+
"routing",
|
|
292
|
+
"catalog",
|
|
293
|
+
"wizard",
|
|
294
|
+
"source_config",
|
|
295
|
+
"identity_enforcement",
|
|
296
|
+
"review_gate",
|
|
297
|
+
"model_router",
|
|
298
|
+
"agentic_plan",
|
|
299
|
+
"mcp",
|
|
300
|
+
"workflow_contract",
|
|
301
|
+
"extension_contract",
|
|
302
|
+
"contribution_contract",
|
|
303
|
+
"team_contract",
|
|
304
|
+
"knowledge_contract",
|
|
305
|
+
"secret_refs",
|
|
306
|
+
"prompt-injection",
|
|
307
|
+
}
|
|
308
|
+
suites = {item.get("suite") for item in checks if isinstance(item, dict)}
|
|
309
|
+
missing = sorted(required - suites)
|
|
310
|
+
if missing:
|
|
311
|
+
return f"v0.2.1 runtime evals missing suites: {', '.join(missing)}"
|
|
271
312
|
return None
|
|
272
313
|
|
|
273
314
|
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
version: 1
|
|
2
|
+
tools:
|
|
3
|
+
claude-code:
|
|
4
|
+
label: Claude Code CLI
|
|
5
|
+
command: claude
|
|
6
|
+
required: false
|
|
7
|
+
install:
|
|
8
|
+
darwin: npm install -g @anthropic-ai/claude-code
|
|
9
|
+
linux: npm install -g @anthropic-ai/claude-code
|
|
10
|
+
windows: npm install -g @anthropic-ai/claude-code
|
|
11
|
+
notes: Uses official Claude Code authentication.
|
|
12
|
+
codex-cli:
|
|
13
|
+
label: Codex CLI
|
|
14
|
+
command: codex
|
|
15
|
+
required: false
|
|
16
|
+
install:
|
|
17
|
+
darwin: npm install -g @openai/codex
|
|
18
|
+
linux: npm install -g @openai/codex
|
|
19
|
+
windows: npm install -g @openai/codex
|
|
20
|
+
notes: Uses official Codex CLI authentication.
|
|
21
|
+
gh-cli:
|
|
22
|
+
label: GitHub CLI
|
|
23
|
+
command: gh
|
|
24
|
+
required: false
|
|
25
|
+
install:
|
|
26
|
+
darwin: brew install gh
|
|
27
|
+
linux: See https://github.com/cli/cli/blob/trunk/docs/install_linux.md
|
|
28
|
+
windows: winget install --id GitHub.cli
|
|
29
|
+
notes: Required for GitHub PR reviewer workflows.
|
|
30
|
+
playwright:
|
|
31
|
+
label: Playwright
|
|
32
|
+
command: playwright
|
|
33
|
+
required: false
|
|
34
|
+
install:
|
|
35
|
+
darwin: python3 -m pip install playwright && python3 -m playwright install chromium
|
|
36
|
+
linux: python3 -m pip install playwright && python3 -m playwright install chromium
|
|
37
|
+
windows: python -m pip install playwright && python -m playwright install chromium
|
|
38
|
+
notes: Optional; used by Playwright automation builder for real browser checks.
|
|
39
|
+
aws-cli:
|
|
40
|
+
label: AWS CLI
|
|
41
|
+
command: aws
|
|
42
|
+
required: false
|
|
43
|
+
install:
|
|
44
|
+
darwin: brew install awscli
|
|
45
|
+
linux: See https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
|
|
46
|
+
windows: winget install --id Amazon.AWSCLI
|
|
47
|
+
notes: Required for AWS agents using real AWS accounts.
|
|
48
|
+
figma-mcp:
|
|
49
|
+
label: Figma MCP
|
|
50
|
+
command: figma
|
|
51
|
+
required: false
|
|
52
|
+
install:
|
|
53
|
+
darwin: Configure the official Figma MCP integration in your host app.
|
|
54
|
+
linux: Configure the official Figma MCP integration in your host app.
|
|
55
|
+
windows: Configure the official Figma MCP integration in your host app.
|
|
56
|
+
notes: Optional; usually installed through Codex/Claude host integrations.
|
|
57
|
+
ollama:
|
|
58
|
+
label: Ollama
|
|
59
|
+
command: ollama
|
|
60
|
+
required: false
|
|
61
|
+
install:
|
|
62
|
+
darwin: brew install ollama
|
|
63
|
+
linux: curl -fsSL https://ollama.com/install.sh | sh
|
|
64
|
+
windows: winget install Ollama.Ollama
|
|
65
|
+
notes: Local LLM runtime used for operational subagent work.
|
|
66
|
+
node:
|
|
67
|
+
label: Node.js
|
|
68
|
+
command: node
|
|
69
|
+
required: true
|
|
70
|
+
install:
|
|
71
|
+
darwin: brew install node
|
|
72
|
+
linux: Use your distro package manager or https://nodejs.org/
|
|
73
|
+
windows: winget install OpenJS.NodeJS.LTS
|
|
74
|
+
notes: Required by several artifact builders and host CLIs.
|
|
75
|
+
python:
|
|
76
|
+
label: Python
|
|
77
|
+
command: python3
|
|
78
|
+
required: true
|
|
79
|
+
install:
|
|
80
|
+
darwin: brew install python
|
|
81
|
+
linux: Use your distro package manager.
|
|
82
|
+
windows: winget install Python.Python.3.12
|
|
83
|
+
notes: Required by the Agent DevKit CLI runtime.
|
|
84
|
+
git:
|
|
85
|
+
label: Git
|
|
86
|
+
command: git
|
|
87
|
+
required: true
|
|
88
|
+
install:
|
|
89
|
+
darwin: xcode-select --install
|
|
90
|
+
linux: Use your distro package manager.
|
|
91
|
+
windows: winget install Git.Git
|
|
92
|
+
notes: Required for repository-aware workflows.
|
|
@@ -7,11 +7,21 @@
|
|
|
7
7
|
- Each item includes date + "Do instead".
|
|
8
8
|
|
|
9
9
|
## Execution & Validation (Highest Priority)
|
|
10
|
-
1. **[2026-06-
|
|
10
|
+
1. **[2026-06-29] Nao paralelizar build e verify do pacote npm**
|
|
11
|
+
Do instead: rode `npm run package:build && npm run package:verify` sequencialmente; o build remove/recria `tooling/agent-devkit/runtime` e quebra verifies simultaneos.
|
|
12
|
+
2. **[2026-06-29] QA destrutivo de instalacao roda em Docker**
|
|
13
|
+
Do instead: use `npm run docker:qa` para instalar tarball em container limpo, validar fluxos CLI criticos, desinstalar e remover `.agent-devkit` sem tocar no host.
|
|
14
|
+
3. **[2026-06-29] Docker sem espaco causa falsos erros de apt/GPG**
|
|
15
|
+
Do instead: se `npm run docker:qa` falhar com assinatura invalida no `apt`, verificar `docker system df` e liberar artefatos regeneraveis antes de diagnosticar o CLI.
|
|
16
|
+
4. **[2026-06-29] Release gate completo precisa de timeout folgado**
|
|
17
|
+
Do instead: manter timeout do `scripts/release-gate.py` acima da duracao real da suite completa; a suite isolada ja passa de 300s e o gate adiciona overhead.
|
|
18
|
+
5. **[2026-06-29] Isolar home do Agent DevKit em testes**
|
|
19
|
+
Do instead: use `AGENT_DEVKIT_HOME=$(mktemp -d)` ou `AI_DEVKIT_CONFIG_HOME=$(mktemp -d)`; `AI_DEVKIT_HOME` nao e lido pelo runtime e pode gravar em `~/.agent-devkit`.
|
|
20
|
+
6. **[2026-06-20] Validate agent capabilities through `agent`**
|
|
11
21
|
Do instead: when testing a capability, execute it through `agent run <agent> <capability>` before using lower-level integration CLIs.
|
|
12
|
-
|
|
22
|
+
7. **[2026-06-21] Excel artifact-tool Node scripts may keep handles alive**
|
|
13
23
|
Do instead: guard `run_node_script()` calls with timeouts and make successful JS runners call `process.exit(0)` after awaited saves.
|
|
14
|
-
|
|
24
|
+
8. **[2026-06-21] `unittest discover` does not find repo tests**
|
|
15
25
|
Do instead: run `python3 -m unittest $(rg --files -g 'test*.py' -g '!vendor/**')` for the project suite.
|
|
16
26
|
|
|
17
27
|
## Shell & Command Reliability
|
|
@@ -44,10 +54,14 @@
|
|
|
44
54
|
|
|
45
55
|
## User Directives
|
|
46
56
|
1. **[2026-06-28] Rodar testes focados durante patches**
|
|
47
|
-
Do instead: para melhorias intermediarias, executar apenas testes necessarios para validar o patch
|
|
48
|
-
2. **[2026-06-
|
|
57
|
+
Do instead: para melhorias intermediarias, executar apenas testes necessarios para validar o patch e no maximo `scripts/release-gate.py --quick`; reservar suite completa e gate completo apenas para fechamento de fase/versao.
|
|
58
|
+
2. **[2026-06-29] Manter `.agent-devkit` como home local**
|
|
59
|
+
Do instead: persistir instalacao, memoria local, configs e artefatos locais em `.agent-devkit` quando o runtime ja usar esse caminho; nao migrar para `.ai-devkit`.
|
|
60
|
+
3. **[2026-06-29] Comando canonico permanece `agent`**
|
|
61
|
+
Do instead: manter `agent` como comando default e validar que renomeacao/persona altera o nome publico do agente, nao o executavel canonico.
|
|
62
|
+
4. **[2026-06-22] Implement agentic specs individually**
|
|
49
63
|
Do instead: process one `docs/agentic/*_plan.md` spec at a time with agent-specific analysis, tests, implementation, and review; do not use broad multi-agent waves or mechanical generation.
|
|
50
|
-
|
|
64
|
+
5. **[2026-06-22] Use Agent DevKit agents for work**
|
|
51
65
|
Do instead: route every current and future activity through the relevant Agent DevKit agent/capability before doing direct ad-hoc work.
|
|
52
|
-
|
|
66
|
+
6. **[2026-06-20] Keep generated docs out of final project versioning**
|
|
53
67
|
Do instead: treat `docs/` as local development/generated artifact space and keep it ignored.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
id: azure-card-analysis
|
|
2
|
+
title: Azure card analysis
|
|
3
|
+
description: Analyze an Azure DevOps card and prepare an operational response plan.
|
|
4
|
+
schedule:
|
|
5
|
+
type: manual
|
|
6
|
+
providers:
|
|
7
|
+
- azure-devops
|
|
8
|
+
permissions:
|
|
9
|
+
mode: report-only
|
|
10
|
+
write_policy: local_config_write
|
|
11
|
+
task:
|
|
12
|
+
title: Azure card analysis
|
|
13
|
+
prompt: Analise o card do Azure DevOps informado e prepare um plano de acao.
|
|
14
|
+
action:
|
|
15
|
+
type: prompt
|
|
16
|
+
prompt: Analise o card do Azure DevOps informado e prepare um plano de acao.
|
|
17
|
+
external_writes: false
|
|
18
|
+
permissions:
|
|
19
|
+
mode: report-only
|
|
20
|
+
notifications:
|
|
21
|
+
- type: desktop
|
|
22
|
+
events:
|
|
23
|
+
- task.completed
|
|
24
|
+
- task.blocked
|
|
25
|
+
outputs:
|
|
26
|
+
- card-analysis
|
|
27
|
+
risks:
|
|
28
|
+
- Requires Azure DevOps source configuration before reading real cards.
|
|
29
|
+
examples:
|
|
30
|
+
- analise o card 7914 do projeto sustentacao no azure
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
id: daily-pr-review
|
|
2
|
+
title: Daily PR review
|
|
3
|
+
description: Create a local scheduled prompt to review pending pull requests.
|
|
4
|
+
schedule:
|
|
5
|
+
type: cron
|
|
6
|
+
cron: "0 9 * * 1-5"
|
|
7
|
+
providers:
|
|
8
|
+
- github
|
|
9
|
+
permissions:
|
|
10
|
+
mode: report-only
|
|
11
|
+
write_policy: local_config_write
|
|
12
|
+
task:
|
|
13
|
+
title: Daily PR review
|
|
14
|
+
prompt: Revise as PRs que aguardam minha revisao hoje.
|
|
15
|
+
action:
|
|
16
|
+
type: prompt
|
|
17
|
+
prompt: Revise as PRs que aguardam minha revisao hoje.
|
|
18
|
+
external_writes: false
|
|
19
|
+
permissions:
|
|
20
|
+
mode: report-only
|
|
21
|
+
notifications:
|
|
22
|
+
- type: desktop
|
|
23
|
+
events:
|
|
24
|
+
- task.completed
|
|
25
|
+
- task.blocked
|
|
26
|
+
outputs:
|
|
27
|
+
- pr-review-summary
|
|
28
|
+
risks:
|
|
29
|
+
- Requires GitHub source/authentication for real PR data.
|
|
30
|
+
examples:
|
|
31
|
+
- revise as prs que recebi hoje
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
id: incident-analysis
|
|
2
|
+
title: Incident analysis
|
|
3
|
+
description: Plan an incident analysis using available cards, logs and source context.
|
|
4
|
+
schedule:
|
|
5
|
+
type: manual
|
|
6
|
+
providers:
|
|
7
|
+
- azure-devops
|
|
8
|
+
- github
|
|
9
|
+
- elasticsearch
|
|
10
|
+
- aws
|
|
11
|
+
permissions:
|
|
12
|
+
mode: report-only
|
|
13
|
+
write_policy: local_config_write
|
|
14
|
+
task:
|
|
15
|
+
title: Incident analysis
|
|
16
|
+
prompt: Analise o incidente informado usando fontes configuradas e gere um resumo com evidencias.
|
|
17
|
+
action:
|
|
18
|
+
type: prompt
|
|
19
|
+
prompt: Analise o incidente informado usando fontes configuradas e gere um resumo com evidencias.
|
|
20
|
+
external_writes: false
|
|
21
|
+
permissions:
|
|
22
|
+
mode: report-only
|
|
23
|
+
notifications:
|
|
24
|
+
- type: desktop
|
|
25
|
+
events:
|
|
26
|
+
- task.completed
|
|
27
|
+
- task.blocked
|
|
28
|
+
outputs:
|
|
29
|
+
- incident-report
|
|
30
|
+
risks:
|
|
31
|
+
- External logs and tickets may contain sensitive data and must be summarized.
|
|
32
|
+
examples:
|
|
33
|
+
- analise esse incidente
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
id: release-prep
|
|
2
|
+
title: Release prep
|
|
3
|
+
description: Prepare a release checklist, focused tests and package verification.
|
|
4
|
+
schedule:
|
|
5
|
+
type: manual
|
|
6
|
+
providers:
|
|
7
|
+
- github
|
|
8
|
+
permissions:
|
|
9
|
+
mode: report-only
|
|
10
|
+
write_policy: local_config_write
|
|
11
|
+
task:
|
|
12
|
+
title: Release prep
|
|
13
|
+
prompt: Prepare o corte de versao com checklist, testes focados e verificacao de pacote.
|
|
14
|
+
action:
|
|
15
|
+
type: prompt
|
|
16
|
+
prompt: Prepare o corte de versao com checklist, testes focados e verificacao de pacote.
|
|
17
|
+
external_writes: false
|
|
18
|
+
permissions:
|
|
19
|
+
mode: report-only
|
|
20
|
+
notifications:
|
|
21
|
+
- type: desktop
|
|
22
|
+
events:
|
|
23
|
+
- task.completed
|
|
24
|
+
- task.blocked
|
|
25
|
+
outputs:
|
|
26
|
+
- release-checklist
|
|
27
|
+
risks:
|
|
28
|
+
- Publishing, tagging and pushing still require explicit confirmation.
|
|
29
|
+
examples:
|
|
30
|
+
- prepare o corte da proxima versao
|