From 83decf0fc85a5779919d6b3d5bdd6655b1297b9e Mon Sep 17 00:00:00 2001 From: Apple Date: Mon, 16 Feb 2026 07:41:44 -0800 Subject: [PATCH] docs: expand lint scope batch46 (2 files) --- docs/cursor/05_coding_standards.md | 86 +++++++++---------- .../19_notifications_attention_agent.md | 71 ++++++++------- docs/standards/lint_scope.txt | 2 + 3 files changed, 80 insertions(+), 79 deletions(-) diff --git a/docs/cursor/05_coding_standards.md b/docs/cursor/05_coding_standards.md index 4dea2fac..d7e303ca 100644 --- a/docs/cursor/05_coding_standards.md +++ b/docs/cursor/05_coding_standards.md @@ -23,7 +23,7 @@ ## 2. Архітектура проєкту -``` +```text src/ api/ // Typed API clients components/ // UI components (buttons, inputs, modals) @@ -34,7 +34,7 @@ routes/ // Route definitions store/ // Zustand stores (optional) styles/ // Global CSS/tokens utils/ // Formatting, validation -``` +```text - `features/*` містять логіку конкретних модулів. - `components/*` — лише dumb UI-компоненти (без бізнес-логіки). @@ -51,18 +51,18 @@ utils/ // Formatting, validation "strict": true } } -``` +```text ### 3.2. Заборонено -* `any` -* `!` non-null assertion (за винятком рідкісних випадків) -* глобальний mutable state +- `any` +- `!` non-null assertion (за винятком рідкісних випадків) +- глобальний mutable state ### 3.3. API-типи -* Генеруємо типи з API Snapshot / OpenAPI. -* Типи для відповідей зберігаються в `src/api/types.ts`. +- Генеруємо типи з API Snapshot / OpenAPI. +- Типи для відповідей зберігаються в `src/api/types.ts`. ## 4. React Query (network layer) @@ -87,31 +87,31 @@ export async function api(path: string, options?: RequestInit): Promise { return res.json(); } -``` +```text ### 4.2. Query Keys -``` +```text ["teams"] ["teams", teamId] ["channels", teamId] ["messages", channelId] ["followups", teamId] ["projects", teamId] -``` +```text ## 5. Стандарти компонентів ### 5.1. Іменування -* Компоненти: `PascalCase` -* Хуки: `useCamelCase` -* Файли: `camel-case.tsx` -* Папки: `kebab-case` +- Компоненти: `PascalCase` +- Хуки: `useCamelCase` +- Файли: `camel-case.tsx` +- Папки: `kebab-case` -### 5.2. Компонент повинен мати: +### 5.2. Компонент повинен мати -* Чіткий props-інтерфейс: +- Чіткий props-інтерфейс: ```ts interface MyCompProps { @@ -119,8 +119,8 @@ export async function api(path: string, options?: RequestInit): Promise { onClick: () => void; } ``` -* Внутрішній стан не змішується з зовнішнім API-станом. -* Міжкомпонентна логіка виноситься в хуки (наприклад: `useMessages(channelId)`). +- Внутрішній стан не змішується з зовнішнім API-станом. +- Міжкомпонентна логіка виноситься в хуки (наприклад: `useMessages(channelId)`). ## 6. Обробка помилок @@ -143,20 +143,20 @@ POST — без retry. Всі тексти повинні бути в словнику: -``` +```text src/i18n/uk.json src/i18n/en.json -``` +```text Формат ключів: -``` +```text onboarding.welcome_title onboarding.next chat.send chat.input_placeholder followup.create -``` +```text Форсувати одразу правильну структуру. @@ -164,18 +164,18 @@ followup.create ### 8.1. Кольори -``` +```text --primary: #3F51F5; --success: #43A047; --error: #E53935; --gray-100: #F8F9FA; --gray-200: #ECEFF1; --gray-800: #263238; -``` +```text ### 8.2. Типографіка -* System font stack: +- System font stack: `"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto` ### 8.3. Контрасти @@ -184,12 +184,12 @@ followup.create ## 9. Робота з WebSockets -* Використовуємо один хук: `useChannelStream(channelId)`. -* WS підключається коли відкрито чат. -* Події: +- Використовуємо один хук: `useChannelStream(channelId)`. +- WS підключається коли відкрито чат. +- Події: - * `message.created` - * `message.updated` + - `message.created` + - `message.updated` Не зберігати WS-стан у глобальному store. @@ -197,11 +197,11 @@ followup.create Що треба **вимкнути** у коді, щоб не перевантажити ранніх користувачів: -* Без drag'n'drop для файлів. -* Без реакцій (emoji). -* Без WYSIWYG редактора. -* Без Co-Memory (файли/документи), лише stub. -* Без granular RBAC. +- Без drag'n'drop для файлів. +- Без реакцій (emoji). +- Без WYSIWYG редактора. +- Без Co-Memory (файли/документи), лише stub. +- Без granular RBAC. ## 11. Патерни, які Cursor повинен дотримуватися @@ -213,7 +213,7 @@ followup.create ## 12. Приклад робочого промта для Cursor -``` +```text You are a senior React/TS engineer. Implement Step 2 of the onboarding flow (/onboarding). @@ -226,7 +226,7 @@ Specs: Please output: - list of files to modify - code diff -``` +```text ## 13. Мета документа @@ -234,8 +234,8 @@ Please output: Він гарантує: -* узгоджений стиль, -* передбачуваний код, -* мінімум помилок, -* легку підтримку, -* зрозумілість структури для нових девелоперів. +- узгоджений стиль, +- передбачуваний код, +- мінімум помилок, +- легку підтримку, +- зрозумілість структури для нових девелоперів. diff --git a/docs/cursor/19_notifications_attention_agent.md b/docs/cursor/19_notifications_attention_agent.md index e5c8dfa8..68b44914 100644 --- a/docs/cursor/19_notifications_attention_agent.md +++ b/docs/cursor/19_notifications_attention_agent.md @@ -10,7 +10,7 @@ Notifications & Attention Agent (далі — Attention Agent) відповід --- -# 1. Призначення +## 1. Призначення Attention Agent: @@ -25,7 +25,7 @@ Attention Agent: --- -# 2. Проблеми, які він вирішує +## 2. Проблеми, які він вирішує - надлишок сповіщень, - інформаційне перевантаження, @@ -37,7 +37,7 @@ Attention Agent: --- -# 3. Види уваги +## 3. Види уваги Attention Agent працює з трьома видами уваги: @@ -55,11 +55,11 @@ Attention Agent працює з трьома видами уваги: --- -# 4. Модель даних (log of events) +## 4. Модель даних (log of events) Attention Agent працює поверх подій (`events`): -``` +```text event: { id, team_id, @@ -68,13 +68,13 @@ source, // messenger, tasks, governance, agents... payload, // JSON ts } -``` +```text Він визначає важливість і формує *streams of attention*. --- -# 5. Потоки уваги (Attention Streams) +## 5. Потоки уваги (Attention Streams) ### 5.1. High-Attention Stream @@ -93,7 +93,7 @@ ts --- -# 6. Attention Agent — спроможності +## 6. Attention Agent — спроможності ## 6.1. Фільтрація шуму @@ -151,7 +151,7 @@ ts --- -# 7. Інтеграція з агентами інших модулів +## 7. Інтеграція з агентами інших модулів ### Messenger Agent @@ -176,7 +176,7 @@ ts --- -# 8. Tools (для Runtime Core) +## 8. Tools (для Runtime Core) ### 8.1. classify_event @@ -204,7 +204,7 @@ ts --- -# 9. Інтеграція з Runtime Core (12) +## 9. Інтеграція з Runtime Core (12) ```ts const attentionAgentConfig: AgentConfig = { @@ -223,48 +223,48 @@ const attentionAgentConfig: AgentConfig = { "highlight_critical" ] }; -``` +```text --- -# 10. UI — візуалізація уваги +## 10. UI — візуалізація уваги ## 10.1. Панель уваги (Attention Panel) Правий сайдбар у будь-якому контексті: -* топ важливих подій, -* пропущені сигнали, -* критичні оновлення. +- топ важливих подій, +- пропущені сигнали, +- критичні оновлення. ## 10.2. Центр уваги (Attention Hub) Окремий екран: -* `/t/:teamId/attention` +- `/t/:teamId/attention` Тут користувач бачить: -* "Важливе за сьогодні", -* "Критичне зараз", -* "Рекомендоване до перегляду". +- "Важливе за сьогодні", +- "Критичне зараз", +- "Рекомендоване до перегляду". ## 10.3. Дайджести -* кнопка "Огляд дня", -* кнопка "Огляд тижня". +- кнопка "Огляд дня", +- кнопка "Огляд тижня". ## 10.4. Налаштування уваги Користувач може обрати: -* рівень чутливості, -* типи подій, -* тихі години. +- рівень чутливості, +- типи подій, +- тихі години. --- -# 11. API +## 11. API ### Події @@ -279,9 +279,9 @@ const attentionAgentConfig: AgentConfig = { --- -# 12. Інструкції для Cursor +## 12. Інструкції для Cursor -``` +```text Implement the Notifications & Attention Agent using: - 19_notifications_attention_agent.md @@ -318,18 +318,17 @@ Output: - file list - diff - summary -``` +```text --- -# 13. Результат +## 13. Результат Після впровадження цього модуля: -* спільнота перестає тонути в шумі, -* виникає природна структура уваги, -* критичні події не губляться, -* люди й агенти діють у правильному ритмі, -* інформаційне навантаження стає здоровим і екологічним. - +- спільнота перестає тонути в шумі, +- виникає природна структура уваги, +- критичні події не губляться, +- люди й агенти діють у правильному ритмі, +- інформаційне навантаження стає здоровим і екологічним. diff --git a/docs/standards/lint_scope.txt b/docs/standards/lint_scope.txt index 73d26a4c..342f4429 100644 --- a/docs/standards/lint_scope.txt +++ b/docs/standards/lint_scope.txt @@ -121,3 +121,5 @@ docs/cursor/09_evolutionary_agent.md docs/cursor/03_api_core_snapshot.md docs/cursor/10_agent_ui_system.md docs/cursor/16_followups_reminders_agent.md +docs/cursor/05_coding_standards.md +docs/cursor/19_notifications_attention_agent.md