quality / commitlint (push) Skipped
quality / changes (push) Successful in 20s
quality / docker-check (push) Skipped
quality / openapi (push) Successful in 2m54s
quality / web (push) Successful in 1m22s
quality / go (push) Successful in 3m37s
quality / bird2 (push) Successful in 15s
CD / quality (push) Successful in 8m37s
CD / publish (push) Failing after 1m51s
- Added `@redocly/cli` version 1.34.5 to `package.json` and `pnpm-lock.yaml` for OpenAPI linting. - Updated CI workflows to reflect changes in job names and processes, including adjustments to the `publish` job in the CD workflow. - Enhanced documentation to clarify the new CI/CD processes and Docker build configurations.
101 lines
5.4 KiB
Plaintext
101 lines
5.4 KiB
Plaintext
---
|
||
description: Context7 — закреплённые ID библиотек и документации стека EvoBGP
|
||
alwaysApply: true
|
||
---
|
||
|
||
# Context7 — стек EvoBGP
|
||
|
||
При вопросах об API, синтаксисе, конфигурации и миграциях библиотек **сначала** `query-docs` с ID из таблицы ниже. Шаг `resolve-library-id` **пропускать**, если библиотека уже перечислена (кроме неоднозначного случая).
|
||
|
||
Локальные версии: `go.mod`, `web/package.json`. При расхождении с ID — предпочитать версию из репозитория.
|
||
|
||
---
|
||
|
||
## Backend (Go)
|
||
|
||
| Библиотека | Context7 ID | Версия в проекте | Когда |
|
||
|------------|-------------|------------------|-------|
|
||
| Go stdlib | `/golang/go/go1_24_6` | Go 1.24 | `net/http`, `context`, тесты, concurrency |
|
||
| pgx | `/websites/pkg_go_dev_github_com_jackc_pgx_v5` | v5.7.2 | PostgreSQL, pool, транзакции, типы |
|
||
| Prometheus Go client | `/prometheus/client_golang` | v1.20.5 | метрики, `/metrics`, middleware |
|
||
| modernc SQLite | `/websites/pkg_go_dev_modernc_org_sqlite` | v1.34.5 | SQLite-бэкенд, миграции sqlite |
|
||
| miekg/dns | `/miekg/dns` | v1.1.72 | DNS-запросы, DoH, pipeline |
|
||
|
||
---
|
||
|
||
## HTTP-контракт и спецификации
|
||
|
||
| Библиотека | Context7 ID | Версия в проекте | Когда |
|
||
|------------|-------------|------------------|-------|
|
||
| OpenAPI | `/oai/openapi-specification` | 3.x в `docs/openapi.yaml` | схемы, operationId, problem+json |
|
||
| Redocly CLI | `/redocly/redocly-cli` | CI `@redocly/cli` | lint OpenAPI, `pnpm exec redocly lint` |
|
||
|
||
---
|
||
|
||
## Web UI (`apps/web/` + `packages/ui/`)
|
||
|
||
| Библиотека | Context7 ID | Версия в проекте | Когда |
|
||
|------------|-------------|------------------|-------|
|
||
| React | `/facebook/react` | ^19.2 | hooks, components, JSX |
|
||
| TanStack Router | `/tanstack/router` | ^1.130 | file-based routes, `createFileRoute`, `useSearch`, `Link` |
|
||
| TanStack Query | `/tanstack/query` | ^5.90 | `useQuery`, `useMutation`, `queryOptions`, invalidation |
|
||
| TanStack Table | `/websites/tanstack_table` | ^8.21 | data-grid колонки, сортировка (ReUI) |
|
||
| TanStack Virtual | `/tanstack/virtual` | ^3.14 | виртуализация списков (ReUI data-grid) |
|
||
| Vite | `/vitejs/vite/v7.3.1` | ^7.3.1 | dev server, build, plugins |
|
||
| TypeScript | `/microsoft/typescript/v5.9.3` | ^5.9.3 | типы, strict, tsconfig |
|
||
| Tailwind CSS | `/tailwindlabs/tailwindcss.com` | ^4.1 | v4, `@tailwindcss/vite`, утилиты |
|
||
| shadcn/ui (React) | MCP `plugin-shadcn-shadcn` + https://ui.shadcn.com/docs | base-nova | примитивы `@evobgp/ui/components/*` |
|
||
| ReUI | https://reui.io/llms.txt + MCP с `registries: ["@reui"]` | registry | enterprise: data-grid, filters, autocomplete |
|
||
| react-hook-form | `/react-hook-form` | ^7.60 | формы, controller |
|
||
| Zod | `/websites/zod_dev_v4` | ^3.25 / ^4 (apps/web) | схемы валидации |
|
||
| recharts | `/recharts/recharts` | 3.8.0 | графики через shadcn `Chart` |
|
||
| next-themes | `/pacocoursey/next-themes` | ^0.4 | dark/light theme provider |
|
||
| sonner | `/emilkowalski/sonner` | ^1.7 | toast notifications |
|
||
| lucide-react | `/lucide-icons/lucide` | ^0.468 | иконки |
|
||
|
||
UI-правила репозитория: `.cursor/rules/web-shadcn.mdc` (MCP + shadcn/ui React docs — первичный источник для компонентов).
|
||
|
||
---
|
||
|
||
## Data plane / BGP
|
||
|
||
| Библиотека | Context7 ID | Версия в проекте | Когда |
|
||
|------------|-------------|------------------|-------|
|
||
| BIRD 2 | `/llmstxt/bird_xmsl_dev_llms_txt` | BIRD2 в compose | `birdfmt`, фильтры, протоколы |
|
||
| BIRD (исходники) | `/cz-nic/bird` | — | низкоуровневый синтаксис daemon |
|
||
|
||
Сетевые правила: `.cursor/rules/networking-bird.mdc`.
|
||
|
||
---
|
||
|
||
## DevOps
|
||
|
||
| Библиотека | Context7 ID | Версия в проекте | Когда |
|
||
|------------|-------------|------------------|-------|
|
||
| Docker Compose | `/docker/compose` | `deploy/compose/` | сервисы, profiles, volumes |
|
||
| Docker | `/docker/docs` | — | образы, bake, networking |
|
||
|
||
---
|
||
|
||
## Приоритет источников
|
||
|
||
1. **Контракт HTTP** — `docs/openapi.yaml` (не Context7).
|
||
2. **Context7** — синтаксис и API библиотек из таблицы.
|
||
3. **Локальные docs** — `docs/`, `web/README.md`, `AGENTS.md`.
|
||
4. **Официальный сайт** — BIRD: https://bird.nic.cz/?get_doc (если Context7 не покрыл кейс).
|
||
|
||
## Примеры запросов
|
||
|
||
```
|
||
/docs /facebook/react hooks useState useEffect
|
||
/docs /tanstack/router createFileRoute useSearch Link
|
||
/docs /tanstack/query useQuery useMutation queryOptions
|
||
/docs /golang/go/go1_24_6 net/http ServeMux pattern matching
|
||
/docs /websites/pkg_go_dev_github_com_jackc_pgx_v5 pool acquire rows
|
||
/docs /llmstxt/bird_xmsl_dev_llms_txt filter bgp import
|
||
```
|
||
|
||
## Не через Context7
|
||
|
||
Рефакторинг `internal/*`, бизнес-логика EvoBGP, code review — код репозитория и `codegraph`. Context7 — только внешние библиотеки и инструменты.
|