@jetrabbits/agentic 0.0.4 → 0.0.5
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 +9 -0
- package/Makefile +40 -0
- package/UPGRADE.md +61 -0
- package/agentic +948 -10
- package/areas/software/full-stack/AGENTS.md +1 -4
- package/areas/software/full-stack/workflows/debug-issue.md +2 -2
- package/docs/agentic-lifecycle.md +103 -0
- package/docs/agentic-token-minimization/README.md +79 -0
- package/docs/agentic-usage.md +145 -0
- package/docs/catalog.schema.json +203 -0
- package/docs/guidance-updates/2026-04-10-software-devops-best-practices.md +26 -0
- package/docs/opencode_prepare_agents.md +40 -0
- package/docs/opencode_setup.md +45 -0
- package/docs/prompt-format.md +80 -0
- package/docs/site/README.md +44 -0
- package/docs/site/app.js +127 -0
- package/docs/site/catalog.json +5002 -0
- package/docs/site/index.html +52 -0
- package/docs/site/styles.css +177 -0
- package/extensions/codex/agents/developer.toml +1 -1
- package/extensions/codex/agents/devops-engineer.toml +1 -1
- package/extensions/codex/agents/product-owner.toml +1 -1
- package/extensions/codex/agents/team-lead.toml +1 -1
- package/extensions/opencode/plugins/model-checker.json +2 -3
- package/extensions/opencode/plugins/model-checker.ts +23 -0
- package/extensions/opencode/plugins/telegram-notification.ts +33 -5
- package/package.json +6 -2
- package/scripts/assess_area_quality.py +216 -0
- package/scripts/build_docs_catalog.py +283 -0
- package/scripts/lint_prompts.py +113 -0
- package/areas/software/full-stack/skills/bash-pro/SKILL.md +0 -310
- package/areas/software/full-stack/skills/python-pro/SKILL.md +0 -158
- package/areas/software/full-stack/skills/skill-creator/LICENSE.txt +0 -202
- package/areas/software/full-stack/skills/skill-creator/SKILL.md +0 -356
- package/areas/software/full-stack/skills/skill-creator/references/output-patterns.md +0 -82
- package/areas/software/full-stack/skills/skill-creator/references/workflows.md +0 -28
- package/areas/software/full-stack/skills/skill-creator/scripts/init_skill.py +0 -303
- package/areas/software/full-stack/skills/skill-creator/scripts/package_skill.py +0 -110
- package/areas/software/full-stack/skills/skill-creator/scripts/quick_validate.py +0 -95
- package/extensions/codex/skills/babysit-pr/SKILL.md +0 -187
- package/extensions/codex/skills/babysit-pr/agents/openai.yaml +0 -4
- package/extensions/codex/skills/babysit-pr/references/github-api-notes.md +0 -72
- package/extensions/codex/skills/babysit-pr/references/heuristics.md +0 -58
- package/extensions/codex/skills/babysit-pr/scripts/gh_pr_watch.py +0 -806
- package/extensions/codex/skills/babysit-pr/scripts/test_gh_pr_watch.py +0 -155
- package/extensions/opencode/skills/code_review_expert/SKILL.md +0 -144
- package/extensions/opencode/skills/design_expert/SKILL.md +0 -42
- package/extensions/opencode/skills/qa_expert/SKILL.md +0 -116
|
@@ -49,11 +49,8 @@ full-stack/
|
|
|
49
49
|
│ ├── api-patterns/SKILL.md ← auth, rate limiting, versioning, tRPC
|
|
50
50
|
│ ├── app-builder/SKILL.md ← project scaffolding, templates, tech stack detection
|
|
51
51
|
│ ├── backend-developer/SKILL.md ← service patterns, DI, repository design
|
|
52
|
-
│ ├── python-pro/SKILL.md ← Python idioms, packaging, async patterns
|
|
53
|
-
│ ├── bash-pro/SKILL.md ← shell scripting, automation, CI helpers
|
|
54
52
|
│ ├── blackbox-test/SKILL.md ← external API testing, contract validation
|
|
55
|
-
│
|
|
56
|
-
│ └── skill-creator/SKILL.md ← authoring new skills for this repo
|
|
53
|
+
│ └── prompt-project-planner/SKILL.md ← project planning, milestone scoping
|
|
57
54
|
├── workflows/
|
|
58
55
|
│ ├── develop-feature.md ← /develop-feature
|
|
59
56
|
│ ├── debug-issue.md ← /debug-issue
|
|
@@ -22,8 +22,8 @@ related-rules:
|
|
|
22
22
|
- testing-ci-guide.md
|
|
23
23
|
- logging-observability-guide.md
|
|
24
24
|
uses-skills:
|
|
25
|
-
-
|
|
26
|
-
-
|
|
25
|
+
- backend-developer
|
|
26
|
+
- blackbox-test
|
|
27
27
|
quality-gates:
|
|
28
28
|
- bug reproducible before fix
|
|
29
29
|
- regression test fails before fix, passes after
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Installed CLI lifecycle
|
|
2
|
+
|
|
3
|
+
This guide describes how an installed `agentic` binary resolves and updates its knowledge base checkout.
|
|
4
|
+
|
|
5
|
+
## Paths
|
|
6
|
+
|
|
7
|
+
`agentic` uses XDG-compatible defaults:
|
|
8
|
+
|
|
9
|
+
- Config home: `${XDG_CONFIG_HOME:-$HOME/.config}`
|
|
10
|
+
- Data home: `${XDG_DATA_HOME:-$HOME/.local/share}`
|
|
11
|
+
- Config directory: `~/.config/agentic`
|
|
12
|
+
- Config file: `~/.config/agentic/config`
|
|
13
|
+
- OpenCode plugin config: `~/.config/agentic/opencode-plugins.json`
|
|
14
|
+
- Knowledge base data directory: `~/.local/share/agentic`
|
|
15
|
+
- Knowledge base checkout: `~/.local/share/agentic/repo`
|
|
16
|
+
|
|
17
|
+
The config file currently stores the selected theme:
|
|
18
|
+
|
|
19
|
+
```ini
|
|
20
|
+
theme=auto
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Supported values are `auto`, `dark`, and `light`.
|
|
24
|
+
|
|
25
|
+
Target projects receive `.agentic.json`. It stores selected install settings, managed file paths, source paths, hashes, generated marker type, and skipped files from the latest rerun.
|
|
26
|
+
|
|
27
|
+
## Repository modes
|
|
28
|
+
|
|
29
|
+
`agentic` supports two repository source modes:
|
|
30
|
+
|
|
31
|
+
1. Dev mode: when `agentic` runs from a real `agent-guides` checkout and can find sibling `areas/`, `extensions/`, and `AGENTS.md`, it uses the local repository directly.
|
|
32
|
+
2. Installed mode: when the binary is installed to a standalone path such as `~/.local/bin/agentic`, it uses `~/.local/share/agentic/repo` as knowledge base checkout.
|
|
33
|
+
|
|
34
|
+
## Bootstrap
|
|
35
|
+
|
|
36
|
+
In installed mode, commands that need repository data clone the checkout on first use:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
git clone https://github.com/sawrus/agent-guides.git ~/.local/share/agentic/repo
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
After cloning, `agentic` validates that the checkout contains:
|
|
43
|
+
|
|
44
|
+
- `areas/`
|
|
45
|
+
- `extensions/`
|
|
46
|
+
- `AGENTS.md`
|
|
47
|
+
|
|
48
|
+
Commands that auto-bootstrap when needed:
|
|
49
|
+
|
|
50
|
+
- `agentic list ...`
|
|
51
|
+
- `agentic install ...`
|
|
52
|
+
- `agentic tui`
|
|
53
|
+
- `agentic upgrade`
|
|
54
|
+
|
|
55
|
+
## Upgrade flow
|
|
56
|
+
|
|
57
|
+
Refresh the knowledge base checkout with:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
agentic upgrade
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Behavior:
|
|
64
|
+
|
|
65
|
+
- If `~/.local/share/agentic/repo` does not exist, `agentic upgrade` performs initial clone.
|
|
66
|
+
- If checkout already exists, `agentic` runs:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
git -C ~/.local/share/agentic/repo pull --ff-only
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
In dev mode, `upgrade` targets the active local checkout instead of `~/.local/share/agentic/repo`.
|
|
73
|
+
|
|
74
|
+
In installed mode, after the checkout is updated, `agentic upgrade` copies `~/.local/share/agentic/repo/agentic` over the running installed binary when the contents differ. This keeps future `agentic upgrade` runs able to update both the knowledge base and the local executable.
|
|
75
|
+
|
|
76
|
+
If a user already has an older installed binary that cannot self-update, do not ask them to run `agentic self-install --force` from `$PATH`: that invokes the old binary. Use one of these recovery paths:
|
|
77
|
+
|
|
78
|
+
From a fresh `agent-guides` checkout, run from the repository root:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
./agentic self-install --force
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Or refresh through the bootstrap installer, which downloads a fresh script before installing:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
curl -fsSL https://raw.githubusercontent.com/sawrus/agent-guides/main/install | bash -s -- --force
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
After the knowledge base is updated, `agentic upgrade` checks the current working directory for `.agentic.json`. If present, it treats the directory as an already managed project, reloads the recorded `agent_os`, `areas`, and `specializations`, and reruns the install sync against the upgraded knowledge base.
|
|
91
|
+
|
|
92
|
+
The project sync follows the same manifest protection as `agentic install`: user-modified managed files are skipped, existing unmanaged files are not overwritten, and new generated files from the upgraded knowledge base are added when their target path does not already exist.
|
|
93
|
+
|
|
94
|
+
## Managed reruns
|
|
95
|
+
|
|
96
|
+
When `.agentic.json` exists in the target project, `agentic install` treats the project as already managed:
|
|
97
|
+
|
|
98
|
+
- only files listed in `.agentic.json` are eligible for update;
|
|
99
|
+
- files whose current hash differs from the stored hash are skipped as user-modified;
|
|
100
|
+
- new hashes are written for successfully updated managed files;
|
|
101
|
+
- skipped paths are recorded in `.agentic.json`.
|
|
102
|
+
|
|
103
|
+
Every copied or generated file carries an internal marker. Markdown uses YAML front matter, comment-capable formats use comments, and JSON uses an `_agentic` object.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Agentic Token-Minimization Upgrade
|
|
2
|
+
|
|
3
|
+
This feature reduces the amount of guidance copied into target projects while making future `agentic` reruns safer.
|
|
4
|
+
|
|
5
|
+
## Managed Files
|
|
6
|
+
|
|
7
|
+
After installation, `agentic` writes `.agentic.json` in the target project root. The file records:
|
|
8
|
+
|
|
9
|
+
- selected agent OS targets, areas, and specializations;
|
|
10
|
+
- source repository and checkout path;
|
|
11
|
+
- every file managed by `agentic`;
|
|
12
|
+
- each managed file's source path and SHA-256 hash;
|
|
13
|
+
- skipped files from the latest rerun.
|
|
14
|
+
|
|
15
|
+
When `agentic` runs again in a project with `.agentic.json`, it updates only files listed in that manifest. If a managed file hash no longer matches the last `agentic` write, the file is treated as user-modified and is skipped.
|
|
16
|
+
|
|
17
|
+
## Generated Markers
|
|
18
|
+
|
|
19
|
+
Every copied or generated file is marked internally:
|
|
20
|
+
|
|
21
|
+
- Markdown files receive `agentic` metadata in YAML front matter.
|
|
22
|
+
- TypeScript, shell, TOML, Python, YAML, CSS, and similar text formats receive a valid comment.
|
|
23
|
+
- JSON files receive an `_agentic` metadata object because JSON does not allow comments.
|
|
24
|
+
|
|
25
|
+
The marker includes `generated_by: agentic`, the source path, and `https://github.com/sawrus/agent-guides`.
|
|
26
|
+
|
|
27
|
+
## OpenCode Optional Plugins
|
|
28
|
+
|
|
29
|
+
When installing for OpenCode, `agentic` writes optional plugin state to:
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
~/.config/agentic/opencode-plugins.json
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Interactive installs ask whether to enable Telegram notifications and model checking. Non-interactive installs default optional plugins to disabled when no config exists.
|
|
36
|
+
|
|
37
|
+
The OpenCode plugins read this config at startup and return no hooks when disabled. Telegram credentials can also be supplied through:
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
OPENCODE_TELEGRAM_BOT_TOKEN
|
|
41
|
+
OPENCODE_TELEGRAM_CHAT_ID
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Context7
|
|
45
|
+
|
|
46
|
+
`agentic` adds Context7 MCP configuration for known project-level formats:
|
|
47
|
+
|
|
48
|
+
- `opencode.json`
|
|
49
|
+
- `.opencode/opencode.json` for backward compatibility with existing generated OpenCode extension config
|
|
50
|
+
- `.codex/config.toml`
|
|
51
|
+
- `.mcp.json` for Claude Code project-scoped MCP servers
|
|
52
|
+
- `.cursor/mcp.json`
|
|
53
|
+
- `.gemini/settings.json`
|
|
54
|
+
|
|
55
|
+
Interactive installs ask whether to enable Context7. If enabled, the Context7 API key is optional. Empty keys keep the install usable with default Context7 limits or rule-only fallback behavior. Non-interactive installs enable Context7 only when `CONTEXT7_API_KEY` is already set. Generated guidance requires agents to use Context7 for framework, SDK, library, and API documentation before relying on model memory when the project config is present.
|
|
56
|
+
|
|
57
|
+
Directory copies are processed in batches so large specialization installs avoid spawning a separate marker/manifest process for every copied file. Manifest protection still applies: existing unmanaged files are skipped on rerun, user-modified managed files are skipped, and new generated files can be added by newer `agentic` versions.
|
|
58
|
+
|
|
59
|
+
## Full-Stack Skill Budget
|
|
60
|
+
|
|
61
|
+
`areas/software/full-stack/skills` is capped at six core skills:
|
|
62
|
+
|
|
63
|
+
- `api-design-principles`
|
|
64
|
+
- `api-patterns`
|
|
65
|
+
- `app-builder`
|
|
66
|
+
- `backend-developer`
|
|
67
|
+
- `blackbox-test`
|
|
68
|
+
- `prompt-project-planner`
|
|
69
|
+
|
|
70
|
+
This keeps task-specific context smaller while preserving workflow coverage.
|
|
71
|
+
|
|
72
|
+
## Quality Audit
|
|
73
|
+
|
|
74
|
+
`scripts/assess_area_quality.py` scores every specialization by environment. It writes:
|
|
75
|
+
|
|
76
|
+
- `reports/area-quality.json`
|
|
77
|
+
- `reports/area-quality.md`
|
|
78
|
+
|
|
79
|
+
The audit is warn-first by default. A strict threshold can be enabled through its CLI flags, but project verification should invoke it through Makefile targets.
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# agentic CLI usage
|
|
2
|
+
|
|
3
|
+
This guide covers day-to-day use of the `agentic` CLI.
|
|
4
|
+
|
|
5
|
+
For lifecycle and repository resolution details, see [Installed CLI lifecycle](agentic-lifecycle.md).
|
|
6
|
+
|
|
7
|
+
## Run modes
|
|
8
|
+
|
|
9
|
+
Run from a local checkout:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
./agentic
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Run directly with NPX (no prior install):
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx @jetrabbits/agentic@latest
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Run the installed binary:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
agentic
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Default behavior:
|
|
28
|
+
|
|
29
|
+
- In an interactive terminal: starts TUI mode
|
|
30
|
+
- In non-interactive mode (CI/pipe): prints usage and exits with code `1`
|
|
31
|
+
- For CI one-off execution, prefer `npx @jetrabbits/agentic@latest <command>`
|
|
32
|
+
|
|
33
|
+
Install the standalone binary:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
./agentic self-install
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
For users with an old installed `agentic`, do not run `agentic self-install --force` from `$PATH`: that invokes the old binary and may try to copy itself over itself. From a fresh `agent-guides` checkout, run from the repository root instead:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
./agentic self-install --force
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Recover or update an already installed binary without relying on the old local copy:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
curl -fsSL https://raw.githubusercontent.com/sawrus/agent-guides/main/install | bash -s -- --force
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Common options:
|
|
52
|
+
|
|
53
|
+
- `--bin-dir <dir>`: install into a custom binary directory
|
|
54
|
+
- `--force`: overwrite an existing target binary
|
|
55
|
+
- `--install-fzf`: optionally try auto-installing `fzf` during self-install
|
|
56
|
+
- `--dry-run`: show actions without writing files
|
|
57
|
+
|
|
58
|
+
## Core commands
|
|
59
|
+
|
|
60
|
+
Start TUI:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
agentic tui
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Install guidance into a project:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
agentic install \
|
|
70
|
+
--project-dir /path/to/your-project \
|
|
71
|
+
--agent-os opencode,codex \
|
|
72
|
+
--areas software \
|
|
73
|
+
--specializations software.general,software.backend
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
After install, `agentic` writes `.agentic.json` in the target project. It records copied/generated files and their hashes. A later install rerun updates only manifest-managed files and skips files changed by the user.
|
|
77
|
+
|
|
78
|
+
List available options:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
agentic list agentos
|
|
82
|
+
agentic list areas
|
|
83
|
+
agentic list specs --area software
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Refresh the local knowledge base checkout:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
agentic upgrade
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
In installed mode, `agentic upgrade` also refreshes the installed `agentic` binary from the updated knowledge base checkout. If an older binary cannot self-update, use the `curl ... | bash -s -- --force` bootstrap command above once.
|
|
93
|
+
|
|
94
|
+
## TUI and `fzf`
|
|
95
|
+
|
|
96
|
+
TUI uses `fzf` for interactive selection. If `fzf` is missing, `agentic` can:
|
|
97
|
+
|
|
98
|
+
1. ask permission to auto-install it
|
|
99
|
+
2. fall back to index-based menus if install is declined or fails
|
|
100
|
+
|
|
101
|
+
`--install-fzf` only affects `self-install`. If auto-install fails, self-install still completes.
|
|
102
|
+
|
|
103
|
+
Manual install examples:
|
|
104
|
+
|
|
105
|
+
Linux:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
sudo apt-get install -y fzf
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
macOS:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
brew install fzf
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Windows (run from Git Bash):
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
winget install --id junegunn.fzf -e
|
|
121
|
+
# or
|
|
122
|
+
choco install fzf -y
|
|
123
|
+
# or
|
|
124
|
+
scoop install fzf
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## OpenCode optional plugins
|
|
128
|
+
|
|
129
|
+
When `opencode` is selected, interactive installs ask whether to enable Telegram notifications and the model checker. The answer is stored globally in:
|
|
130
|
+
|
|
131
|
+
```text
|
|
132
|
+
~/.config/agentic/opencode-plugins.json
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Non-interactive installs create a disabled config when no config exists. Telegram can also read `OPENCODE_TELEGRAM_BOT_TOKEN` and `OPENCODE_TELEGRAM_CHAT_ID`.
|
|
136
|
+
|
|
137
|
+
## Context7
|
|
138
|
+
|
|
139
|
+
For `opencode` and `codex`, interactive installs ask whether to add project-level Context7 MCP configuration. If enabled, the Context7 API key prompt is optional; leave it empty to configure Context7 without a key.
|
|
140
|
+
|
|
141
|
+
Non-interactive installs skip Context7 unless `CONTEXT7_API_KEY` is set in the environment. Agents are instructed to use Context7 for framework, library, SDK, API, and setup documentation when the project config is present.
|
|
142
|
+
|
|
143
|
+
## Deprecated wrapper
|
|
144
|
+
|
|
145
|
+
`agentos-install.sh` remains for backward compatibility and forwards to `agentic`. Prefer `agentic` in new usage and documentation.
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-guides.local/schemas/catalog.schema.json",
|
|
4
|
+
"title": "Agent Guides Docs Catalog",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"version",
|
|
8
|
+
"generated_from",
|
|
9
|
+
"areas",
|
|
10
|
+
"stats"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"version": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"generated_from": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"areas": {
|
|
20
|
+
"type": "array",
|
|
21
|
+
"items": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"required": [
|
|
24
|
+
"area",
|
|
25
|
+
"workflows"
|
|
26
|
+
],
|
|
27
|
+
"properties": {
|
|
28
|
+
"area": {
|
|
29
|
+
"type": "string"
|
|
30
|
+
},
|
|
31
|
+
"workflows": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"items": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"required": [
|
|
36
|
+
"trigger",
|
|
37
|
+
"name",
|
|
38
|
+
"description",
|
|
39
|
+
"workflow_path",
|
|
40
|
+
"inputs",
|
|
41
|
+
"outputs",
|
|
42
|
+
"roles",
|
|
43
|
+
"related_rules",
|
|
44
|
+
"uses_skills",
|
|
45
|
+
"quality_gates",
|
|
46
|
+
"examples",
|
|
47
|
+
"skill_refs"
|
|
48
|
+
],
|
|
49
|
+
"properties": {
|
|
50
|
+
"trigger": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
},
|
|
53
|
+
"name": {
|
|
54
|
+
"type": "string"
|
|
55
|
+
},
|
|
56
|
+
"description": {
|
|
57
|
+
"type": "string"
|
|
58
|
+
},
|
|
59
|
+
"workflow_path": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"prompt_path": {
|
|
63
|
+
"type": [
|
|
64
|
+
"string",
|
|
65
|
+
"null"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
"use_when": {
|
|
69
|
+
"type": "string"
|
|
70
|
+
},
|
|
71
|
+
"inputs": {
|
|
72
|
+
"type": "array",
|
|
73
|
+
"items": {
|
|
74
|
+
"type": "string"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"outputs": {
|
|
78
|
+
"type": "array",
|
|
79
|
+
"items": {
|
|
80
|
+
"type": "string"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"roles": {
|
|
84
|
+
"type": "array",
|
|
85
|
+
"items": {
|
|
86
|
+
"type": "string"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"related_rules": {
|
|
90
|
+
"type": "array",
|
|
91
|
+
"items": {
|
|
92
|
+
"type": "string"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"uses_skills": {
|
|
96
|
+
"type": "array",
|
|
97
|
+
"items": {
|
|
98
|
+
"type": "string"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"quality_gates": {
|
|
102
|
+
"type": "array",
|
|
103
|
+
"items": {
|
|
104
|
+
"type": "string"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"examples": {
|
|
108
|
+
"type": "object",
|
|
109
|
+
"required": [
|
|
110
|
+
"both"
|
|
111
|
+
],
|
|
112
|
+
"properties": {
|
|
113
|
+
"both": {
|
|
114
|
+
"type": "array",
|
|
115
|
+
"items": {
|
|
116
|
+
"type": "object",
|
|
117
|
+
"required": [
|
|
118
|
+
"number",
|
|
119
|
+
"title",
|
|
120
|
+
"en",
|
|
121
|
+
"ru"
|
|
122
|
+
],
|
|
123
|
+
"properties": {
|
|
124
|
+
"number": {
|
|
125
|
+
"type": "integer",
|
|
126
|
+
"minimum": 1
|
|
127
|
+
},
|
|
128
|
+
"title": {
|
|
129
|
+
"type": "string"
|
|
130
|
+
},
|
|
131
|
+
"en": {
|
|
132
|
+
"type": "string"
|
|
133
|
+
},
|
|
134
|
+
"ru": {
|
|
135
|
+
"type": "string"
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
"prompt_command_refs": {
|
|
143
|
+
"type": "array",
|
|
144
|
+
"items": {
|
|
145
|
+
"type": "string"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"skill_refs": {
|
|
149
|
+
"type": "array",
|
|
150
|
+
"items": {
|
|
151
|
+
"type": "object",
|
|
152
|
+
"required": [
|
|
153
|
+
"name",
|
|
154
|
+
"path"
|
|
155
|
+
],
|
|
156
|
+
"properties": {
|
|
157
|
+
"name": {
|
|
158
|
+
"type": "string"
|
|
159
|
+
},
|
|
160
|
+
"path": {
|
|
161
|
+
"type": [
|
|
162
|
+
"string",
|
|
163
|
+
"null"
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"stats": {
|
|
176
|
+
"type": "object",
|
|
177
|
+
"required": [
|
|
178
|
+
"workflows",
|
|
179
|
+
"prompts",
|
|
180
|
+
"problems",
|
|
181
|
+
"matched_prompts"
|
|
182
|
+
],
|
|
183
|
+
"properties": {
|
|
184
|
+
"workflows": {
|
|
185
|
+
"type": "integer",
|
|
186
|
+
"minimum": 0
|
|
187
|
+
},
|
|
188
|
+
"prompts": {
|
|
189
|
+
"type": "integer",
|
|
190
|
+
"minimum": 0
|
|
191
|
+
},
|
|
192
|
+
"problems": {
|
|
193
|
+
"type": "integer",
|
|
194
|
+
"minimum": 0
|
|
195
|
+
},
|
|
196
|
+
"matched_prompts": {
|
|
197
|
+
"type": "integer",
|
|
198
|
+
"minimum": 0
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Guidance Update — Software & DevOps Best Practices (2026-04-10)
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
This update strengthens repository guidance in five high-impact areas:
|
|
6
|
+
|
|
7
|
+
1. Supply-chain security moved to keyless-first signing, attestations, and admission enforcement.
|
|
8
|
+
2. Release workflow upgraded with database compatibility gates, progressive delivery, and explicit rollback criteria.
|
|
9
|
+
3. Dependency security moved from CVSS-only to exploitability-aware triage with exception governance.
|
|
10
|
+
4. Backend/full-stack security rules expanded for modern cloud-native threats and service identity controls.
|
|
11
|
+
5. Observability and alerting standards aligned to SLO-first operations with burn-rate policy and telemetry cost controls.
|
|
12
|
+
|
|
13
|
+
## Why this update
|
|
14
|
+
|
|
15
|
+
- Reduce production risk from software supply-chain and dependency compromise.
|
|
16
|
+
- Improve release safety for schema and high-risk feature changes.
|
|
17
|
+
- Align operational controls with modern SRE and platform governance practices.
|
|
18
|
+
- Increase actionability and signal quality in observability/alerting.
|
|
19
|
+
|
|
20
|
+
## Impacted areas
|
|
21
|
+
|
|
22
|
+
- `areas/devops/ci-cd/*`
|
|
23
|
+
- `areas/software/security/*`
|
|
24
|
+
- `areas/software/full-stack/rules/security-guide.md`
|
|
25
|
+
- `areas/software/backend/rules/security.md`
|
|
26
|
+
- `areas/devops/observability/rules/*`
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# TASK: Prepare AI Agent Infrastructure
|
|
2
|
+
|
|
3
|
+
Analyze the codebase and create a complete AI-agent setup, including `AGENTS.md` and the `.agent/` directory.
|
|
4
|
+
|
|
5
|
+
## STEP 1: Project analysis
|
|
6
|
+
|
|
7
|
+
Collect the following details:
|
|
8
|
+
|
|
9
|
+
1. **Technology stack**
|
|
10
|
+
- Programming language (Python/Go/Node.js/Java/Rust)
|
|
11
|
+
- Framework (FastAPI/Django/Express/Spring/Gin/Actix)
|
|
12
|
+
- Database (PostgreSQL/MySQL/MongoDB/Redis)
|
|
13
|
+
- Build tools (poetry/npm/cargo/maven/gradle)
|
|
14
|
+
|
|
15
|
+
2. **Commands**
|
|
16
|
+
- Dependency installation
|
|
17
|
+
- Linting and formatting
|
|
18
|
+
- Testing (full suite, single file, single test)
|
|
19
|
+
- Build and run
|
|
20
|
+
|
|
21
|
+
3. **Architecture and domain**
|
|
22
|
+
- Service boundaries/modules
|
|
23
|
+
- Core entities and relationships
|
|
24
|
+
- External integrations and infrastructure
|
|
25
|
+
|
|
26
|
+
## STEP 2: Create guidance artifacts
|
|
27
|
+
|
|
28
|
+
Create:
|
|
29
|
+
|
|
30
|
+
- `AGENTS.md` (high-level operating guidance)
|
|
31
|
+
- `.agent/rules/*` (non-negotiable constraints)
|
|
32
|
+
- `.agent/skills/*/SKILL.md` (focused execution playbooks)
|
|
33
|
+
- `.agent/workflows/*` (repeatable delivery flows)
|
|
34
|
+
- `.agent/prompts/*` (ready-to-use commands/prompts)
|
|
35
|
+
|
|
36
|
+
## STEP 3: Quality checks
|
|
37
|
+
|
|
38
|
+
- Ensure guidance matches the real stack and tooling.
|
|
39
|
+
- Keep instructions actionable and testable.
|
|
40
|
+
- Verify examples are technically accurate and production-oriented.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# OpenCode setup
|
|
2
|
+
|
|
3
|
+
## Configuration
|
|
4
|
+
|
|
5
|
+
The main OpenCode configuration file is located at:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
~/.config/opencode/opencode.json
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Authentication
|
|
12
|
+
|
|
13
|
+
### Auth files
|
|
14
|
+
|
|
15
|
+
OpenCode stores authentication data in two locations:
|
|
16
|
+
|
|
17
|
+
| Path | Description |
|
|
18
|
+
|------|-------------|
|
|
19
|
+
| `~/.config/opencode/` | Plugin-level credentials (for example, `antigravity-accounts.json`) |
|
|
20
|
+
| `~/.local/share/opencode/auth.json` | Primary provider tokens (OpenAI, Google, and others) |
|
|
21
|
+
|
|
22
|
+
## Notes
|
|
23
|
+
|
|
24
|
+
- Back up credentials before machine migration.
|
|
25
|
+
- Keep auth files out of version control.
|
|
26
|
+
- Prefer least-privilege API keys for automation.
|
|
27
|
+
|
|
28
|
+
## Agentic optional plugins
|
|
29
|
+
|
|
30
|
+
When `agentic` installs the OpenCode extension, it configures optional plugins in:
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
~/.config/agentic/opencode-plugins.json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Telegram notifications and model checking are opt-in. If the config is absent or a plugin is disabled, the plugin returns no hooks and OpenCode continues without that behavior.
|
|
37
|
+
|
|
38
|
+
Telegram notifications use either the stored config values or these environment variables:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
OPENCODE_TELEGRAM_BOT_TOKEN
|
|
42
|
+
OPENCODE_TELEGRAM_CHAT_ID
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Non-interactive `agentic install` defaults optional plugins to disabled when no config exists.
|