@nan0web/release 3.1.1 → 3.3.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/bin/release.test.js +81 -0
- package/package.json +20 -12
- package/src/Release/MarkdownToTest.test.js +60 -0
- package/src/Release/Scanner.close.test.js +91 -0
- package/src/Release/Scanner.test.js +134 -0
- package/src/architecture/ProjectManagementAsCode.test.js +128 -0
- package/src/domain/BumpCommand.js +3 -3
- package/src/releases/1/0/v1.0.2/test.test.js +6 -0
- package/src/releases/1/0/v1.0.3/task.test.js +16 -0
- package/types/Release/Document.d.ts +27 -20
- package/types/Release/MarkdownToTest.d.ts +1 -1
- package/types/Release/Person.d.ts +7 -9
- package/types/Release/Scanner.d.ts +39 -39
- package/types/Release.d.ts +42 -42
- package/types/architecture/ProjectManagementAsCode.d.ts +64 -59
- package/types/domain/App.d.ts +5 -6
- package/types/domain/BumpCommand.d.ts +12 -4
- package/types/domain/CheckCommand.d.ts +1 -1
- package/types/domain/CloseCommand.d.ts +6 -3
- package/types/domain/DepsCommand.d.ts +6 -4
- package/types/domain/InitCommand.d.ts +6 -3
- package/types/domain/PublishCommand.d.ts +6 -5
- package/types/domain/SpecCommand.d.ts +6 -3
- package/types/domain/StatusCommand.d.ts +5 -1
- package/types/index.d.ts +10 -13
- package/knip.json +0 -21
- package/nan0web.nan0 +0 -16
- package/project.yaml +0 -79
package/project.yaml
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
metadata:
|
|
3
|
-
description: ""
|
|
4
|
-
tags: []
|
|
5
|
-
status: planned
|
|
6
|
-
locale: uk
|
|
7
|
-
sections:
|
|
8
|
-
- title: "🧭 Фаза 1: Філософія та Абстракція (The Seed)"
|
|
9
|
-
content:
|
|
10
|
-
- "**Місія:** Управління проєктами як код (Project Management as Code). Ми відмовляємось від зовнішніх трекерів задач (Jira, Trello). Проєкт — це набір технічних **контрактів**, які проходять шлях від наміру до імплементації, забезпечуючи реальний статус прогресу автоматично."
|
|
11
|
-
- "**Базова Абстракція:** Пакет відповідає за логіку та CLI, яка читає Markdown, генерує контракти (`.spec.js`), а потім закриває їх як тести (`.test.js`) з подальшою вічною регресією (тести копіюються в кодову базу)."
|
|
12
|
-
- "**Глосарій:**"
|
|
13
|
-
- "- **Release Document**: `release.md` з ТЗ та відомостями про команду."
|
|
14
|
-
- "- **WIP Контракт**: `*.spec.js`, який падає/у стані `todo`, доки задачу не взяли і не зробили. Оновлює прогрес автоматично при виконанні."
|
|
15
|
-
- "- **Закритий Контракт**: `*.test.js` (результат команди `close`). Він стає законом і гарантує регресію через `pnpm test`."
|
|
16
|
-
- "---"
|
|
17
|
-
tasks: []
|
|
18
|
-
- title: "📐 Фаза 2: Доменне Моделювання (Data-Driven Models)"
|
|
19
|
-
content:
|
|
20
|
-
- "Сутності і моделі, які керують процесом релізу, не мають жорсткої прив'язки до вебу, але описуються як чисті об'єкти:"
|
|
21
|
-
- "- `Release`: Координує стан (версія, час початку, час завершення)."
|
|
22
|
-
- "- `ReleaseDocument`: Структурує Markdown у модель (дістає задачі)."
|
|
23
|
-
- "- `Person`: Типізована перевірка того, хто схвалив дії (через GPG або JSON підпис)."
|
|
24
|
-
- "- `Scanner`: Абстракція доступу до файлової системи (`releases/`)."
|
|
25
|
-
- "Статуси відстежуються динамічно через статус тестів: `it.todo` -> `it.skip` -> `it()`."
|
|
26
|
-
- "---"
|
|
27
|
-
tasks: []
|
|
28
|
-
- title: "🛠 Фаза 3: Верифікація Логіки (CLI-First)"
|
|
29
|
-
content:
|
|
30
|
-
- "Уся бізнес-логіка @nan0web/release 100% покривається Unit-тестами та CLI командами. Жодного веб-коду. Використовуємо Message-based архітектуру `@nan0web/ui-cli`."
|
|
31
|
-
- "1. **Команди CLI (`bin/nan0release.js`):**"
|
|
32
|
-
- "- `deps`, `publish` (реалізовані)."
|
|
33
|
-
- "- Заплановані (`init`, `spec`, `close`, `status`) інкапсулюють керування `Scanner` та `Release` моделями."
|
|
34
|
-
- "2. **Contract Lifecycle (Автоматизація прогресу):**"
|
|
35
|
-
- "- На старті `.spec.js` мають `it.todo()` → задача в беклозі."
|
|
36
|
-
- "- Коли розробник бере задачу → генерує логіку, змінює на `it()`. При коміті реальний прогрес проекту видно \"зеленим\"."
|
|
37
|
-
- "- `nan0release close` перейменовує `spec → test` і переносить його в `src/releases/` для 100% автоматичної регресії."
|
|
38
|
-
- "---"
|
|
39
|
-
tasks: []
|
|
40
|
-
- title: "🪐 Фаза 4: Sovereign Workbench (The Master IDE)"
|
|
41
|
-
content:
|
|
42
|
-
- "_(Для цього пакету застосовується опціонально, оскільки тут CLI-First)_"
|
|
43
|
-
- "Пакет `release` є постачальником даних для інших Sandbox-середовищ, де може виводитись:"
|
|
44
|
-
- "- Dashboard релізу (таблиці статусів `wip/closed/mixed`)."
|
|
45
|
-
- "- Для цього ми генеруємо `.datasets/README.dataset.jsonl` за допомогою `test:docs`, щоб створювати машиночитабельні знання для LLM-агентів для донавчання або можна користуватись README.md як індексу у реальному часі."
|
|
46
|
-
- "---"
|
|
47
|
-
tasks: []
|
|
48
|
-
- title: "🎨 Фаза 5: Тематизація та Інтерфейс (Theming)"
|
|
49
|
-
content:
|
|
50
|
-
- "_(Може застосовуватися при запуску HTML звітів про реліз або Dashboard)_"
|
|
51
|
-
- "Логіка `release UI` (якщо така з'явиться у додатку `@nan0web/release.app`), буде імпортувати компоненти з `@nan0web/ui-lit` зі строгим слідуванням CSS-змінним (напр. `--co` для кольорів бренду) без створення кастомних стилів."
|
|
52
|
-
- "---"
|
|
53
|
-
tasks: []
|
|
54
|
-
- title: "🏁 Чек-лист готовності пакету (Definition of Done)"
|
|
55
|
-
content: []
|
|
56
|
-
tasks:
|
|
57
|
-
- title: "General"
|
|
58
|
-
content: []
|
|
59
|
-
items:
|
|
60
|
-
- text: "Визначена місія та філософія у `system.md` та `project.md`."
|
|
61
|
-
completed: true
|
|
62
|
-
- text: "Робота з Markdown-нотатками та базова доменна логіка (`Scanner`, `Release`)."
|
|
63
|
-
completed: true
|
|
64
|
-
- text: "Атомарна операція закриття контрактів (`Scanner.close()`)."
|
|
65
|
-
completed: true
|
|
66
|
-
- text: "Всі існуючі специфікації проходять через CLI та `node:test` (22/24 pass, 2 skip)."
|
|
67
|
-
completed: true
|
|
68
|
-
- text: "Прогрес автоматизується зміною статусу `spec.js` (todo/skip/pass)."
|
|
69
|
-
completed: true
|
|
70
|
-
- text: "Усі CLI сценарії для AGRP (spec, close, init, status) завершені."
|
|
71
|
-
completed: false
|
|
72
|
-
- text: "Створені API-ендпоінти для відображення релізного прогресу у React-Dashboard."
|
|
73
|
-
completed: false
|
|
74
|
-
total: 7
|
|
75
|
-
completed: 5
|
|
76
|
-
stats:
|
|
77
|
-
totalTasks: 7
|
|
78
|
-
completedTasks: 5
|
|
79
|
-
progress: 71
|