feat: Add new agents and skills for Docker, TestLink, and OpenWrt
- Introduced "Docker Build & Test Engineer" agent for building and testing Docker images. - Added "TestLink Autotest Engineer" agent for generating and verifying autotests from TestLink cases. - Created "Branch Review Engineer" agent for reviewing branch diffs and proposing improvements. - Developed "OpenWrt VPN & Network Engineer" agent for designing and implementing OpenWrt networking with VPN. - Established a structured directory for agents, skills, prompts, instructions, and hooks under `.github/`. - Implemented detailed skills for branch review processes, including reading code, analyzing improvements, and applying changes. - Added skills for OpenWrt network discovery, VPN routing, and hardening. - Created README files for better documentation and navigation of the repository structure.
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
---
|
||||
name: branch-review-read-code
|
||||
description: "Read the current branch diff, surrounding code, and pyproject.toml before review. Use when: reviewing a branch, understanding current diff, preparing code review context, reading changed files with config awareness, чтение diff ветки, собрать контекст ревью, прочитать pyproject перед ревью."
|
||||
argument-hint: "Base branch or review scope (e.g. origin/main, main, src/)"
|
||||
---
|
||||
|
||||
# Branch Review: Read Code
|
||||
|
||||
This skill gathers the exact context needed for a branch review before any recommendations are made.
|
||||
|
||||
## Goals
|
||||
|
||||
- identify the review base
|
||||
- collect changed files and diff hunks
|
||||
- read surrounding code, not only modified lines
|
||||
- read `pyproject.toml` first when it exists
|
||||
- extract effective versions, modes, and tool settings that constrain the review
|
||||
|
||||
## Procedure
|
||||
|
||||
### Step 1 — Resolve Review Base
|
||||
|
||||
Determine the base branch in this order:
|
||||
1. user-provided base branch
|
||||
2. `origin/main`
|
||||
3. `origin/master`
|
||||
4. `main`
|
||||
5. `master`
|
||||
|
||||
Use git to find the merge-base and review `merge-base...HEAD`.
|
||||
|
||||
If none of these refs exist, review the staged and unstaged diff in the current branch and say that the base branch could not be resolved.
|
||||
|
||||
### Step 2 — Read pyproject.toml First
|
||||
|
||||
Before reviewing Python code, read `pyproject.toml` from the repository root when present.
|
||||
|
||||
Extract at minimum:
|
||||
- `[project]` → `requires-python`
|
||||
- `[tool.ruff]` and `[tool.ruff.lint]`
|
||||
- `[tool.mypy]`
|
||||
- `[tool.pytest.ini_options]`
|
||||
- formatter and import settings if present: `black`, `isort`, `ruff format`
|
||||
- any custom sections that affect code generation, linting, typing, tests, or packaging
|
||||
|
||||
Record the effective constraints, especially:
|
||||
- target Python version
|
||||
- strictness modes
|
||||
- enabled and ignored lint rules
|
||||
- test paths and addopts
|
||||
- line length and formatting rules
|
||||
|
||||
If `pyproject.toml` is missing, state that explicitly and continue with conservative assumptions.
|
||||
|
||||
### Step 3 — Collect the Branch Delta
|
||||
|
||||
Gather:
|
||||
- changed file list
|
||||
- diff hunks for each changed text file
|
||||
- file status: added, modified, renamed, deleted
|
||||
|
||||
Ignore generated or low-signal files unless they are central to the change:
|
||||
- lockfiles
|
||||
- build artifacts
|
||||
- minified bundles
|
||||
- vendored code
|
||||
- binary assets
|
||||
|
||||
### Step 4 — Read Surrounding Context
|
||||
|
||||
For each changed source file, read enough surrounding code to understand:
|
||||
- function and class boundaries
|
||||
- data flow into and out of the changed lines
|
||||
- nearby tests and fixtures
|
||||
- text strings or comments changed by the branch
|
||||
|
||||
If there are many files, prioritize by risk:
|
||||
1. production source code
|
||||
2. tests for changed source
|
||||
3. config files
|
||||
4. docs and text content
|
||||
|
||||
### Step 5 — Produce the Review Packet
|
||||
|
||||
Output a concise packet for the next stage:
|
||||
|
||||
```md
|
||||
## Review Packet
|
||||
|
||||
Base branch: <resolved-or-missing>
|
||||
Changed files:
|
||||
- path (status)
|
||||
|
||||
### pyproject.toml
|
||||
- found: yes/no
|
||||
- requires-python: ...
|
||||
- ruff: ...
|
||||
- mypy: ...
|
||||
- pytest: ...
|
||||
|
||||
### Priority Areas
|
||||
- file: why it is risky
|
||||
|
||||
### Notes
|
||||
- anything unusual in the diff or repo state
|
||||
```
|
||||
|
||||
Do not propose fixes yet. This skill only gathers context.
|
||||
Reference in New Issue
Block a user