@jetrabbits/agentic 0.3.0 → 0.3.2
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/AGENTS.md +17 -23
- package/CHANGELOG.md +19 -0
- package/MEMORY.md +41 -87
- package/Makefile +80 -22
- package/README.md +17 -7
- package/agentic +634 -124
- package/areas/devops/ci-cd/AGENTS.md +1 -15
- package/areas/devops/database-ops/AGENTS.md +1 -15
- package/areas/devops/devsecops/AGENTS.md +1 -15
- package/areas/devops/infrastructure/AGENTS.md +1 -15
- package/areas/devops/kubernetes/AGENTS.md +1 -15
- package/areas/devops/networking/AGENTS.md +1 -15
- package/areas/devops/observability/AGENTS.md +1 -15
- package/areas/devops/sre/AGENTS.md +1 -15
- package/areas/software/backend/AGENTS.md +1 -16
- package/areas/software/data-engineering/AGENTS.md +1 -16
- package/areas/software/frontend/AGENTS.md +1 -16
- package/areas/software/full-stack/AGENTS.md +1 -16
- package/areas/software/general/AGENTS.md +1 -7
- package/areas/software/mlops/AGENTS.md +1 -16
- package/areas/software/mobile/AGENTS.md +1 -16
- package/areas/software/platform/AGENTS.md +1 -16
- package/areas/software/qa/AGENTS.md +1 -16
- package/areas/software/security/AGENTS.md +1 -16
- package/areas/template/AGENTS.tmpl.md +1 -17
- package/docs/agentic-lifecycle.md +7 -3
- package/docs/agentic-stabilization/README.md +11 -7
- package/docs/agentic-token-minimization/README.md +7 -5
- package/docs/agentic-usage.md +12 -5
- package/docs/guidance-updates/2026-05-22-centralized-guidance-memory.md +19 -0
- package/docs/opencode_setup.md +7 -5
- package/docs/review-pipeline.md +82 -0
- package/extensions/claude/agents/instruction_reviewer.md +132 -0
- package/extensions/claude/agents/memory_curator.md +97 -0
- package/extensions/codex/AGENTS.override.md +17 -0
- package/extensions/codex/agents/instruction_reviewer.toml +139 -0
- package/extensions/codex/agents/memory_curator.toml +104 -0
- package/extensions/gemini/agents/instruction_reviewer.md +132 -0
- package/extensions/gemini/agents/memory_curator.md +97 -0
- package/extensions/opencode/agents/instruction_reviewer.md +133 -0
- package/extensions/opencode/agents/memory_curator.md +98 -0
- package/extensions/opencode/opencode.json +27 -3
- package/extensions/opencode/plugins/agent-model-mapper.ts +13 -2
- package/extensions/opencode/plugins/telegram-notification.ts +14 -14
- package/package.json +1 -1
- package/scripts/generate_how_to_use_agentic_gif.py +565 -0
package/AGENTS.md
CHANGED
|
@@ -1,27 +1,17 @@
|
|
|
1
1
|
# AGENTS — root guidance
|
|
2
2
|
|
|
3
|
-
## Dynamic loading
|
|
3
|
+
## Dynamic guidance loading
|
|
4
4
|
|
|
5
|
-
The
|
|
6
|
-
|
|
5
|
+
The loaded guidance set is project-specific and may change per task. Do not assume the statically listed files are
|
|
6
|
+
complete; first discover optional guidance under the target project's `.agent/` directory.
|
|
7
7
|
|
|
8
|
-
Discover and load
|
|
8
|
+
Discover and load guidance in this order:
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
├── workflows/
|
|
16
|
-
└── prompts/
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
**Discovery patterns:**
|
|
20
|
-
|
|
21
|
-
- `project_dir/.agent/rules/*`
|
|
22
|
-
- `project_dir/.agent/skills/*`
|
|
23
|
-
- `project_dir/.agent/workflows/*`
|
|
24
|
-
- `project_dir/.agent/prompts/*`
|
|
10
|
+
1. `.agent/*.md` — project baseline files, when present
|
|
11
|
+
2. `.agent/rules/*.md` — all project rules
|
|
12
|
+
3. `.agent/skills/*/SKILL.md` — only the skill matching the current task
|
|
13
|
+
4. `.agent/workflows/*.md` — only the workflow matching the triggered command
|
|
14
|
+
5. `.agent/prompts/*.md` — only when explicitly requested or referenced by loaded guidance
|
|
25
15
|
|
|
26
16
|
Prefer relative paths in references inside markdown files.
|
|
27
17
|
|
|
@@ -66,13 +56,17 @@ Cross-cutting practices that apply to every project regardless of area.
|
|
|
66
56
|
### Documentation of Behavior Changes
|
|
67
57
|
|
|
68
58
|
- Any behavior change captured in Markdown artifacts must be documented under the project `docs/` directory.
|
|
69
|
-
- Use documentation paths that match the change type, for example `docs/<feature>/README.md` for feature behavior and
|
|
70
|
-
-
|
|
71
|
-
-
|
|
59
|
+
- Use documentation paths that match the change type, for example `docs/<feature>/README.md` for feature behavior and
|
|
60
|
+
`docs/incidents/<date>-<workload>-root-cause.md` for incident root cause reports.
|
|
61
|
+
- Create or update the relevant `docs/` artifact in the same change set; do not leave behavior changes documented only
|
|
62
|
+
in workflow outputs, tickets, or PR comments.
|
|
63
|
+
- Apply the `product-owner` role to confirm that docs describe the user-facing behavior, acceptance criteria, and
|
|
64
|
+
operational constraints of the change.
|
|
72
65
|
|
|
73
66
|
### MCP Memory Providers
|
|
74
67
|
|
|
75
|
-
See [MEMORY.md](MEMORY.md) for the full protocol: provider roles, Context7 usage, MemPalace session-start queries,
|
|
68
|
+
See [MEMORY.md](MEMORY.md) for the full protocol: provider roles, Context7 usage, MemPalace session-start queries,
|
|
69
|
+
fact-writing triggers, tool call examples, and fallback order.
|
|
76
70
|
|
|
77
71
|
### Code Style
|
|
78
72
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.3.2
|
|
4
|
+
|
|
5
|
+
- Added optional post-task specialist agents `instruction_reviewer` and `memory_curator` outside the mandatory SDLC role matrix.
|
|
6
|
+
- Added review pipeline guidance, `.reviews/<task-id>/` output conventions, and documented example instruction/memory review reports.
|
|
7
|
+
- Registered the new specialists in OpenCode role configuration and extended deterministic install/model-mapper coverage.
|
|
8
|
+
|
|
9
|
+
## v0.3.1
|
|
10
|
+
|
|
11
|
+
- Added project-level OpenCode plugin settings in `.agentic.json`, including Telegram `botToken` and `chatId` when `telegram-notification` is enabled.
|
|
12
|
+
- Renamed the OpenCode optional plugin menu entry to `telegram-notification` while preserving the old `telegram-opencode-notifier` alias for compatibility.
|
|
13
|
+
- Changed `telegram-notification` runtime credentials to read from the target project's `.agentic.json` instead of Telegram environment variables.
|
|
14
|
+
- Removed Telegram message formatting entirely: notifications are sent as plain text without `parse_mode`, MarkdownV2 escaping, or markdown-to-Telegram conversion.
|
|
15
|
+
- Added interactive Context7 key mode selection with English menu entries for keyless setup or entering `CONTEXT7_API_KEY`.
|
|
16
|
+
- Removed the post-install Context7 "add API key later" path/example guidance because key selection now happens during setup.
|
|
17
|
+
- Extended `agent-model-mapper` model discovery to include active providers from `~/.local/share/opencode/auth.json` and non-deprecated models from `~/.cache/opencode/models.json`.
|
|
18
|
+
- Added a Confirm/Cancel save step after OpenCode role model selection before writing `.opencode/opencode.json`.
|
|
19
|
+
- Preserved OpenCode plugin settings across manifest replay/re-install so automated sync does not prompt again or lose project-level credentials.
|
|
20
|
+
- Updated OpenCode, Context7, Telegram, and lifecycle docs plus deterministic e2e coverage for the new configuration flow.
|
|
21
|
+
|
|
3
22
|
## v0.3.0
|
|
4
23
|
|
|
5
24
|
- Added per-agent doctor timeouts with elapsed-time and exit-status logging while keeping install non-fatal.
|
package/MEMORY.md
CHANGED
|
@@ -1,113 +1,67 @@
|
|
|
1
1
|
# MEMORY — MCP context providers
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Provider roles
|
|
8
|
-
|
|
9
|
-
| Provider | Purpose |
|
|
10
|
-
|---|---|
|
|
11
|
-
| **MemPalace** | Project-specific knowledge: architecture decisions, domain rules, conventions, known issues, integration contracts |
|
|
12
|
-
| **Context7** | Framework, library, SDK, and API reference documentation |
|
|
13
|
-
|
|
14
|
-
Use both when available. They are complementary, not interchangeable.
|
|
15
|
-
|
|
16
|
-
---
|
|
3
|
+
Use MCP context only when it improves accuracy. Keep searches narrow.
|
|
17
4
|
|
|
18
5
|
## Context7
|
|
19
6
|
|
|
20
|
-
- Use Context7 for framework, library, SDK, API, and setup
|
|
21
|
-
- Resolve the
|
|
22
|
-
- If Context7 is unavailable,
|
|
23
|
-
|
|
24
|
-
---
|
|
7
|
+
- Use Context7 for external framework, library, SDK, API, and setup docs.
|
|
8
|
+
- Resolve the exact package/framework first; ask for focused docs only.
|
|
9
|
+
- If Context7 is unavailable, use local `docs/**`, then official upstream docs.
|
|
25
10
|
|
|
26
11
|
## MemPalace
|
|
27
12
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
Query MemPalace **before** reading any source files. Orientation queries to run at the start of every session:
|
|
13
|
+
MemPalace stores project memory by wing. The current project wing is the sanitized project directory basename. Cross-project Markdown knowledge belongs in `shared_docs`.
|
|
31
14
|
|
|
32
|
-
|
|
33
|
-
mempalace_search({ "query": "project architecture decisions" })
|
|
34
|
-
mempalace_search({ "query": "domain entities and relationships" })
|
|
35
|
-
mempalace_search({ "query": "known constraints and non-negotiables" })
|
|
36
|
-
```
|
|
15
|
+
### Cheap search pattern
|
|
37
16
|
|
|
38
|
-
|
|
17
|
+
Do not run broad startup searches. Search only for the task at hand:
|
|
39
18
|
|
|
40
|
-
```
|
|
41
|
-
mempalace_search({
|
|
42
|
-
|
|
19
|
+
```json
|
|
20
|
+
mempalace_search({
|
|
21
|
+
"query": "short exact keywords",
|
|
22
|
+
"wing": "<current_project_wing>",
|
|
23
|
+
"limit": 3,
|
|
24
|
+
"max_distance": 0.55
|
|
25
|
+
})
|
|
43
26
|
```
|
|
44
27
|
|
|
45
|
-
|
|
28
|
+
Rules:
|
|
46
29
|
|
|
47
|
-
|
|
30
|
+
- Keep `query` short; put background in `context` only if needed.
|
|
31
|
+
- Use `wing` whenever you know it.
|
|
32
|
+
- Use `limit: 3` by default; raise it only when evidence is thin.
|
|
33
|
+
- Use `max_distance` around `0.4-0.6` for precise fact lookup.
|
|
34
|
+
- Search `shared_docs` only for reusable docs or cross-project behavior.
|
|
35
|
+
- Call `mempalace_list_wings` or `mempalace_list_rooms` only when the wing or room is unknown.
|
|
36
|
+
- Add `room` only after confirming the room name.
|
|
48
37
|
|
|
49
|
-
|
|
50
|
-
|---|---|
|
|
51
|
-
| Architecture decision made or confirmed | Decision, alternatives considered, rationale |
|
|
52
|
-
| Non-obvious module dependency or integration point | What connects to what and why |
|
|
53
|
-
| Business rule or domain constraint clarified | The rule in plain language, where it is enforced |
|
|
54
|
-
| Recurring bug pattern or root cause identified | Pattern description, affected area, mitigation |
|
|
55
|
-
| API contract or data shape locked down | Shape, version, owning service |
|
|
56
|
-
| Performance characteristic or known bottleneck noted | Where, measured or estimated, relevant thresholds |
|
|
57
|
-
| Convention or team agreement not captured in docs | The agreement and its scope |
|
|
58
|
-
| Environment or deployment constraint discovered | What the constraint is and which target it affects |
|
|
38
|
+
### Writing facts
|
|
59
39
|
|
|
60
|
-
|
|
40
|
+
Use `mempalace_store` proactively when a durable fact is discovered, decided, or corrected. Do not wait for a later search to make project knowledge persistent.
|
|
61
41
|
|
|
62
|
-
|
|
63
|
-
mempalace_store({
|
|
64
|
-
"type": "architecture_decision",
|
|
65
|
-
"title": "Auth uses JWT with 15-min expiry, refresh via Redis",
|
|
66
|
-
"body": "Decided in task TASK-88. Rationale: stateless verification at API gateway; Redis holds refresh token allowlist for revocation support.",
|
|
67
|
-
"tags": ["auth", "jwt", "redis", "architecture"]
|
|
68
|
-
})
|
|
69
|
-
```
|
|
42
|
+
Store only durable, self-contained facts:
|
|
70
43
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
"tags": ["orders", "state-machine", "domain-rule"]
|
|
77
|
-
})
|
|
78
|
-
```
|
|
44
|
+
- architecture decisions and rationale;
|
|
45
|
+
- domain rules and API/data contracts;
|
|
46
|
+
- non-obvious integrations or constraints;
|
|
47
|
+
- known issues, bottlenecks, and mitigations;
|
|
48
|
+
- team conventions not already captured in `docs/**`.
|
|
79
49
|
|
|
80
|
-
|
|
81
|
-
mempalace_store({
|
|
82
|
-
"type": "known_issue",
|
|
83
|
-
"title": "ReportService N+1 on invoice line items — not yet fixed",
|
|
84
|
-
"body": "Affects reports with >50 invoices. Tracked in TASK-119. Workaround: batch fetch via InvoiceRepository.findByReportId().",
|
|
85
|
-
"tags": ["reporting", "performance", "n+1"]
|
|
86
|
-
})
|
|
87
|
-
```
|
|
50
|
+
Store one fact per call, tagged with project/module/domain nouns. Write project facts to the current project wing. Write to `shared_docs` only when the knowledge is intentionally reusable across projects.
|
|
88
51
|
|
|
89
|
-
```
|
|
52
|
+
```json
|
|
90
53
|
mempalace_store({
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"tags": ["
|
|
54
|
+
"wing": "<current_project_wing>",
|
|
55
|
+
"room": "<known_room_if_confirmed>",
|
|
56
|
+
"text": "Durable fact stated as a complete sentence with enough context to stand alone.",
|
|
57
|
+
"tags": ["project", "module", "domain"]
|
|
95
58
|
})
|
|
96
59
|
```
|
|
97
60
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
- **Concrete, not vague.** "Auth uses JWT" is a fact. "Auth is secure" is not.
|
|
101
|
-
- **Self-contained.** The fact must make sense without the surrounding chat context.
|
|
102
|
-
- **Tagged for retrieval.** Include module names, domain nouns, and problem-type tags.
|
|
103
|
-
- **One fact per store call.** Do not bundle multiple unrelated facts into one entry.
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Fallback order
|
|
61
|
+
## Fallback
|
|
108
62
|
|
|
109
|
-
|
|
63
|
+
If MCP providers are unavailable, use:
|
|
110
64
|
|
|
111
|
-
1.
|
|
112
|
-
2.
|
|
113
|
-
3.
|
|
65
|
+
1. local `docs/**`;
|
|
66
|
+
2. official upstream documentation;
|
|
67
|
+
3. model knowledge, explicitly marked as fallback.
|
package/Makefile
CHANGED
|
@@ -1,11 +1,30 @@
|
|
|
1
|
-
.PHONY: help install dev test test-cli test-tui test-cross test-doctor test-markers test-opencode-plugins test-telegram-plugin test-real-agent-doctor test-real-blackbox test-real-opencode-mapper test-coverage lint fmt clean build assess-areas
|
|
1
|
+
.PHONY: help install dev test test-all test-cli test-tui test-cross test-doctor test-markers test-opencode-plugins test-telegram-plugin test-ubuntu-blackbox test-real-agent-doctor test-real-blackbox test-real-blackbox-codex test-real-blackbox-opencode test-real-blackbox-telegram test-real-opencode-mapper test-coverage _test-coverage-steps lint fmt clean build assess-areas
|
|
2
|
+
|
|
3
|
+
define timed_step
|
|
4
|
+
@label='$(1)'; \
|
|
5
|
+
start=$$(date +%s); \
|
|
6
|
+
timestamp=$$(date '+%Y-%m-%d %H:%M:%S'); \
|
|
7
|
+
printf '%s [make-timing] START %s\n' "$$timestamp" "$$label"; \
|
|
8
|
+
$(2); \
|
|
9
|
+
status=$$?; \
|
|
10
|
+
end=$$(date +%s); \
|
|
11
|
+
elapsed=$$((end - start)); \
|
|
12
|
+
timestamp=$$(date '+%Y-%m-%d %H:%M:%S'); \
|
|
13
|
+
if [ "$$status" -eq 0 ]; then \
|
|
14
|
+
printf '%s [make-timing] OK %s elapsed=%ss\n' "$$timestamp" "$$label" "$$elapsed"; \
|
|
15
|
+
else \
|
|
16
|
+
printf '%s [make-timing] FAIL %s elapsed=%ss exit=%s\n' "$$timestamp" "$$label" "$$elapsed" "$$status"; \
|
|
17
|
+
fi; \
|
|
18
|
+
exit "$$status"
|
|
19
|
+
endef
|
|
2
20
|
|
|
3
21
|
help:
|
|
4
22
|
@printf '%s\n' \
|
|
5
23
|
"Available targets:" \
|
|
6
24
|
" install Install local development prerequisites" \
|
|
7
25
|
" dev Show local development entrypoints" \
|
|
8
|
-
" test Run end-to-end tests
|
|
26
|
+
" test Run fast deterministic end-to-end tests" \
|
|
27
|
+
" test-all Run fast tests, real blackbox, and coverage" \
|
|
9
28
|
" test-cli Run CLI end-to-end tests" \
|
|
10
29
|
" test-tui Run TUI end-to-end tests" \
|
|
11
30
|
" test-cross Run cross-mode end-to-end tests" \
|
|
@@ -13,8 +32,12 @@ help:
|
|
|
13
32
|
" test-markers Run generated marker and idempotency tests" \
|
|
14
33
|
" test-opencode-plugins Run OpenCode plugin deterministic tests" \
|
|
15
34
|
" test-telegram-plugin Run Telegram plugin deterministic tests" \
|
|
35
|
+
" test-ubuntu-blackbox Run make test in a clean Docker Ubuntu image" \
|
|
16
36
|
" test-real-agent-doctor Run real agent doctor checks" \
|
|
17
37
|
" test-real-blackbox Run real Codex/OpenCode/Telegram blackbox tests" \
|
|
38
|
+
" test-real-blackbox-codex Run real Codex blackbox test" \
|
|
39
|
+
" test-real-blackbox-opencode Run real OpenCode blackbox test" \
|
|
40
|
+
" test-real-blackbox-telegram Run real OpenCode Telegram blackbox test" \
|
|
18
41
|
" test-real-opencode-mapper Run real OpenCode mapper input blackbox" \
|
|
19
42
|
" test-coverage Run traced e2e coverage for agentic" \
|
|
20
43
|
" lint Run prompt and catalog validation" \
|
|
@@ -30,48 +53,83 @@ dev:
|
|
|
30
53
|
@printf '%s\n' "Use ./agentic tui or ./agentic install ..."
|
|
31
54
|
|
|
32
55
|
test:
|
|
33
|
-
bash tests/e2e/cli.e2e.sh
|
|
34
|
-
bash tests/e2e/tui.e2e.sh
|
|
35
|
-
bash tests/e2e/cross.e2e.sh
|
|
36
|
-
bash tests/e2e/
|
|
37
|
-
bash tests/e2e/
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
$(
|
|
56
|
+
$(call timed_step,test-cli,bash tests/e2e/cli.e2e.sh)
|
|
57
|
+
$(call timed_step,test-tui,bash tests/e2e/tui.e2e.sh)
|
|
58
|
+
$(call timed_step,test-cross,bash tests/e2e/cross.e2e.sh)
|
|
59
|
+
$(call timed_step,test-opencode-plugins,bash tests/e2e/opencode_plugins.e2e.sh)
|
|
60
|
+
$(call timed_step,test-telegram-plugin,bash tests/e2e/telegram_plugin.e2e.sh)
|
|
61
|
+
|
|
62
|
+
test-all:
|
|
63
|
+
$(call timed_step,test,$(MAKE) test)
|
|
64
|
+
$(call timed_step,test-doctor,bash tests/e2e/doctor.e2e.sh)
|
|
65
|
+
$(call timed_step,test-markers,bash tests/e2e/markers.e2e.sh)
|
|
66
|
+
$(call timed_step,test-real-blackbox-codex,AGENTIC_REAL_BLACKBOX_ONLY=codex bash tests/e2e/real_agent_blackbox.e2e.sh)
|
|
67
|
+
$(call timed_step,test-real-blackbox-opencode,AGENTIC_REAL_BLACKBOX_ONLY=opencode bash tests/e2e/real_agent_blackbox.e2e.sh)
|
|
68
|
+
$(call timed_step,test-real-opencode-mapper,AGENTIC_REAL_BLACKBOX_ONLY=opencode-mapper bash tests/e2e/real_agent_blackbox.e2e.sh)
|
|
69
|
+
$(call timed_step,test-real-blackbox-telegram,AGENTIC_REAL_BLACKBOX_ONLY=telegram bash tests/e2e/real_agent_blackbox.e2e.sh)
|
|
70
|
+
$(call timed_step,test-coverage,$(MAKE) test-coverage)
|
|
42
71
|
|
|
43
72
|
test-cli:
|
|
44
|
-
bash tests/e2e/cli.e2e.sh
|
|
73
|
+
$(call timed_step,test-cli,bash tests/e2e/cli.e2e.sh)
|
|
45
74
|
|
|
46
75
|
test-tui:
|
|
47
|
-
bash tests/e2e/tui.e2e.sh
|
|
76
|
+
$(call timed_step,test-tui,bash tests/e2e/tui.e2e.sh)
|
|
48
77
|
|
|
49
78
|
test-cross:
|
|
50
|
-
bash tests/e2e/cross.e2e.sh
|
|
79
|
+
$(call timed_step,test-cross,bash tests/e2e/cross.e2e.sh)
|
|
51
80
|
|
|
52
81
|
test-doctor:
|
|
53
|
-
bash tests/e2e/doctor.e2e.sh
|
|
82
|
+
$(call timed_step,test-doctor,bash tests/e2e/doctor.e2e.sh)
|
|
54
83
|
|
|
55
84
|
test-markers:
|
|
56
|
-
bash tests/e2e/markers.e2e.sh
|
|
85
|
+
$(call timed_step,test-markers,bash tests/e2e/markers.e2e.sh)
|
|
57
86
|
|
|
58
87
|
test-opencode-plugins:
|
|
59
|
-
bash tests/e2e/opencode_plugins.e2e.sh
|
|
88
|
+
$(call timed_step,test-opencode-plugins,bash tests/e2e/opencode_plugins.e2e.sh)
|
|
60
89
|
|
|
61
90
|
test-telegram-plugin:
|
|
62
|
-
bash tests/e2e/telegram_plugin.e2e.sh
|
|
91
|
+
$(call timed_step,test-telegram-plugin,bash tests/e2e/telegram_plugin.e2e.sh)
|
|
92
|
+
|
|
93
|
+
test-ubuntu-blackbox:
|
|
94
|
+
$(call timed_step,test-ubuntu-blackbox,bash tests/e2e/ubuntu_blackbox.e2e.sh)
|
|
63
95
|
|
|
64
96
|
test-real-agent-doctor:
|
|
65
|
-
bash tests/e2e/real_agent_doctor.e2e.sh
|
|
97
|
+
$(call timed_step,test-real-agent-doctor,bash tests/e2e/real_agent_doctor.e2e.sh)
|
|
66
98
|
|
|
67
99
|
test-real-blackbox:
|
|
68
|
-
bash tests/e2e/real_agent_blackbox.e2e.sh
|
|
100
|
+
$(call timed_step,test-real-blackbox-codex,AGENTIC_REAL_BLACKBOX_ONLY=codex bash tests/e2e/real_agent_blackbox.e2e.sh)
|
|
101
|
+
$(call timed_step,test-real-blackbox-opencode,AGENTIC_REAL_BLACKBOX_ONLY=opencode bash tests/e2e/real_agent_blackbox.e2e.sh)
|
|
102
|
+
$(call timed_step,test-real-opencode-mapper,AGENTIC_REAL_BLACKBOX_ONLY=opencode-mapper bash tests/e2e/real_agent_blackbox.e2e.sh)
|
|
103
|
+
$(call timed_step,test-real-blackbox-telegram,AGENTIC_REAL_BLACKBOX_ONLY=telegram bash tests/e2e/real_agent_blackbox.e2e.sh)
|
|
104
|
+
|
|
105
|
+
test-real-blackbox-codex:
|
|
106
|
+
$(call timed_step,test-real-blackbox-codex,AGENTIC_REAL_BLACKBOX_ONLY=codex bash tests/e2e/real_agent_blackbox.e2e.sh)
|
|
107
|
+
|
|
108
|
+
test-real-blackbox-opencode:
|
|
109
|
+
$(call timed_step,test-real-blackbox-opencode,AGENTIC_REAL_BLACKBOX_ONLY=opencode bash tests/e2e/real_agent_blackbox.e2e.sh)
|
|
110
|
+
|
|
111
|
+
test-real-blackbox-telegram:
|
|
112
|
+
$(call timed_step,test-real-blackbox-telegram,AGENTIC_REAL_BLACKBOX_ONLY=telegram bash tests/e2e/real_agent_blackbox.e2e.sh)
|
|
69
113
|
|
|
70
114
|
test-real-opencode-mapper:
|
|
71
|
-
AGENTIC_REAL_BLACKBOX_ONLY=opencode-mapper bash tests/e2e/real_agent_blackbox.e2e.sh
|
|
115
|
+
$(call timed_step,test-real-opencode-mapper,AGENTIC_REAL_BLACKBOX_ONLY=opencode-mapper bash tests/e2e/real_agent_blackbox.e2e.sh)
|
|
72
116
|
|
|
73
117
|
test-coverage:
|
|
74
|
-
|
|
118
|
+
@if [ -n "$${AGENTIC_COVERAGE_TRACE_FILE:-}" ]; then \
|
|
119
|
+
trace_file="$$AGENTIC_COVERAGE_TRACE_FILE"; \
|
|
120
|
+
else \
|
|
121
|
+
trace_file="$$(mktemp /tmp/agentic-coverage.XXXXXX)"; \
|
|
122
|
+
fi; \
|
|
123
|
+
$(MAKE) _test-coverage-steps AGENTIC_COVERAGE_TRACE_FILE="$$trace_file"
|
|
124
|
+
|
|
125
|
+
_test-coverage-steps:
|
|
126
|
+
$(call timed_step,test-coverage-agentic,AGENTIC_COVERAGE_TRACE_FILE="$(AGENTIC_COVERAGE_TRACE_FILE)" AGENTIC_TEST_CLI="$(CURDIR)/tests/e2e/coverage_shim.sh" bash tests/e2e/agentic.e2e.sh >/tmp/agentic-coverage-agentic.log 2>&1)
|
|
127
|
+
$(call timed_step,test-coverage-tui,AGENTIC_COVERAGE_TRACE_FILE="$(AGENTIC_COVERAGE_TRACE_FILE)" AGENTIC_TEST_CLI="$(CURDIR)/tests/e2e/coverage_shim.sh" bash tests/e2e/tui.e2e.sh >/tmp/agentic-coverage-tui.log 2>&1)
|
|
128
|
+
$(call timed_step,test-coverage-cross,AGENTIC_COVERAGE_TRACE_FILE="$(AGENTIC_COVERAGE_TRACE_FILE)" AGENTIC_TEST_CLI="$(CURDIR)/tests/e2e/coverage_shim.sh" bash tests/e2e/cross.e2e.sh >/tmp/agentic-coverage-cross.log 2>&1)
|
|
129
|
+
$(call timed_step,test-coverage-markers,AGENTIC_COVERAGE_TRACE_FILE="$(AGENTIC_COVERAGE_TRACE_FILE)" AGENTIC_TEST_CLI="$(CURDIR)/tests/e2e/coverage_shim.sh" bash tests/e2e/markers.e2e.sh >/tmp/agentic-coverage-markers.log 2>&1)
|
|
130
|
+
$(call timed_step,test-coverage-cli,AGENTIC_COVERAGE_TRACE_FILE="$(AGENTIC_COVERAGE_TRACE_FILE)" AGENTIC_TEST_CLI="$(CURDIR)/tests/e2e/coverage_shim.sh" bash tests/e2e/cli.e2e.sh >/tmp/agentic-coverage-cli.log 2>&1)
|
|
131
|
+
$(call timed_step,test-coverage-doctor,AGENTIC_COVERAGE_TRACE_FILE="$(AGENTIC_COVERAGE_TRACE_FILE)" AGENTIC_TEST_CLI="$(CURDIR)/tests/e2e/coverage_shim.sh" bash tests/e2e/doctor.e2e.sh >/tmp/agentic-coverage-doctor.log 2>&1)
|
|
132
|
+
$(call timed_step,test-coverage-parse,bash tests/e2e/coverage_parse.sh "$(AGENTIC_COVERAGE_TRACE_FILE)")
|
|
75
133
|
|
|
76
134
|
lint:
|
|
77
135
|
bash -n agentic
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Agent Intelligence Configuration (agentic)
|
|
2
2
|
|
|
3
|
-
> **18 areas · 10 Software specs · 8 DevOps specs · 7 SDLC agents · 105+ skills · 73+ workflows**
|
|
3
|
+
> **18 areas · 10 Software specs · 8 DevOps specs · 7 SDLC agents + 2 specialists · 105+ skills · 73+ workflows**
|
|
4
4
|
|
|
5
5
|
A unified catalog of agentic specializations and the `agentic` CLI. Install orchestrator-ready rules, skills, workflows,
|
|
6
6
|
and prompts into any project — and run a full SDLC agent team out of the box.
|
|
@@ -77,14 +77,14 @@ agent-guides/
|
|
|
77
77
|
│ └── database-ops/ # PostgreSQL, Redis, migrations, backup/restore
|
|
78
78
|
├── extensions/
|
|
79
79
|
│ ├── opencode/ # OpenCode agent definitions, commands, skills
|
|
80
|
-
│ │ └── agents/ #
|
|
80
|
+
│ │ └── agents/ # SDLC agents + optional specialists for .opencode/agents/
|
|
81
81
|
│ ├── claude/ # Claude Code configs
|
|
82
|
-
│ │ └── agents/ #
|
|
82
|
+
│ │ └── agents/ # SDLC agents + optional specialists for .claude/agents/
|
|
83
83
|
│ ├── antigravity/ # Antigravity platform configs
|
|
84
84
|
│ ├── codex/ # Codex custom agents and override configs
|
|
85
|
-
│ │ └── agents/ #
|
|
85
|
+
│ │ └── agents/ # SDLC agents + optional specialists for .codex/agents/
|
|
86
86
|
│ └── gemini/ # Gemini-specific configs
|
|
87
|
-
│ │ └── agents/ #
|
|
87
|
+
│ │ └── agents/ # SDLC agents + optional specialists for .gemini/agents/
|
|
88
88
|
├── areas/template/ # Authoring templates — start here for new content
|
|
89
89
|
├── docs/ # Setup and usage guides
|
|
90
90
|
├── AGENTS.md # Root agent guidance (loaded into every project)
|
|
@@ -140,8 +140,8 @@ guidance bundle.
|
|
|
140
140
|
|
|
141
141
|
## SDLC Agent team
|
|
142
142
|
|
|
143
|
-
The same 7-agent team works across **Claude Code**, **OpenCode**, **Codex**, and any tool that supports agent or
|
|
144
|
-
subagent files.
|
|
143
|
+
The same 7-agent SDLC team works across **Claude Code**, **OpenCode**, **Codex**, and any tool that supports agent or
|
|
144
|
+
subagent files. Agentic also ships optional post-task review specialists for instruction quality and memory hygiene.
|
|
145
145
|
|
|
146
146
|
| Agent | Role | Invoke when |
|
|
147
147
|
|:------------------|:-----------------------------------------------|:----------------------------------------------|
|
|
@@ -156,6 +156,16 @@ subagent files.
|
|
|
156
156
|
Each agent has a `vibe` (one-line personality), `Identity`, `Communication Style`, `Success Metrics`, and explicit
|
|
157
157
|
`Boundaries` — so roles never overlap and handoffs are always documented.
|
|
158
158
|
|
|
159
|
+
Optional specialist agents run outside the mandatory SDLC role matrix:
|
|
160
|
+
|
|
161
|
+
| Agent | Role | Invoke when |
|
|
162
|
+
|:-----------------------|:-------------------------------------------------|:-------------------------------------------------|
|
|
163
|
+
| `instruction_reviewer` | Post-task instruction effectiveness review | Instructions, tool use, or role guidance changed |
|
|
164
|
+
| `memory_curator` | Post-task memory hygiene recommendations | Durable facts or memory quality need review |
|
|
165
|
+
|
|
166
|
+
See [Review Pipeline](docs/review-pipeline.md) for the guidance-mode pipeline and `.reviews/<task-id>/` output
|
|
167
|
+
convention.
|
|
168
|
+
|
|
159
169
|
| Platform | Agent path | Format | Guide |
|
|
160
170
|
|:------------|:--------------------------------|:-------------------------------|:------------------------------------------------------------------------------------------------|
|
|
161
171
|
| Claude Code | `project/.claude/agents/*.md` | Markdown with YAML frontmatter | [Claude Code subagents](https://docs.claude.com/en/api/agent-sdk/subagents) |
|