Files
shater/AGENTS.md
T
Leadaxe 60a94bf0d7 lx(specs): bootstrap Spec Kit — constitution, prompt, roadmap, specs 001-004
Establish sing-box-lx as a thin downstream of SagerNet/sing-box:
upstream + exactly two client-side features (XHTTP transport, AmneziaWG 2.0
endpoint), gated behind build tags, kept rebaseable onto upstream tags.

- SPECS/CONSTITUTION.md, IMPLEMENTATION_PROMPT.md, README.md
- SPECS/001 FORK_BOOTSTRAP, 002 XHTTP_CLIENT_TRANSPORT,
  003 AWG2_CLIENT_ENDPOINT, 004 BUILD_CI_RELEASE
2026-06-09 14:31:11 +03:00

39 lines
2.5 KiB
Markdown

# Руководство для AI-агентов — sing-box-lx
`sing-box-lx` — **тонкий downstream** апстрима [SagerNet/sing-box](https://github.com/SagerNet/sing-box): upstream **плюс ровно две фичи** и ничего больше:
1. **XHTTP** — клиентский v2ray-транспорт (совместимость с Xray XHTTP).
2. **AmneziaWG 2.0 (AWG2)** — клиентский endpoint поверх WireGuard.
Главная ценность проекта — **согласованность с upstream**. Любое изменение оценивается по тому, насколько легко оно переживёт ребейз на следующий тег upstream.
---
## Что читать в первую очередь
| Документ | Назначение |
|----------|------------|
| **SPECS/CONSTITUTION.md** | Неизменяемые принципы: приоритеты, build-tag изоляция, минимальный дифф, запреты |
| **SPECS/IMPLEMENTATION_PROMPT.md** | DoD, git/ребейз-ритуал, команды сборки и тестов, контракт выхода |
| **SPECS/README.md** | Формат задач `NNN-T-S-NAME` (Spec Kit), workflow |
Перед реализацией задачи из `SPECS/` обязательно прочитай её **SPEC.md → PLAN.md → TASKS.md** и применяй **IMPLEMENTATION_PROMPT.md**.
---
## Жёсткие границы (детали — в CONSTITUTION)
- **Только две фичи.** Любая фича вне XHTTP/AWG2 — вне скоупа, спросить пользователя.
- **Go module path остаётся `github.com/sagernet/sing-box`** (для чистых ребейзов).
- **Всё новое — за build-tag** (`with_xhttp`, `with_awg`) и **в новых файлах/пакетах**.
- **Правки upstream-файлов** — только помеченными `// lx:` блоками, атомарными коммитами.
- **Никаких merge с upstream — только rebase.** `origin/lx` всегда ребейзится на тег.
- **Имя бинаря — `sing-box`** (drop-in для лаунчера); идентичность `-lx` — в версии.
- **Scope — client-only**: outbound/endpoint. Server/inbound отложены.
---
## Язык
Спеки, отчёты и ответы в чате — **русский**. Код, комментарии, коммиты — английский, в стиле upstream sing-box.