speccrew 0.1.0 → 0.1.2
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.ar.md +98 -91
- package/README.bn.md +122 -0
- package/README.bs.md +321 -0
- package/README.da.md +321 -0
- package/README.de.md +321 -0
- package/README.el.md +122 -0
- package/README.en.md +92 -85
- package/README.es.md +96 -89
- package/README.fr.md +321 -0
- package/README.it.md +321 -0
- package/README.ja.md +321 -0
- package/README.ko.md +321 -0
- package/README.md +92 -109
- package/README.no.md +321 -0
- package/README.pl.md +321 -0
- package/README.pt-BR.md +321 -0
- package/README.ru.md +321 -0
- package/README.th.md +239 -0
- package/README.tr.md +239 -0
- package/README.uk.md +239 -0
- package/README.vi.md +122 -0
- package/README.zh-TW.md +321 -0
- package/bin/cli.js +5 -1
- package/bin/postinstall.js +157 -0
- package/docs/GETTING-STARTED.ar.md +452 -0
- package/docs/GETTING-STARTED.bn.md +449 -0
- package/docs/GETTING-STARTED.bs.md +449 -0
- package/docs/GETTING-STARTED.da.md +448 -0
- package/docs/GETTING-STARTED.de.md +448 -0
- package/docs/GETTING-STARTED.el.md +449 -0
- package/docs/GETTING-STARTED.en.md +448 -0
- package/docs/GETTING-STARTED.es.md +448 -0
- package/docs/GETTING-STARTED.fr.md +448 -0
- package/docs/GETTING-STARTED.it.md +448 -0
- package/docs/GETTING-STARTED.ja.md +448 -0
- package/docs/GETTING-STARTED.ko.md +448 -0
- package/docs/GETTING-STARTED.md +448 -0
- package/docs/GETTING-STARTED.no.md +449 -0
- package/docs/GETTING-STARTED.pl.md +449 -0
- package/docs/GETTING-STARTED.pt-BR.md +449 -0
- package/docs/GETTING-STARTED.ru.md +449 -0
- package/docs/GETTING-STARTED.th.md +449 -0
- package/docs/GETTING-STARTED.tr.md +449 -0
- package/docs/GETTING-STARTED.uk.md +449 -0
- package/docs/GETTING-STARTED.vi.md +449 -0
- package/docs/GETTING-STARTED.zh-TW.md +448 -0
- package/lib/commands/init.js +238 -41
- package/lib/commands/uninstall.js +150 -32
- package/lib/commands/update.js +159 -24
- package/lib/ide-adapters.js +257 -3
- package/lib/utils.js +23 -7
- package/package.json +16 -5
package/README.ru.md
ADDED
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
# SpecCrew - Фреймворк программной инженерии на базе ИИ
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="./README.md">简体中文</a> |
|
|
5
|
+
<a href="./README.zh-TW.md">繁體中文</a> |
|
|
6
|
+
<a href="./README.en.md">English</a> |
|
|
7
|
+
<a href="./README.ko.md">한국어</a> |
|
|
8
|
+
<a href="./README.de.md">Deutsch</a> |
|
|
9
|
+
<a href="./README.es.md">Español</a> |
|
|
10
|
+
<a href="./README.fr.md">Français</a> |
|
|
11
|
+
<a href="./README.it.md">Italiano</a> |
|
|
12
|
+
<a href="./README.da.md">Dansk</a> |
|
|
13
|
+
<a href="./README.ja.md">日本語</a> |
|
|
14
|
+
<a href="./README.pl.md">Polski</a> |
|
|
15
|
+
<a href="./README.ru.md">Русский</a> |
|
|
16
|
+
<a href="./README.bs.md">Bosanski</a> |
|
|
17
|
+
<a href="./README.ar.md">العربية</a> |
|
|
18
|
+
<a href="./README.no.md">Norsk</a> |
|
|
19
|
+
<a href="./README.pt-BR.md">Português (Brasil)</a> |
|
|
20
|
+
<a href="./README.th.md">ไทย</a> |
|
|
21
|
+
<a href="./README.tr.md">Türkçe</a> |
|
|
22
|
+
<a href="./README.uk.md">Українська</a> |
|
|
23
|
+
<a href="./README.bn.md">বাংলা</a> |
|
|
24
|
+
<a href="./README.el.md">Ελληνικά</a> |
|
|
25
|
+
<a href="./README.vi.md">Tiếng Việt</a>
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
<p align="center">
|
|
29
|
+
<a href="https://www.npmjs.com/package/speccrew"><img src="https://img.shields.io/npm/v/speccrew.svg" alt="npm version"></a>
|
|
30
|
+
<a href="https://www.npmjs.com/package/speccrew"><img src="https://img.shields.io/npm/dm/speccrew.svg" alt="npm downloads"></a>
|
|
31
|
+
<a href="https://github.com/charlesmu99/speccrew/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/speccrew.svg" alt="license"></a>
|
|
32
|
+
</p>
|
|
33
|
+
|
|
34
|
+
> Виртуальная команда разработки на базе ИИ, обеспечивающая быструю инженерную реализацию для любого программного проекта
|
|
35
|
+
|
|
36
|
+
## Что такое SpecCrew?
|
|
37
|
+
|
|
38
|
+
SpecCrew — это встраиваемый фреймворк виртуальной команды разработки на базе ИИ. Он преобразует профессиональные рабочие процессы программной инженерии (PRD → Feature Design → System Design → Dev → Test) в повторно используемые рабочие процессы Агентов, помогая командам разработчиков достичь разработки на основе спецификаций (SDD), особенно подходящей для существующих проектов.
|
|
39
|
+
|
|
40
|
+
Интегрируя Агентов и Навыки в существующие проекты, команды могут быстро инициализировать системы документации проекта и виртуальные программные команды, реализуя новые функции и модификации в соответствии со стандартными инженерными рабочими процессами.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Решение 8 ключевых проблем
|
|
45
|
+
|
|
46
|
+
### 1. ИИ игнорирует существующую документацию проекта (разрыв знаний)
|
|
47
|
+
**Проблема**: Существующие методы SDD или Vibe Coding полагаются на то, что ИИ резюмирует проекты в реальном времени, легко упуская критический контекст и приводя к результатам разработки, отклоняющимся от ожиданий.
|
|
48
|
+
|
|
49
|
+
**Решение**: Репозиторий `knowledge/` служит "единственным источником истины" проекта, аккумулируя архитектурный дизайн, функциональные модули и бизнес-процессы, обеспечивая соответствие требований источнику.
|
|
50
|
+
|
|
51
|
+
### 2. Прямое преобразование документации требований в техническую (пропуск содержания)
|
|
52
|
+
**Проблема**: Прямой переход от PRD к детальному проектированию легко упускает детали требований, приводя к тому, что реализованные функции отклоняются от требований.
|
|
53
|
+
|
|
54
|
+
**Решение**: Введение фазы **Документа Feature Design**, фокусирующейся только на каркасе требований без технических деталей:
|
|
55
|
+
- Какие страницы и компоненты включены?
|
|
56
|
+
- Потоки операций страниц
|
|
57
|
+
- Логика обработки бэкенда
|
|
58
|
+
- Структура хранения данных
|
|
59
|
+
|
|
60
|
+
Разработке нужно только "нарастить мясо" на основе конкретного технического стека, обеспечивая рост функций "близко к кости (требованиям)".
|
|
61
|
+
|
|
62
|
+
### 3. Неопределённый область поиска Агента (неопределённость)
|
|
63
|
+
**Проблема**: В сложных проектах широкий поиск кода и документов ИИ даёт неопределённые результаты, что затрудняет гарантирование согласованности.
|
|
64
|
+
|
|
65
|
+
**Решение**: Чёткие структуры каталогов документов и шаблоны, разработанные на основе потребностей каждого Агента, реализуют **прогрессивное раскрытие и загрузку по запросу** для обеспечения детерминизма.
|
|
66
|
+
|
|
67
|
+
### 4. Пропущенные этапы и задачи (разрыв процесса)
|
|
68
|
+
**Проблема**: Отсутствие полного покрытия инженерного процесса легко упускает критические шаги, что затрудняет гарантирование качества.
|
|
69
|
+
|
|
70
|
+
**Решение**: Покрытие полного жизненного цикла программной инженерии:
|
|
71
|
+
```
|
|
72
|
+
PRD (Требования) → Feature Design (Проектирование функций) → API Contract (Контракт)
|
|
73
|
+
→ System Design (Системное проектирование) → Dev (Разработка) → Test (Тестирование)
|
|
74
|
+
```
|
|
75
|
+
- Выход каждой фазы является входом следующей фазы
|
|
76
|
+
- Каждый шаг требует человеческого подтверждения перед продолжением
|
|
77
|
+
- Все выполнения Агентов имеют списки задач с самопроверкой после завершения
|
|
78
|
+
|
|
79
|
+
### 5. Низкая эффективность командного сотрудничества (информационные колодцы)
|
|
80
|
+
**Проблема**: Опыт программирования с ИИ сложно разделять между командами, что приводит к повторным ошибкам.
|
|
81
|
+
|
|
82
|
+
**Решение**: Все Агенты, Навыки и связанные документы версионируются с исходным кодом:
|
|
83
|
+
- Оптимизация одного человека разделяется командой
|
|
84
|
+
- Знания аккумулируются в кодовой базе
|
|
85
|
+
- Повышается эффективность командного сотрудничества
|
|
86
|
+
|
|
87
|
+
### 7. Слишком длинный контекст единственного Агента (узкое место производительности)
|
|
88
|
+
**Проблема**: Большие сложные задачи превышают контекстные окна единственного Агента, вызывая отклонения в понимании и снижение качества вывода.
|
|
89
|
+
|
|
90
|
+
**Решение**: **Механизм автодиспетчеризации суб-Агентов**:
|
|
91
|
+
- Сложные задачи автоматически идентифицируются и разделяются на подзадачи
|
|
92
|
+
- Каждая подзадача выполняется независимым суб-Агентом с изолированным контекстом
|
|
93
|
+
- Родительский Агент координирует и агрегирует для обеспечения общей согласованности
|
|
94
|
+
- Избегает расширения контекста единственного Агента, обеспечивая качество вывода
|
|
95
|
+
|
|
96
|
+
### 8. Хаос итераций требований (трудности управления)
|
|
97
|
+
**Проблема**: Множественные требования, смешанные в одной ветке, влияют друг на друга, что затрудняет отслеживание и откат.
|
|
98
|
+
|
|
99
|
+
**Решение**: **Каждое требование как независимый проект**:
|
|
100
|
+
- Каждое требование создаёт независимый каталог итерации `iterations/iXXX-[имя-требования]/`
|
|
101
|
+
- Полная изоляция: документы, дизайн, код и тесты управляются независимо
|
|
102
|
+
- Быстрая итерация: доставка малой гранулярности, быстрая верификация, быстрое развёртывание
|
|
103
|
+
- Гибкое архивирование: после завершения архивирование в `archive/` с чёткой исторической отслеживаемостью
|
|
104
|
+
|
|
105
|
+
### 6. Запаздывание обновления документов (устаревание знаний)
|
|
106
|
+
**Проблема**: Документы устаревают по мере развития проектов, заставляя ИИ работать с неверной информацией.
|
|
107
|
+
|
|
108
|
+
**Решение**: Агенты имеют возможности автоматического обновления документов, синхронизируя изменения проекта в реальном времени для поддержания точности базы знаний.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Основной рабочий процесс
|
|
113
|
+
|
|
114
|
+
```mermaid
|
|
115
|
+
graph LR
|
|
116
|
+
A[PRD<br/>Документ требований] --> B[Feature Design<br/>Проектирование функций]
|
|
117
|
+
B --> C[API Contract<br/>Контракт интерфейса]
|
|
118
|
+
C --> D[System Design<br/>Системное проектирование]
|
|
119
|
+
D --> E[Dev<br/>Реализация]
|
|
120
|
+
E --> F[System Test<br/>Тестирование]
|
|
121
|
+
F --> G[Archive<br/>Архивирование]
|
|
122
|
+
|
|
123
|
+
H[Knowledge<br/>Репозиторий] -.-> A
|
|
124
|
+
H -.-> B
|
|
125
|
+
H -.-> D
|
|
126
|
+
H -.-> E
|
|
127
|
+
|
|
128
|
+
E -.-> H
|
|
129
|
+
F -.-> H
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Описание фаз
|
|
133
|
+
|
|
134
|
+
| Фаза | Агент | Вход | Выход | Человеческое подтверждение |
|
|
135
|
+
|------|-------|------|-------|---------------------------|
|
|
136
|
+
| PRD | PM | Пользовательские требования | Документ требований продукта | ✅ Обязательно |
|
|
137
|
+
| Feature Design | Feature Designer | PRD | Документ Feature Design + API контракт | ✅ Обязательно |
|
|
138
|
+
| System Design | System Designer | Feature Spec | Документы проектирования Frontend/Backend | ✅ Обязательно |
|
|
139
|
+
| Dev | Dev | Design | Код + Записи задач | ✅ Обязательно |
|
|
140
|
+
| System Test | Test Manager | Вывод Dev + Feature Spec | Тест-кейсы + Тестовый код + Тестовый отчёт + Отчёт багов | ✅ Обязательно |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Сравнение с существующими решениями
|
|
145
|
+
|
|
146
|
+
| Измерение | Vibe Coding | Ralph Loop | **SpecCrew** |
|
|
147
|
+
|-----------|-------------|------------|-------------|
|
|
148
|
+
| Зависимость от документов | Игнорирует существующие документы | Полагается на AGENTS.md | **Структурированная база знаний** |
|
|
149
|
+
| Передача требований | Прямое кодирование | PRD → Код | **PRD → Feature Design → System Design → Код** |
|
|
150
|
+
| Человеческое участие | Минимальное | При запуске | **На каждой фазе** |
|
|
151
|
+
| Полнота процесса | Слабая | Средняя | **Полный инженерный рабочий процесс** |
|
|
152
|
+
| Командное сотрудничество | Сложно делиться | Личная эффективность | **Разделение знаний команды** |
|
|
153
|
+
| Управление контекстом | Один экземпляр | Цикл одного экземпляра | **Автодиспетчеризация суб-Агентов** |
|
|
154
|
+
| Управление итерациями | Смешанное | Список задач | **Требование как проект, независимая итерация** |
|
|
155
|
+
| Детерминизм | Низкий | Средний | **Высокий (прогрессивное раскрытие)** |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Быстрый старт
|
|
160
|
+
|
|
161
|
+
### Предварительные требования
|
|
162
|
+
|
|
163
|
+
- Node.js >= 16.0.0
|
|
164
|
+
- Поддерживаемые IDE: Qoder (по умолчанию), Cursor, Claude Code
|
|
165
|
+
|
|
166
|
+
> **Примечание**: Адаптеры для Cursor и Claude Code не тестировались в реальных средах IDE (реализованы на уровне кода и верифицированы через E2E тесты, но ещё не протестированы в реальных Cursor/Claude Code).
|
|
167
|
+
|
|
168
|
+
### 1. Установить SpecCrew
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
npm install -g speccrew
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### 2. Инициализировать проект
|
|
175
|
+
|
|
176
|
+
Перейдите в корневой каталог проекта и выполните команду инициализации:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
cd /path/to/your-project
|
|
180
|
+
|
|
181
|
+
# По умолчанию использует Qoder
|
|
182
|
+
speccrew init
|
|
183
|
+
|
|
184
|
+
# Или укажите IDE
|
|
185
|
+
speccrew init --ide qoder
|
|
186
|
+
speccrew init --ide cursor
|
|
187
|
+
speccrew init --ide claude
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
После инициализации в проекте будут созданы:
|
|
191
|
+
- `.qoder/agents/` / `.cursor/agents/` / `.claude/agents/` — 7 определений ролей Агентов
|
|
192
|
+
- `.qoder/skills/` / `.cursor/skills/` / `.claude/skills/` — 38 рабочих процессов Навыков
|
|
193
|
+
- `speccrew-workspace/` — Рабочее пространство (каталоги итераций, база знаний, шаблоны документов)
|
|
194
|
+
- `.speccrewrc` — Файл конфигурации SpecCrew
|
|
195
|
+
|
|
196
|
+
Чтобы позже обновить Агентов и Навыки для конкретной IDE:
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
speccrew update --ide cursor
|
|
200
|
+
speccrew update --ide claude
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### 3. Начать рабочий процесс разработки
|
|
204
|
+
|
|
205
|
+
Следуйте стандартному инженерному рабочему процессу шаг за шагом:
|
|
206
|
+
|
|
207
|
+
1. **PRD**: Агент Product Manager анализирует требования и генерирует документ требований продукта
|
|
208
|
+
2. **Feature Design**: Агент Feature Designer генерирует документ feature design + API контракт
|
|
209
|
+
3. **System Design**: Агент System Designer генерирует документы system design по платформам (frontend/backend/mobile/desktop)
|
|
210
|
+
4. **Dev**: Агент System Developer реализует разработку по платформам параллельно
|
|
211
|
+
5. **System Test**: Агент Test Manager координирует трёхфазное тестирование (дизайн кейсов → генерация кода → отчёт выполнения)
|
|
212
|
+
6. **Archive**: Архивировать итерацию
|
|
213
|
+
|
|
214
|
+
> Результаты каждой фазы требуют человеческого подтверждения перед переходом к следующей фазе.
|
|
215
|
+
|
|
216
|
+
### 4. Другие команды CLI
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
speccrew list # Список установленных агентов и навыков
|
|
220
|
+
speccrew doctor # Диагностика среды и статуса установки
|
|
221
|
+
speccrew update # Обновление агентов и навыков до последней версии
|
|
222
|
+
speccrew uninstall # Удалить SpecCrew (--all также удаляет рабочее пространство)
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
📖 **Подробное руководство**: После установки ознакомьтесь с [Руководством по началу работы](docs/GETTING-STARTED.ru.md) для полного рабочего процесса и руководства по диалогам агентов.
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Структура каталога
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
your-project/
|
|
233
|
+
├── .qoder/ # Каталог конфигурации IDE (пример Qoder)
|
|
234
|
+
│ ├── agents/ # 7 Агентов ролей
|
|
235
|
+
│ │ ├── speccrew-team-leader.md # Лидер команды: Глобальное планирование и управление итерациями
|
|
236
|
+
│ │ ├── speccrew-product-manager.md # Продакт-менеджер: Анализ требований и PRD
|
|
237
|
+
│ │ ├── speccrew-feature-designer.md # Feature Designer: Feature Design + API контракт
|
|
238
|
+
│ │ ├── speccrew-system-designer.md # System Designer: Системный дизайн по платформам
|
|
239
|
+
│ │ ├── speccrew-system-developer.md # System Developer: Параллельная разработка по платформам
|
|
240
|
+
│ │ ├── speccrew-test-manager.md # Test Manager: Координация трёхфазного тестирования
|
|
241
|
+
│ │ └── speccrew-task-worker.md # Task Worker: Параллельное выполнение подзадач
|
|
242
|
+
│ └── skills/ # 38 Навыков (сгруппированных по функциям)
|
|
243
|
+
│ ├── speccrew-pm-*/ # Управление продуктом (анализ требований, оценка)
|
|
244
|
+
│ ├── speccrew-fd-*/ # Feature Design (Feature Design, API контракт)
|
|
245
|
+
│ ├── speccrew-sd-*/ # System Design (frontend/backend/mobile/desktop)
|
|
246
|
+
│ ├── speccrew-dev-*/ # Разработка (frontend/backend/mobile/desktop)
|
|
247
|
+
│ ├── speccrew-test-*/ # Тестирование (дизайн кейсов/генерация кода/отчёт выполнения)
|
|
248
|
+
│ ├── speccrew-knowledge-bizs-*/ # Бизнес-знания (анализ API/анализ UI/классификация модулей и т.д.)
|
|
249
|
+
│ ├── speccrew-knowledge-techs-*/ # Технические знания (генерация tech стека/соглашения/индекс и т.д.)
|
|
250
|
+
│ ├── speccrew-knowledge-graph-*/ # Граф знаний (чтение/запись/запрос)
|
|
251
|
+
│ └── speccrew-*/ # Утилиты (диагностика/временные метки/рабочий процесс и т.д.)
|
|
252
|
+
│
|
|
253
|
+
└── speccrew-workspace/ # Рабочее пространство (генерируется при инициализации)
|
|
254
|
+
├── docs/ # Управленческие документы
|
|
255
|
+
│ ├── configs/ # Конфигурационные файлы (маппинг платформ, маппинг tech стека и т.д.)
|
|
256
|
+
│ ├── rules/ # Конфигурации правил
|
|
257
|
+
│ └── solutions/ # Документы решений
|
|
258
|
+
│
|
|
259
|
+
├── iterations/ # Проекты итераций (генерируются динамически)
|
|
260
|
+
│ └── {номер}-{тип}-{имя}/
|
|
261
|
+
│ ├── 00.docs/ # Исходные требования
|
|
262
|
+
│ ├── 01.product-requirement/ # Требования продукта
|
|
263
|
+
│ ├── 02.feature-design/ # Feature design
|
|
264
|
+
│ ├── 03.system-design/ # System design
|
|
265
|
+
│ ├── 04.development/ # Фаза разработки
|
|
266
|
+
│ ├── 05.system-test/ # Системное тестирование
|
|
267
|
+
│ └── 06.delivery/ # Фаза поставки
|
|
268
|
+
│
|
|
269
|
+
├── iteration-archives/ # Архивы итераций
|
|
270
|
+
│
|
|
271
|
+
└── knowledges/ # База знаний
|
|
272
|
+
├── base/ # База/метаданные
|
|
273
|
+
│ ├── diagnosis-reports/ # Отчёты диагностики
|
|
274
|
+
│ ├── sync-state/ # Состояние синхронизации
|
|
275
|
+
│ └── tech-debts/ # Технический долг
|
|
276
|
+
├── bizs/ # Бизнес-знания
|
|
277
|
+
│ └── {platform-type}/{module-name}/
|
|
278
|
+
└── techs/ # Технические знания
|
|
279
|
+
└── {platform-id}/
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## Основные принципы проектирования
|
|
285
|
+
|
|
286
|
+
1. **Управление спецификациями**: Сначала пишите спецификации, затем позволяйте коду "расти" из них
|
|
287
|
+
2. **Прогрессивное раскрытие**: Агенты начинают с минимальных точек входа, загружая информацию по запросу
|
|
288
|
+
3. **Человеческое подтверждение**: Выход каждой фазы требует человеческого подтверждения для предотвращения отклонений ИИ
|
|
289
|
+
4. **Изоляция контекста**: Большие задачи разделяются на малые, изолированные по контексту подзадачи
|
|
290
|
+
5. **Сотрудничество суб-Агентов**: Сложные задачи автоматически диспетчеризируют суб-Агентов для избежания расширения контекста единственного Агента
|
|
291
|
+
6. **Быстрая итерация**: Каждое требование как независимый проект для быстрой поставки и верификации
|
|
292
|
+
7. **Разделение знаний**: Все конфигурации версионируются с исходным кодом
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Сценарии использования
|
|
297
|
+
|
|
298
|
+
### ✅ Рекомендуется для
|
|
299
|
+
- Средних и крупных проектов, требующих стандартизированных рабочих процессов
|
|
300
|
+
- Командной разработки программного обеспечения
|
|
301
|
+
- Инженерной трансформации наследованных проектов
|
|
302
|
+
- Продуктов, требующих долгосрочной поддержки
|
|
303
|
+
|
|
304
|
+
### ❌ Не подходит для
|
|
305
|
+
- Персональной быстрой валидации прототипов
|
|
306
|
+
- Исследовательских проектов с очень неопределёнными требованиями
|
|
307
|
+
- Одноразовых скриптов или инструментов
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## Дополнительная информация
|
|
312
|
+
|
|
313
|
+
- **Карта знаний Агентов**: [speccrew-workspace/docs/agent-knowledge-map.md](./speccrew-workspace/docs/agent-knowledge-map.md)
|
|
314
|
+
- **npm**: https://www.npmjs.com/package/speccrew
|
|
315
|
+
- **GitHub**: https://github.com/charlesmu99/speccrew
|
|
316
|
+
- **Gitee**: https://gitee.com/amutek/speccrew
|
|
317
|
+
- **Qoder IDE**: https://qoder.com/
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
> **SpecCrew не заменяет разработчиков, а автоматизирует скучные части, чтобы команды могли сосредоточиться на более ценной работе.**
|
package/README.th.md
ADDED
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
# SpecCrew - เฟรมเวิร์กวิศวกรรมซอฟต์แวร์ที่ขับเคลื่อนด้วย AI
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="./README.md">简体中文</a> |
|
|
5
|
+
<a href="./README.zh-TW.md">繁體中文</a> |
|
|
6
|
+
<a href="./README.en.md">English</a> |
|
|
7
|
+
<a href="./README.ko.md">한국어</a> |
|
|
8
|
+
<a href="./README.de.md">Deutsch</a> |
|
|
9
|
+
<a href="./README.es.md">Español</a> |
|
|
10
|
+
<a href="./README.fr.md">Français</a> |
|
|
11
|
+
<a href="./README.it.md">Italiano</a> |
|
|
12
|
+
<a href="./README.da.md">Dansk</a> |
|
|
13
|
+
<a href="./README.ja.md">日本語</a> |
|
|
14
|
+
<a href="./README.pl.md">Polski</a> |
|
|
15
|
+
<a href="./README.ru.md">Русский</a> |
|
|
16
|
+
<a href="./README.bs.md">Bosanski</a> |
|
|
17
|
+
<a href="./README.ar.md">العربية</a> |
|
|
18
|
+
<a href="./README.no.md">Norsk</a> |
|
|
19
|
+
<a href="./README.pt-BR.md">Português (Brasil)</a> |
|
|
20
|
+
<a href="./README.th.md">ไทย</a> |
|
|
21
|
+
<a href="./README.tr.md">Türkçe</a> |
|
|
22
|
+
<a href="./README.uk.md">Українська</a> |
|
|
23
|
+
<a href="./README.bn.md">বাংলা</a> |
|
|
24
|
+
<a href="./README.el.md">Ελληνικά</a> |
|
|
25
|
+
<a href="./README.vi.md">Tiếng Việt</a>
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
<p align="center">
|
|
29
|
+
<a href="https://www.npmjs.com/package/speccrew"><img src="https://img.shields.io/npm/v/speccrew.svg" alt="npm version"></a>
|
|
30
|
+
<a href="https://www.npmjs.com/package/speccrew"><img src="https://img.shields.io/npm/dm/speccrew.svg" alt="npm downloads"></a>
|
|
31
|
+
<a href="https://github.com/charlesmu99/speccrew/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/speccrew.svg" alt="license"></a>
|
|
32
|
+
</p>
|
|
33
|
+
|
|
34
|
+
> ทีมพัฒนา AI เสมือนที่ช่วยให้การใช้งานวิศวกรรมอย่างรวดเร็วสำหรับโปรเจกต์ซอฟต์แวร์ใดๆ
|
|
35
|
+
|
|
36
|
+
## SpecCrew คืออะไร?
|
|
37
|
+
|
|
38
|
+
SpecCrew เป็นเฟรมเวิร์กทีมพัฒนา AI เสมือนแบบฝังตัว มันแปลงเวิร์กโฟลว์วิศวกรรมซอฟต์แวร์มืออาชีพ (PRD → Feature Design → System Design → Dev → Test) เป็นเวิร์กโฟลว์ Agent ที่นำกลับมาใช้ใหม่ได้ ช่วยให้ทีมพัฒนาบรรลุ Specification-Driven Development (SDD) โดยเฉพาะเหมาะสำหรับโปรเจกต์ที่มีอยู่แล้ว
|
|
39
|
+
|
|
40
|
+
โดยการรวม Agent และ Skill เข้ากับโปรเจกต์ที่มีอยู่ ทีมสามารถเริ่มต้นระบบเอกสารโปรเจกต์และทีมซอฟต์แวร์เสมือนได้อย่างรวดเร็ว ดำเนินการเพิ่มและแก้ไขคุณสมบัติใหม่ตามเวิร์กโฟลว์วิศวกรรมมาตรฐาน
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## แก้ปัญหาหลัก 8 ประการ
|
|
45
|
+
|
|
46
|
+
### 1. AI เพิกเฉยต่อเอกสารโปรเจกต์ที่มีอยู่ (ช่องว่างความรู้)
|
|
47
|
+
**ปัญหา**: เมธอด SDD หรือ Vibe Coding ที่มีอยู่พึ่งพา AI สรุปโปรเจกต์แบบเรียลไทม์ ซึ่งมักพลาดบริบทสำคัญ ทำให้ผลลัพธ์การพัฒนาเบี่ยงเบนจากความคาดหวัง
|
|
48
|
+
|
|
49
|
+
**แนวทางแก้ไข**: รีโพสิทอรี `knowledge/` ทำหน้าที่เป็น "แหล่งความจริงเดียว" ของโปรเจกต์ สะสมการออกแบบสถาปัตยกรรม โมดูลฟังก์ชัน และกระบวนการทางธุรกิจ เพื่อให้มั่นใจว่าความต้องการยังคงอยู่ในแนวทางจากแหล่งที่มา
|
|
50
|
+
|
|
51
|
+
### 2. เอกสารทางเทคนิคโดยตรงจาก PRD (การละเว้นเนื้อหา)
|
|
52
|
+
**ปัญหา**: การข้ามจาก PRD ไปยังการออกแบบโดยละเอียดโดยตรงมักพลาดรายละเอียดความต้องการ ทำให้ฟังก์ชันที่ใช้งานเบี่ยงเบนจากความต้องการ
|
|
53
|
+
|
|
54
|
+
**แนวทางแก้ไข**: แนะนำเฟส **เอกสาร Feature Design** โดยเน้นเฉพาะโครงสร้างความต้องการโดยไม่มีรายละเอียดทางเทคนิค:
|
|
55
|
+
- มีหน้าและคอมโพเนนต์ใดบ้าง?
|
|
56
|
+
- โฟลว์การดำเนินการของหน้า
|
|
57
|
+
- ตรรกะการประมวลผลแบ็กเอนด์
|
|
58
|
+
- โครงสร้างการจัดเก็บข้อมูล
|
|
59
|
+
|
|
60
|
+
การพัฒนาเพียงแค่ต้อง "เติมเนื้อ" ตามเทคสแต็กเฉพาะ ทำให้มั่นใจว่าฟังก์ชันเติบโต "ใกล้กระดูก (ความต้องการ)"
|
|
61
|
+
|
|
62
|
+
### 3. ขอบเขตการค้นหา Agent ไม่แน่นอน (ความไม่แน่นอน)
|
|
63
|
+
**ปัญหา**: ในโปรเจกต์ที่ซับซ้อน การค้นหาโค้ดและเอกสารอย่างกว้างขวางโดย AI ให้ผลลัพธ์ที่ไม่แน่นอน ทำให้ความสอดคล้องรับประกันได้ยาก
|
|
64
|
+
|
|
65
|
+
**แนวทางแก้ไข**: โครงสร้างไดเรกทอรีเอกสารและเทมเพลตที่ชัดเจน ออกแบบตามความต้องการของแต่ละ Agent ใช้ **การเปิดเผยแบบก้าวหน้าและการโหลดตามความต้องการ** เพื่อรับประกันดีเทอร์มินิซึม
|
|
66
|
+
|
|
67
|
+
### 4. ขาดขั้นตอนและงาน (การขาดตอนของกระบวนการ)
|
|
68
|
+
**ปัญหา**: การขาดความครอบคลุมกระบวนการวิศวกรรมอย่างสมบูรณ์มักพลาดขั้นตอนสำคัญ ทำให้คุณภาพรับประกันได้ยาก
|
|
69
|
+
|
|
70
|
+
**แนวทางแก้ไข**: ครอบคลุมวงจรชีวิตวิศวกรรมซอฟต์แวร์ทั้งหมด:
|
|
71
|
+
```
|
|
72
|
+
PRD (ความต้องการ) → Feature Design (การออกแบบฟังก์ชัน) → API Contract (สัญญา)
|
|
73
|
+
→ System Design (การออกแบบระบบ) → Dev (การพัฒนา) → Test (การทดสอบ)
|
|
74
|
+
```
|
|
75
|
+
- เอาต์พุตของแต่ละเฟสเป็นอินพุตของเฟสถัดไป
|
|
76
|
+
- แต่ละขั้นตอนต้องการการยืนยันจากมนุษย์ก่อนดำเนินการต่อ
|
|
77
|
+
- การดำเนินการ Agent ทั้งหมดมีรายการ todo พร้อมการตรวจสอบตัวเองหลังเสร็จสิ้น
|
|
78
|
+
|
|
79
|
+
### 5. ประสิทธิภาพการทำงานร่วมกันของทีมต่ำ (ไซโลความรู้)
|
|
80
|
+
**ปัญหา**: ประสบการณ์การเขียนโปรแกรม AI แบ่งปันระหว่างทีมได้ยาก นำไปสู่ข้อผิดพลาดซ้ำๆ
|
|
81
|
+
|
|
82
|
+
**แนวทางแก้ไข**: Agent, Skill และเอกสารที่เกี่ยวข้องทั้งหมดถูกควบคุมเวอร์ชันด้วยโค้ดต้นฉบับ:
|
|
83
|
+
- การเพิ่มประสิทธิภาพของคนหนึ่งแบ่งปันโดยทีม
|
|
84
|
+
- ความรู้สะสมในฐานโค้ด
|
|
85
|
+
- ประสิทธิภาพการทำงานร่วมกันของทีมเพิ่มขึ้น
|
|
86
|
+
|
|
87
|
+
### 7. บริบท Agent เดี่ยวยาวเกินไป (คอขวดประสิทธิภาพ)
|
|
88
|
+
**ปัญหา**: งานซับซ้อนขนาดใหญ่เกินหน้าต่างบริบท Agent เดี่ยว ทำให้เกิดการเบี่ยงเบนความเข้าใจและลดคุณภาพเอาต์พุต
|
|
89
|
+
|
|
90
|
+
**แนวทางแก้ไข**: **กลไก Auto-Dispatch Sub-Agent**:
|
|
91
|
+
- งานซับซ้อนถูกระบุโดยอัตโนมัติและแบ่งเป็นงานย่อย
|
|
92
|
+
- แต่ละงานย่อยดำเนินการโดย Sub-Agent อิสระพร้อมบริบทแยก
|
|
93
|
+
- Parent Agent ประสานและรวบรวมเพื่อรับประกันความสอดคล้องโดยรวม
|
|
94
|
+
- หลีกเลี่ยงการขยายบริบท Agent เดี่ยว รับประกันคุณภาพเอาต์พุต
|
|
95
|
+
|
|
96
|
+
### 8. ความโกลาหลในการวนซ้ำความต้องการ (ความยากลำบากในการจัดการ)
|
|
97
|
+
**ปัญหา**: ความต้องการหลายอย่างผสมในสาขาเดียวกันมีผลกระทบต่อกัน ทำให้ติดตามและย้อนกลับยาก
|
|
98
|
+
|
|
99
|
+
**แนวทางแก้ไข**: **แต่ละความต้องการเป็นโปรเจกต์อิสระ**:
|
|
100
|
+
- แต่ละความต้องการสร้างไดเรกทอรีวนซ้ำอิสระ `iterations/iXXX-[ชื่อความต้องการ]/`
|
|
101
|
+
- การแยกโดยสมบูรณ์: เอกสาร, การออกแบบ, โค้ด และการทดสอบจัดการอย่างอิสระ
|
|
102
|
+
- การวนซ้ำอย่างรวดเร็ว: การส่งมอบแบบละเอียดเล็กน้อง, การตรวจสอบอย่างรวดเร็ว, การปรับใช้อย่างรวดเร็ว
|
|
103
|
+
- การเก็บถาวรที่ยืดหยุ่น: หลังเสร็จสิ้น เก็บถาวรใน `archive/` พร้อมการติดตามประวัติที่ชัดเจน
|
|
104
|
+
|
|
105
|
+
### 6. การอัปเดตเอกสารล่าช้า (การเสื่อมสภาพของความรู้)
|
|
106
|
+
**ปัญหา**: เอกสารล้าสมัยเมื่อโปรเจกต์พัฒนา ทำให้ AI ทำงานด้วยข้อมูลที่ไม่ถูกต้อง
|
|
107
|
+
|
|
108
|
+
**แนวทางแก้ไข**: Agent มีความสามารถอัปเดตเอกสารอัตโนมัติ ซิงโครไนซ์การเปลี่ยนแปลงโปรเจกต์แบบเรียลไทม์เพื่อรักษาความถูกต้องของฐานความรู้
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## เวิร์กโฟลว์หลัก
|
|
113
|
+
|
|
114
|
+
```mermaid
|
|
115
|
+
graph LR
|
|
116
|
+
A[PRD<br/>เอกสารความต้องการ] --> B[Feature Design<br/>การออกแบบฟังก์ชัน]
|
|
117
|
+
B --> C[API Contract<br/>สัญญาอินเทอร์เฟซ]
|
|
118
|
+
C --> D[System Design<br/>การออกแบบระบบ]
|
|
119
|
+
D --> E[Dev<br/>การใช้งาน]
|
|
120
|
+
E --> F[System Test<br/>การทดสอบ]
|
|
121
|
+
F --> G[Archive<br/>การเก็บถาวร]
|
|
122
|
+
|
|
123
|
+
H[Knowledge<br/>รีโพสิทอรี] -.-> A
|
|
124
|
+
H -.-> B
|
|
125
|
+
H -.-> D
|
|
126
|
+
H -.-> E
|
|
127
|
+
|
|
128
|
+
E -.-> H
|
|
129
|
+
F -.-> H
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### คำอธิบายแต่ละเฟส
|
|
133
|
+
|
|
134
|
+
| เฟส | Agent | อินพุต | เอาต์พุต | การยืนยันจากมนุษย์ |
|
|
135
|
+
|------|-------|--------|---------|-------------------|
|
|
136
|
+
| PRD | PM | ความต้องการผู้ใช้ | เอกสารความต้องการผลิตภัณฑ์ | ✅ จำเป็น |
|
|
137
|
+
| Feature Design | Feature Designer | PRD | เอกสาร Feature Design + สัญญา API | ✅ จำเป็น |
|
|
138
|
+
| System Design | System Designer | Feature Spec | เอกสารการออกแบบ Frontend/Backend | ✅ จำเป็น |
|
|
139
|
+
| Dev | Dev | Design | โค้ด + บันทึกงาน | ✅ จำเป็น |
|
|
140
|
+
| System Test | Test Manager | เอาต์พุต Dev + Feature Spec | เคสทดสอบ + โค้ดทดสอบ + รายงานการทดสอบ + รายงาน Bug | ✅ จำเป็น |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## การเปรียบเทียบกับโซลูชันที่มีอยู่
|
|
145
|
+
|
|
146
|
+
| มิติ | Vibe Coding | Ralph Loop | **SpecCrew** |
|
|
147
|
+
|------|-------------|------------|-------------|
|
|
148
|
+
| การพึ่งพาเอกสาร | เพิกเฉยเอกสารที่มีอยู่ | พึ่งพา AGENTS.md | **ฐานความรู้แบบโครงสร้าง** |
|
|
149
|
+
| การถ่ายโอนความต้องการ | เขียนโค้ดโดยตรง | PRD → โค้ด | **PRD → Feature Design → System Design → โค้ด** |
|
|
150
|
+
| การมีส่วนร่วมของมนุษย์ | น้อยที่สุด | ตอนเริ่มต้น | **ในทุกเฟส** |
|
|
151
|
+
| ความสมบูรณ์ของกระบวนการ | อ่อนแอ | ปานกลาง | **เวิร์กโฟลว์วิศวกรรมที่สมบูรณ์** |
|
|
152
|
+
| การทำงานร่วมกันของทีม | แชร์ยาก | ประสิทธิภาพส่วนบุคคล | **การแชร์ความรู้ของทีม** |
|
|
153
|
+
| การจัดการบริบท | อินสแตนซ์เดียว | ลูปอินสแตนซ์เดียว | **Auto-dispatch Sub-Agent** |
|
|
154
|
+
| การจัดการวนซ้ำ | ผสม | รายการงาน | **ความต้องการเป็นโปรเจกต์, วนซ้ำอิสระ** |
|
|
155
|
+
| ดีเทอร์มินิซึม | ต่ำ | ปานกลาง | **สูง (การเปิดเผยแบบก้าวหน้า)** |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## เริ่มต้นอย่างรวดเร็ว
|
|
160
|
+
|
|
161
|
+
### ข้อกำหนดเบื้องต้น
|
|
162
|
+
|
|
163
|
+
- Node.js >= 16.0.0
|
|
164
|
+
- IDE ที่รองรับ: Qoder (ค่าเริ่มต้น), Cursor, Claude Code
|
|
165
|
+
|
|
166
|
+
> **หมายเหตุ**: อะแดปเตอร์สำหรับ Cursor และ Claude Code ยังไม่ได้ทดสอบในสภาพแวดล้อม IDE จริง (ใช้งานในระดับโค้ดและตรวจสอบผ่านการทดสอบ E2E แต่ยังไม่ได้ทดสอบใน Cursor/Claude Code จริง)
|
|
167
|
+
|
|
168
|
+
### 1. ติดตั้ง SpecCrew
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
npm install -g speccrew
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### 2. เริ่มต้นโปรเจกต์
|
|
175
|
+
|
|
176
|
+
ไปที่ไดเรกทอรีรากของโปรเจกต์และรันคำสั่งเริ่มต้น:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
cd /path/to/your-project
|
|
180
|
+
|
|
181
|
+
# ใช้ Qoder เป็นค่าเริ่มต้น
|
|
182
|
+
speccrew init
|
|
183
|
+
|
|
184
|
+
# หรือระบุ IDE
|
|
185
|
+
speccrew init --ide qoder
|
|
186
|
+
speccrew init --ide cursor
|
|
187
|
+
speccrew init --ide claude
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
หลังจากการเริ่มต้น สิ่งต่อไปนี้จะถูกสร้างในโปรเจกต์ของคุณ:
|
|
191
|
+
- `.qoder/agents/` / `.cursor/agents/` / `.claude/agents/` — นิยามบทบาท Agent 7 ตัว
|
|
192
|
+
- `.qoder/skills/` / `.cursor/skills/` / `.claude/skills/` — เวิร์กโฟลว์ Skill 38 ตัว
|
|
193
|
+
- `speccrew-workspace/` — พื้นที่ทำงาน (ไดเรกทอรีวนซ้ำ, ฐานความรู้, เทมเพลตเอกสาร)
|
|
194
|
+
- `.speccrewrc` — ไฟล์การกำหนดค่า SpecCrew
|
|
195
|
+
|
|
196
|
+
เพื่ออัปเดต Agent และ Skill สำหรับ IDE เฉพาะภายหลัง:
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
speccrew update --ide cursor
|
|
200
|
+
speccrew update --ide claude
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### 3. เริ่มเวิร์กโฟลว์การพัฒนา
|
|
204
|
+
|
|
205
|
+
ทำตามเวิร์กโฟลว์วิศวกรรมมาตรฐานทีละขั้นตอน:
|
|
206
|
+
|
|
207
|
+
1. **PRD**: Agent Product Manager วิเคราะห์ความต้องการและสร้างเอกสารความต้องการผลิตภัณฑ์
|
|
208
|
+
2. **Feature Design**: Agent Feature Designer สร้างเอกสาร Feature Design + สัญญา API
|
|
209
|
+
3. **System Design**: Agent System Designer สร้างเอกสาร System Design ตามแพลตฟอร์ม (frontend/backend/moble/desktop)
|
|
210
|
+
4. **Dev**: Agent System Developer ใช้งานการพัฒนาตามแพลตฟอร์มแบบขนาน
|
|
211
|
+
5. **System Test**: Agent Test Manager ประสานการทดสอบสามเฟส (การออกแบบเคส → การสร้างโค้ด → รายงานการดำเนินการ)
|
|
212
|
+
6. **Archive**: เก็บถาวรการวนซ้ำ
|
|
213
|
+
|
|
214
|
+
> ผลลัพธ์ของแต่ละเฟสต้องการการยืนยันจากมนุษย์ก่อนดำเนินการต่อไปยังเฟสถัดไป
|
|
215
|
+
|
|
216
|
+
### 4. คำสั่ง CLI อื่นๆ
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
speccrew list # แสดงรายการ agent และ skill ที่ติดตั้ง
|
|
220
|
+
speccrew doctor # วินิจฉัยสภาพแวดล้อมและสถานะการติดตั้ง
|
|
221
|
+
speccrew update # อัปเดต agent และ skill เป็นเวอร์ชันล่าสุด
|
|
222
|
+
speccrew uninstall # ถอนการติดตั้ง SpecCrew (--all ลบพื้นที่ทำงานด้วย)
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
📖 **คู่มือโดยละเอียด**: หลังการติดตั้ง ดู [คู่มือเริ่มต้น](docs/GETTING-STARTED.th.md) สำหรับเวิร์กโฟลว์เต็มรูปแบบและคู่มือการสนทนา Agent
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## ข้อมูลเพิ่มเติม
|
|
230
|
+
|
|
231
|
+
- **แผนที่ความรู้ Agent**: [speccrew-workspace/docs/agent-knowledge-map.md](./speccrew-workspace/docs/agent-knowledge-map.md)
|
|
232
|
+
- **npm**: https://www.npmjs.com/package/speccrew
|
|
233
|
+
- **GitHub**: https://github.com/charlesmu99/speccrew
|
|
234
|
+
- **Gitee**: https://gitee.com/amutek/speccrew
|
|
235
|
+
- **Qoder IDE**: https://qoder.com/
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
> **SpecCrew ไม่ได้มีจุดประสงค์เพื่อแทนที่นักพัฒนา แต่เพื่อทำให้ส่วนที่น่าเบื่อเป็นอัตโนมัติ เพื่อให้ทีมสามารถมุ่งเน้นไปที่งานที่มีคุณค่ามากขึ้น**
|