dsh-desktop-kit 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -10
- package/docs/ARCHITECTURE.md +9 -0
- package/docs/COMPATIBILITY.md +8 -3
- package/docs/INSTALL.md +6 -5
- package/docs/PRIVACY.md +4 -0
- package/docs/TOKENS.md +11 -4
- package/docs/images/hero.png +0 -0
- package/package.json +3 -3
- package/plugins/dsh-project-memory/README.md +67 -54
- package/plugins/dsh-project-memory/index.js +314 -71
- package/plugins/dsh-project-memory/package.json +3 -2
- package/plugins/dsh-project-memory/scan.js +607 -0
- package/skills/project-deep-dive/SKILL.md +12 -11
- package/skills/project-memory-maintenance/SKILL.md +11 -11
|
@@ -9,21 +9,22 @@ user-invocable: true
|
|
|
9
9
|
> ≈1 600 токенов. Понимание проекта → локальное досье; детали — по ссылкам.
|
|
10
10
|
|
|
11
11
|
## 0. Контракт
|
|
12
|
-
1. `project_memory(action="status")` —
|
|
13
|
-
2.
|
|
14
|
-
3.
|
|
15
|
-
4.
|
|
16
|
-
5.
|
|
12
|
+
1. `project_memory(action="status")` и `action="brief"` — первыми, до чтения проекта; `brief` — карточка стека/команд/путей на один экран.
|
|
13
|
+
2. Проект и автоскан уже сделаны плагином: не сканируй заново без нужды; блоки `AUTO-SCAN` в секциях правит только сканер.
|
|
14
|
+
3. Только локально: код, конфиги, пути, серверы, БД и логи не уходят в `web_fetch`/`web_search`/внешние API.
|
|
15
|
+
4. Секреты и PII (пароли, токены, ключи, DSN, e-mail, телефоны, ФИО, адреса) не пишем; можно «секрет в `.env`, `DB_PASSWORD`».
|
|
16
|
+
5. Секции — только `update_section`; досье и `INDEX.json` руками не правь.
|
|
17
|
+
6. Финал: записанные секции + проверенные факты + «неясно»; без последнего отчёт неполон.
|
|
17
18
|
|
|
18
19
|
## 1. Когда и API
|
|
19
20
|
- «Глубоко проанализируй/запомни», «составь досье», `/remember` (`PROJECT`, `ARCHITECTURE`, `CODE-MAP`, `RUNBOOK`); перед крупной работой в незнакомом проекте.
|
|
20
21
|
- Устарело: `lastAnalyzedAt` >~30 дней, `git.head` ≠ HEAD, другая ветка. Не нужно при актуальном досье и точечном вопросе.
|
|
21
|
-
- API: `project_memory(...)`; `status` → `
|
|
22
|
+
- API: `project_memory(...)`; `status`/`brief` → `read`/`search` → `update_section`/`append_journal`; `scan` — обновить локальный автоскан; `file` — секция, `mode` — replace/append, `maxChars` 500–30000 (12000), `project` — текущий по умолчанию. Пользовательские команды: `/memory brief|scan|on|off|projects`.
|
|
22
23
|
|
|
23
24
|
## 2. Алгоритм
|
|
24
|
-
1. **Статус.** `status`; нет
|
|
25
|
-
2. **Известное.** `read` (6000–8000)
|
|
26
|
-
3. **Разведка.** Только чтение: `AGENTS.md` → `README*` → манифесты → структура → git; изменяющих команд нет.
|
|
25
|
+
1. **Статус.** `status` + `brief`; проекта нет — зарегистрируй или открой папку (авто-регистрация), неясно — спроси, не угадывай; устарело — предупреди, старое помечай `[устарело]`.
|
|
26
|
+
2. **Известное.** Автоскан уже дал стек/команды/точки входа; `read` (6000–8000) только нужных секций, не дублируй; конфликт — перепроверь код: победитель в досье, проигравший `[устарело]`.
|
|
27
|
+
3. **Разведка.** Только чтение: `AGENTS.md` → `README*` → манифесты → структура → git; изменяющих команд нет. Если `scan` устарел — `project_memory action=scan`.
|
|
27
28
|
4. **Потоки.** Вход → маршрут → обработчик → домен → данные → тесты; фиксируй только объясняющее запуск, логику, данные и хрупкие места.
|
|
28
29
|
5. **Секции.** `PROJECT` → `ARCHITECTURE` → `CODE-MAP` → `INVARIANTS` → `GOTCHAS` → `RUNBOOK`; каждая отдельным `update_section` + `read`. Минимумы: 8–15 строк / 15+ / 10+ записей / 5+ / 3+ / 5+ команд; малый проект — пропорционально.
|
|
29
30
|
6. **Теги.** `[проверено]` — источник + `path:line`; `[выведено]` — логический вывод; `[устарело]` — было верно раньше. Без кода, логов и дампов.
|
|
@@ -38,8 +39,8 @@ user-invocable: true
|
|
|
38
39
|
| Полный API, детали шагов, антипаттерны | `references/tool-and-process.md` | ≈2 950 |
|
|
39
40
|
|
|
40
41
|
## 4. Гейт перед сдачей
|
|
41
|
-
- [ ] `status`
|
|
42
|
-
- [ ]
|
|
42
|
+
- [ ] `status` + `brief` первыми, slug определён; автоскан свежий (или `scan` выполнен); секции прочитаны, дублей нет.
|
|
43
|
+
- [ ] Блоки `AUTO-SCAN` не правились руками; каждая секция — `update_section` + `read`; минимумы и ≤ 40 KB.
|
|
43
44
|
- [ ] Нет секретов/PII (перечитано), кода, логов и дампов.
|
|
44
45
|
- [ ] Теги и `path:line`; противоречия разобраны, старое помечено.
|
|
45
46
|
- [ ] JOURNAL дописан; отчёт: «Записано» и «Неясно»; в сеть ничего.
|
|
@@ -8,18 +8,18 @@ user-invocable: true
|
|
|
8
8
|
# Project-memory-maintenance
|
|
9
9
|
|
|
10
10
|
## 0. Контракт
|
|
11
|
-
1.
|
|
12
|
-
2.
|
|
13
|
-
3.
|
|
11
|
+
1. Перед работой — `brief` (карточка стека/команд) и `status`; перед записью — `search`.
|
|
12
|
+
2. Журнал — после значимой сессии, до ответа; рутинные шаги плагин пишет сам.
|
|
13
|
+
3. В секции — долговечное; ход работы — в журнал. Блоки `AUTO-SCAN` правит только сканер: не редактируй их вручную, дополняй текст вне маркеров.
|
|
14
14
|
4. Секреты, PII, код, дампы — не в досье, журнале, `INDEX.json`.
|
|
15
|
-
5. Только `project_memory`; файлы не правь.
|
|
15
|
+
5. Только `project_memory`; файлы не правь. Пользовательские команды: `/memory brief|scan|on|off|projects`.
|
|
16
16
|
|
|
17
17
|
## 1. Что значимо и API
|
|
18
18
|
- Значимо: код/схема, решение, исправленный баг с проверкой, инвариант/ловушка, деплой, deep-dive; тривиальное — нет (сомневаешься — короткая запись).
|
|
19
|
-
- API: `project_memory(...)`; `file` — секция, `mode` — replace/append, `maxChars` 500–30000.
|
|
19
|
+
- API: `project_memory(...)`; `brief` — карточка, `status` — свежесть, `scan` — локальный автоскан, `file` — секция, `mode` — replace/append, `maxChars` 500–30000.
|
|
20
20
|
|
|
21
21
|
## 2. Конец сессии
|
|
22
|
-
1. `status` —
|
|
22
|
+
1. `status` — проект, свежесть и цена дайджеста; `brief` — если нужен контекст.
|
|
23
23
|
2. `search` 1–3 темы с синонимами (`maxChars=4000`).
|
|
24
24
|
3. `append_journal` в `JOURNAL/YYYY-MM.md`; связанные шаги — одна запись.
|
|
25
25
|
4. `update_section` — только долговечное, одна секция — один вызов.
|
|
@@ -37,9 +37,9 @@ user-invocable: true
|
|
|
37
37
|
1–3 термина (модуль, команда, ошибка, синонимы); `search` каждый; найдено — `read` + дополни, нет — добавь; после — `read`: дубля, секрета, мёртвой ссылки нет.
|
|
38
38
|
Секция ≤ 40 KB; пункт 1–3 строки; детали — `docs`/README, в секции `path:line`. Раздуто — вынеси, оставь ссылки; журнал по месяцам, повторяющиеся выводы — в секции.
|
|
39
39
|
|
|
40
|
-
## 6.
|
|
41
|
-
`INDEX.json` — машинный, руками нельзя. `lastAnalyzedAt` — только полный анализ; `git.branch`/`head` — на чём; `confidence` — высокая/средняя/низкая по `[проверено]`/смеси/`[устарело]`.
|
|
42
|
-
`status` в начале; branch/HEAD разошлись —
|
|
40
|
+
## 6. Свежесть, автоскан и INDEX.json
|
|
41
|
+
`INDEX.json` — машинный, руками нельзя. `lastAnalyzedAt` — только полный анализ; `lastScanAt` — локальный автоскан; `git.branch`/`head` — на чём; `confidence` — высокая/средняя/низкая по `[проверено]`/смеси/`[устарело]`.
|
|
42
|
+
`status` в начале; branch/HEAD разошлись или `scan` устарел (>24 ч) — `scan`, затем перечитай и обнови досье; старое помечай. Полный анализ — коммит в отчёт; частичная правка не выглядит полной. Расхождение `status` — в отчёт, файл не правь.
|
|
43
43
|
|
|
44
44
|
## 7. Куда грузить дальше
|
|
45
45
|
| Нужно | Файл | ≈токенов |
|
|
@@ -49,7 +49,7 @@ user-invocable: true
|
|
|
49
49
|
| Правила секций | `references/section-rules.md` | ≈1 750 |
|
|
50
50
|
|
|
51
51
|
## 8. Гейт перед сдачей
|
|
52
|
-
- [ ] `status`; проект; `search` до записи, дублей нет.
|
|
53
|
-
- [ ] JOURNAL дописан (5 пунктов); досье обновлено; `git.head` сверен; старое помечено.
|
|
52
|
+
- [ ] `status`/`brief`; проект; автоскан свежий; `search` до записи, дублей нет.
|
|
53
|
+
- [ ] JOURNAL дописан (5 пунктов); досье обновлено; блоки `AUTO-SCAN` не тронуты; `git.head` сверен; старое помечено.
|
|
54
54
|
- [ ] Нет секретов/PII/кода; теги/`path:line`; ≤ 40 KB.
|
|
55
55
|
- [ ] В отчёт — что записано.
|