Imported from NgoiSigma/NOVEYA-Meta-Platform (
AGENTS.md). Install upstream withnpx skills add NgoiSigma/NOVEYA-Meta-Platform. Copyright stays with the author.
# AGENTS.md β FDL-GROMADA-NOVEYA
> ΠΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ ΠΠ-Π°Π³Π΅Π½ΡΠΎΠ² ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΄ΡΠΎ FDL-ΠΡΠΎΠΌΠ°Π΄Ρ: ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, Π³ΡΠ°Ρ-Π΄Π²ΠΈΠΆΠΎΠΊ, FastAPI Π΄Π»Ρ ΠΆΠΈΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ Π°Π³Π΅Π½ΡΠΎΠ², ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ·ΡΠΊΠ° ΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ. Π‘ΠΌ. ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π² README.
---
## 0) ΠΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
1) Π―Π²Π½ΡΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ°ΡΠ΅/Π·Π°Π΄Π°ΡΠ΅.
2) ΠΡΠΎΡ `AGENTS.md` Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
3) ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ `AGENTS.md` Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠ°Ρ
(ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° **Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ**).
4) `README.md`, `fdl_language_spec.md`, `fdl_manifest.md`.
---
## 1) ΠΠ°ΡΡΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (ΠΎΡΠΈΠ΅Π½ΡΠΈΡΡ)
.github/ # CI, ΡΠ°Π±Π»ΠΎΠ½Ρ assets/ # ΡΠΈΠΌΠ²ΠΎΠ»Ρ/ΠΈΠΊΠΎΠ½ΠΊΠΈ (Π½Π°ΠΏΡ. taurus_sigil.svg) docs/ # Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ (Π΅ΡΠ»ΠΈ Π΅ΡΡΡ) LICENSE, NOTICE.md README.md fdl_language_spec.md # ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ FDL fdl_macro_patterns.fdl # ΠΌΠ°ΠΊΡΠΎ-ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ FDL fdl_manifest.md # ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ fdl_compiler.py # ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ/Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡ FDL fdl_graph_engine.py # Π³ΡΠ°Ρ-Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ/Π°Π½Π°Π»ΠΈΠ· gromada_live_api.py # FastAPI ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΆΠΈΠ²ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ Π°Π³Π΅Π½ΡΠΎΠ²
---
## 2) ΠΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ (Python 3.11+)
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ: Linux/macOS/WSL, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ `uv` ΠΈΠ»ΠΈ `pip`.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°:
```bash
git clone https://github.com/NgoiSigma/fdl-gromada-noveya.git
cd fdl-gromada-noveya
# ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (Π΅ΡΠ»ΠΈ Π΅ΡΡΡ requirements.txt)
uv pip install -r requirements.txt 2>/dev/null || true
# Π»ΠΈΠ±ΠΎ:
pip install -r requirements.txt 2>/dev/null || true
# ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ, Π΅ΡΠ»ΠΈ requirements.txt ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ:
pip install ruff pytest pyright mypy fastapi uvicorn networkx graphviz pydot
# (networkx/graphviz/pydot β Π΄Π»Ρ Π³ΡΠ°ΡΠ°; fastapi/uvicorn β Π΄Π»Ρ live API)
ΠΠ³Π΅Π½Ρ: Π΅ΡΠ»ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ β Π½Π΅ ΠΏΠ°Π΄Π°ΠΉ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ΅Π΅ ΠΏΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉ.
3) ΠΠΎΠ½ΡΡΠΎΠ»Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° (Quality Gates) β ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ PR
ruff fix . && ruff check .
pyright || mypy .
pytest -q || echo "no tests yet"
ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΎΡΠΊΠ°Π·Π°: Π΅ΡΠ»ΠΈ Π»ΠΈΠ½ΡΠ΅Ρ/ΡΠΈΠΏΡ ΠΏΠ°Π΄Π°ΡΡ β ΠΏΡΠ°Π²Ρ Π΄ΠΎ Π·Π΅Π»ΡΠ½ΠΎΠ³ΠΎ; Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡΠΎΠ² Π½Π΅Ρ β ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠΉ smoke-ΡΠ΅ΡΡΡ CLI (ΡΠΌ. Β§10).
4) Runbooks (playbooks Π°Π³Π΅Π½ΡΠ°)
ΠΠ°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΠΊΠΎΡΠ½Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
4.1 FDL Compiler β ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ/Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ
# ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°/ΠΏΡΠ°Π²ΠΈΠ»
python fdl_compiler.py --input fdl_macro_patterns.fdl --check
# ΠΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ ΠΏΠΎ ΡΠ°Π·Π°ΠΌ Π€ΠΠ (ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°)
python fdl_compiler.py --phase init --input fdl_macro_patterns.fdl --out out/phase_init.json
python fdl_compiler.py --phase expand --input out/phase_init.json --out out/phase_expand.json
python fdl_compiler.py --phase synthesize --input out/phase_expand.json --out out/phase_synth.json
4.2 Graph Engine β ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅/Π°Π½Π°Π»ΠΈΠ· Π³ΡΠ°ΡΠ° ΡΠΌΡΡΠ»ΠΎΠ²
# ΠΠΎΡΡΡΠΎΠΈΡΡ Π³ΡΠ°Ρ ΠΈΠ· ΠΌΠ°ΠΊΡΠΎ-ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ
python fdl_graph_engine.py \
--input fdl_macro_patterns.fdl \
--format png --out out/graph/gromada_graph.png \
--metrics out/graph/metrics.json
4.3 Live API β ΠΆΠΈΠ²Π°Ρ ΡΠ²ΡΠ·ΠΊΠ° Π°Π³Π΅Π½ΡΠΎΠ² (FastAPI)
# ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΡΠΊ API (uvicorn)
uvicorn gromada_live_api:app --reload --host 0.0.0.0 --port 8000
# ΠΡΠΈΠΌΠ΅ΡΡ curl (ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ API):
# curl -X POST http://localhost:8000/compile -F "file=@fdl_macro_patterns.fdl"
# curl -X POST http://localhost:8000/graph -F "file=@fdl_macro_patterns.fdl"
ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠ»ΠΈ ΡΠ½Π΄ΠΏΠΎΠΉΠ½Ρ Π΅ΡΡ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ β ΡΠΎΠ·Π΄Π°ΠΉ Π·Π°Π³Π»ΡΡΠΊΡ (CLI +
--help//health, ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° 0) ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΡ.
5) ΠΡΡΠ΅ΡΠ°ΠΊΡΡ (ΠΊΡΠ΄Π° Π²ΡΡ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ)
out/
phase_init.json
phase_expand.json
phase_synth.json
graph/
gromada_graph.png
metrics.json
logs/
artifacts/
validation/
6) Π‘ΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π°
- PEP8; Π»ΠΈΠ½ΡΠ΅Ρ β Ruff (ΡΠΌ. ΡΠ°Π±Π»ΠΎΠ½
pyproject.tomlΠ½ΠΈΠΆΠ΅). - ΠΠΎΠΊΡΡΡΠΈΠ½Π³ΠΈ: Google-style/NumPy-style.
- ΠΠΌΠ΅Π½Π°:
snake_caseΠ΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ/ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ,CamelCaseΠ΄Π»Ρ ΠΊΠ»Π°ΡΡΠΎΠ². - ΠΡΠ±Π»ΠΈΡΠ½ΡΠ΅ API Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΠΉ Π²
docs/(Π΅ΡΠ»ΠΈ Π½Π΅Ρ β ΡΠΎΠ·Π΄Π°ΠΉ).
7) ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° PR
ΠΠ΅ΡΠ΅Π΄ PR ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ:
ruff check .β 0 ΠΎΡΠΈΠ±ΠΎΠΊ;pyrightΠΈΠ»ΠΈmypyβ Π±Π΅Π· ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ;pytest -qβ Π·Π΅Π»ΡΠ½ΡΠ΅ (ΠΈΠ»ΠΈ Π΅ΡΡΡ smoke-ΡΠ΅ΡΡΡ CLI);- ΠΠ±Π½ΠΎΠ²Π»ΡΠ½
docs/ΠΈΠ»ΠΈREADME.md, Π΅ΡΠ»ΠΈ ΠΌΠ΅Π½ΡΠ»ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ; - Π
CHANGELOG.mdΠ΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΡΠ°ΡΠΊΠΈΠΉ FDL-Π»ΠΎΠ³ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (ΡΡΠΎ/Π·Π°ΡΠ΅ΠΌ/Π²Π»ΠΈΡΠ½ΠΈΠ΅).
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ CODEOWNERS:
/fdl_compiler.py @owners
/fdl_graph_engine.py @owners
/gromada_live_api.py @owners
8) ΠΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°
- Π£Π²Π°ΠΆΠ°ΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈΠ·
NOTICE.md/ LICENSE (Apache-2.0) ΠΈ ΡΠ°Π·Π΄Π΅Π» Β«SYMBOL USE NOTICEΒ». - Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ (Π½Π°ΠΏΡ.
taurus_sigil.svg) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎ, Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°; Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π»Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΎΡΡΠΊΠΈΡ /Π·Π°ΠΊΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌ. - ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ FDL-Π°ΠΊΡΠΈΠΎΠΌ/ΡΠ·ΡΠΊΠ° β ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ PR ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π².
9) CI (GitHub Actions)
ΠΡΠ»ΠΈ workflow ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ β ΡΠΎΠ·Π΄Π°ΠΉ
.github/workflows/ci.yml:
name: gromada-ci
on:
push: { branches: [ main ] }
pull_request: { branches: [ main ] }
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install deps
run: |
python -m pip install -U pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install ruff pytest pyright mypy fastapi uvicorn networkx graphviz pydot || true
- name: Lint
run: ruff check .
- name: Type check
run: pyright || mypy .
- name: Tests
run: pytest -q || echo "no tests yet"
10) ΠΠΈΠ½ΠΈ-ΡΠ°Π±Π»ΠΎΠ½Ρ (Π±ΡΡΡΡΡΠΉ scaffold)
pyproject.toml (Ruff + Pyright)
[tool.ruff]
line-length = 100
target-version = "py311"
select = ["E","F","I","UP","N","B"]
ignore = ["ANN101","ANN102"]
[tool.pyright]
include = ["."]
pythonVersion = "3.11"
Smoke-ΡΠ΅ΡΡΡ CLI tests/test_cli_smoke.py
import subprocess
def run_ok(cmd: str):
assert subprocess.call(cmd, shell=True) == 0
def test_compiler_help(): run_ok("python fdl_compiler.py --help")
def test_graph_help(): run_ok("python fdl_graph_engine.py --help")
def test_api_import(): run_ok("python -c 'import gromada_live_api; print(1)'")
.gitignore (Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ)
out/
logs/
artifacts/
__pycache__/
*.pyc
.ipynb_checkpoints/
11) ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°
- ΠΠΎΠ΄ΡΠ»Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ β ΠΏΡΠΎΠ²Π΅ΡΡ ΠΏΡΡΡ Π·Π°ΠΏΡΡΠΊΠ° (ΠΈΠ· ΠΊΠΎΡΠ½Ρ), Π²Π΅ΡΡΠΈΡ Python.
- ΠΠ΅Ρ system Graphviz β ΡΡΡΠ°Π½ΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΠΠ‘ (
graphviz) ΠΈ Python-Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ (graphviz/pydot). - FastAPI Π½Π΅ ΡΡΠ°ΡΡΡΠ΅Ρ β ΠΏΡΠΎΠ²Π΅ΡΡ
uvicorn, Π·Π°Π½ΡΡΡΠΉ ΠΏΠΎΡΡ, ΠΈΠΌΠΏΠΎΡΡΡ. - ΠΡΡΡΡΡ ΠΏΡΡΡΡΠ΅ β ΠΏΡΠΎΠ²Π΅ΡΡ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ (
fdl_macro_patterns.fdl) ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ CLI.
12) ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ AGENTS.md
Π Π°Π·ΡΠ΅ΡΠ΅Π½Ρ Π² docs/, assets/ ΠΈ ΡΡΠ΄ΠΎΠΌ Ρ Π»ΡΠ±ΡΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ. ΠΠ½ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠ΅Π½Π΄Π΅ΡΡ Π³ΡΠ°ΡΠΎΠ² ΠΈΠ»ΠΈ API).
[1]: https://github.com/NgoiSigma/fdl-gromada-noveya "GitHub - NgoiSigma/fdl-gromada-noveya: Resonance-based FDL architecture and semantic agent SDK for NOVΠYA. A living logic system for self-organization and conscious ecosystems."