docs: expand lint scope batch46 (2 files)

This commit is contained in:
Apple
2026-02-16 07:41:44 -08:00
parent 4098649c59
commit 83decf0fc8
3 changed files with 80 additions and 79 deletions

View File

@@ -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<T>(path: string, options?: RequestInit): Promise<T> {
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<T>(path: string, options?: RequestInit): Promise<T> {
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:
Він гарантує:
* узгоджений стиль,
* передбачуваний код,
* мінімум помилок,
* легку підтримку,
* зрозумілість структури для нових девелоперів.
- узгоджений стиль,
- передбачуваний код,
- мінімум помилок,
- легку підтримку,
- зрозумілість структури для нових девелоперів.

View File

@@ -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. Результат
Після впровадження цього модуля:
* спільнота перестає тонути в шумі,
* виникає природна структура уваги,
* критичні події не губляться,
* люди й агенти діють у правильному ритмі,
* інформаційне навантаження стає здоровим і екологічним.
- спільнота перестає тонути в шумі,
- виникає природна структура уваги,
- критичні події не губляться,
- люди й агенти діють у правильному ритмі,
- інформаційне навантаження стає здоровим і екологічним.

View File

@@ -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