@soddong/agentic-application-methodology-workbench 0.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +115 -0
  3. package/dist/artifact-standard-document-loader.d.ts +35 -0
  4. package/dist/artifact-standard-document-loader.d.ts.map +1 -0
  5. package/dist/artifact-standard-document-loader.js +363 -0
  6. package/dist/artifact-standard-document-loader.js.map +1 -0
  7. package/dist/authoring-draft-store.d.ts +8 -0
  8. package/dist/authoring-draft-store.d.ts.map +1 -0
  9. package/dist/authoring-draft-store.js +232 -0
  10. package/dist/authoring-draft-store.js.map +1 -0
  11. package/dist/cli.d.ts +3 -0
  12. package/dist/cli.d.ts.map +1 -0
  13. package/dist/cli.js +54 -0
  14. package/dist/cli.js.map +1 -0
  15. package/dist/index.d.ts +17 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +12 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/seed-view-model-loader.d.ts +9 -0
  20. package/dist/seed-view-model-loader.d.ts.map +1 -0
  21. package/dist/seed-view-model-loader.js +359 -0
  22. package/dist/seed-view-model-loader.js.map +1 -0
  23. package/dist/server/workbench-server.d.ts +22 -0
  24. package/dist/server/workbench-server.d.ts.map +1 -0
  25. package/dist/server/workbench-server.js +1553 -0
  26. package/dist/server/workbench-server.js.map +1 -0
  27. package/dist/task-authoring-source.d.ts +9 -0
  28. package/dist/task-authoring-source.d.ts.map +1 -0
  29. package/dist/task-authoring-source.js +163 -0
  30. package/dist/task-authoring-source.js.map +1 -0
  31. package/dist/view-models.d.ts +211 -0
  32. package/dist/view-models.d.ts.map +1 -0
  33. package/dist/view-models.js +2 -0
  34. package/dist/view-models.js.map +1 -0
  35. package/dist/workbench-config.d.ts +37 -0
  36. package/dist/workbench-config.d.ts.map +1 -0
  37. package/dist/workbench-config.js +110 -0
  38. package/dist/workbench-config.js.map +1 -0
  39. package/docs/build.md +14 -0
  40. package/docs/configuration.md +65 -0
  41. package/docs/delivery.md +15 -0
  42. package/docs/operations.md +28 -0
  43. package/docs/publishing.md +19 -0
  44. package/docs/usage.md +113 -0
  45. package/package.json +26 -0
  46. package/schemas/workbench-config.schema.json +112 -0
@@ -0,0 +1,65 @@
1
+ # Configuration
2
+
3
+ ## Project Config
4
+
5
+ 대상 Bundle/Seed project는 다음 config를 제공한다.
6
+
7
+ ```text
8
+ ui/workbench.config.json
9
+ ```
10
+
11
+ 최소 예시는 다음과 같다.
12
+
13
+ ```json
14
+ {
15
+ "schemaVersion": "0.1",
16
+ "workbenchId": "ai-agent-sdlc-build-planning",
17
+ "title": "AI-Agent SDLC Build Planning Workbench",
18
+ "experienceMode": "authoring",
19
+ "methodologyPackageName": "@soddong/agentic-methodology-ai-agent-sdlc",
20
+ "bundleCode": "ai-agent-sdlc-build-planning",
21
+ "seedRoot": "seeds/ai-agent-sdlc-build-planning",
22
+ "uiPlanningRoot": "ui/planning",
23
+ "authoringSources": {
24
+ "scenariosRoot": "methodology-authoring/scenarios",
25
+ "tasksRoot": "methodology-authoring/tasks",
26
+ "stepAssetsRoot": "methodology-authoring/step-assets",
27
+ "artifactSamplesRoot": "methodology-authoring/artifact-samples",
28
+ "draftsRoot": "methodology-authoring/drafts",
29
+ "generatedDocsRoot": "docs/generated/ai-agent-sdlc-build-planning",
30
+ "generatedOutputsRoot": "outputs/methodology-workbench/generated-artifacts"
31
+ }
32
+ }
33
+ ```
34
+
35
+ `experienceMode`는 `authoring` 또는 `execution`을 사용한다. 생략 시 하위 호환을 위해 `authoring`으로 동작하지만, 신규 config에는 명시하는 것을 권고한다.
36
+
37
+ | Mode | 권장 사용 위치 | 의미 |
38
+ | --- | --- | --- |
39
+ | `authoring` | Bundle/Seed project | Authoring과 Tutorial 전환을 허용하고 Step editor detail을 표시할 수 있다. |
40
+ | `execution` | Execution project | Tutorial read-only 경험으로 고정하고 authoring 전환 UI를 표시하지 않는다. |
41
+
42
+ `authoringSources.tasksRoot`가 생략되면 Workbench는 `methodology-authoring/tasks`를 기본 Task/Step authoring source 위치로 사용한다.
43
+
44
+ `authoringSources.draftsRoot`가 생략되면 Workbench는 `methodology-authoring/drafts`를 기본 draft 저장 위치로 사용한다.
45
+
46
+ `authoringSources.generatedDocsRoot`가 생략되면 Workbench는 `docs/generated/{bundleCode}`를 기본 산출물 표준 Markdown projection 위치로 사용한다. 산출물 표준 패널은 이 경로의 `artifact-standards/{artifactStandardCode}/template.document.md`, `sample.document.md`, `format.metadata.md`와 공통 개념 문서를 HTML로 렌더링한다.
47
+
48
+ ## Seed Data Used By UI
49
+
50
+ Landing page와 Phase tab은 별도 UI 전용 데이터를 만들지 않고 Bundle/Seed project의 seed JSON을 기준으로 렌더링한다.
51
+
52
+ | Seed file | UI 사용 |
53
+ | --- | --- |
54
+ | `lifecycle.json` | Landing page의 lifecycle model card |
55
+ | `phases.json` | Landing page의 Phase 요약과 Workbench shell Phase tab |
56
+ | `processes.json` | Phase와 Stage를 연결하는 Process mapping |
57
+ | `stages.json`, `activities.json`, `tasks.json`, `steps.json` | 선택된 Phase의 tree |
58
+
59
+ ## CLI Options
60
+
61
+ | Option | 기본값 | 설명 |
62
+ | --- | --- | --- |
63
+ | `--project` | 현재 작업 디렉터리 | Workbench 대상 Bundle/Seed project root |
64
+ | `--host` | `127.0.0.1` | local server bind host |
65
+ | `--port` | `4783` | local server port |
@@ -0,0 +1,15 @@
1
+ # Delivery
2
+
3
+ Delivery 단위는 reusable application package다.
4
+
5
+ Bundle/Seed project에는 Workbench package 자체를 복사하지 않고, config와 authoring source만 둔다.
6
+
7
+ ## Delivery Checklist
8
+
9
+ | 항목 | 기준 |
10
+ | --- | --- |
11
+ | package build | `npm run build -w @soddong/agentic-application-methodology-workbench` 성공 |
12
+ | typecheck | `npm run typecheck -w @soddong/agentic-application-methodology-workbench` 성공 |
13
+ | seed project smoke | 실제 Bundle/Seed project root를 대상으로 `npm run smoke` 성공 |
14
+ | mode contract | Bundle/Seed는 `authoring`, Execution project는 `execution` read-only 기준을 따른다. |
15
+ | responsibility boundary | package에는 reusable UI/server/config contract만 포함하고 방법론별 seed/source는 Bundle/Seed project에 둔다. |
@@ -0,0 +1,28 @@
1
+ # Operations
2
+
3
+ ## Start
4
+
5
+ ```bash
6
+ npx --no-install agentic-methodology-workbench --project <seed-project-root>
7
+ ```
8
+
9
+ `<seed-project-root>`는 `ui/workbench.config.json`을 가진 Bundle/Seed project root여야 한다. Platform repository root에서 실행하면 Workbench package fallback config가 적용되어 실제 방법론 tree가 비어 보일 수 있다.
10
+
11
+ ## Health Check
12
+
13
+ ```bash
14
+ curl -sS http://127.0.0.1:4783/api/health
15
+ ```
16
+
17
+ ## UI Flow
18
+
19
+ 브라우저에서 Workbench를 열면 먼저 lifecycle model landing page가 표시된다. lifecycle model을 선택하면 Workbench shell로 진입하고, 좌측 tree 패널 상단의 Phase tab으로 Phase를 전환한다.
20
+
21
+ ## Smoke Check
22
+
23
+ ```bash
24
+ npm run build -w @soddong/agentic-application-methodology-workbench
25
+ npm run smoke -w @soddong/agentic-application-methodology-workbench -- --project <seed-project-root>
26
+ ```
27
+
28
+ 성공 시 `counts.stages`, `counts.activities`, `counts.tasks`, `counts.steps`가 0보다 큰 JSON 결과를 출력한다.
@@ -0,0 +1,19 @@
1
+ # Publishing
2
+
3
+ 초기에는 Platform workspace package로 검증한다.
4
+
5
+ publish 후보가 되기 전 다음을 확인한다.
6
+
7
+ ```text
8
+ - build/typecheck
9
+ - CLI server boot
10
+ - seed project smoke test
11
+ - config schema 정합성
12
+ - Authoring/Tutorial mode contract 정합성
13
+ - Landing page와 Phase tab navigation 정합성
14
+ - AI-Agent SDLC seed project config 로딩
15
+ - 브라우저 시각 검수
16
+ - npm pack dry-run 포함 파일
17
+ ```
18
+
19
+ 공식 registry publish 전에는 smoke test의 `--project`가 Platform root가 아니라 실제 Bundle/Seed project root를 가리키는지 확인한다.
package/docs/usage.md ADDED
@@ -0,0 +1,113 @@
1
+ # Usage
2
+
3
+ ## Start Workbench For A Seed Project
4
+
5
+ ```bash
6
+ npx --no-install agentic-methodology-workbench \
7
+ --project /Users/a07468/Downloads/IMPORTANT/agentic-methodology-ai-agent-sdlc
8
+ ```
9
+
10
+ Workbench package는 Platform repository가 제공하지만, 실제 화면 데이터는 Bundle/Seed project의 `ui/workbench.config.json`과 `seedRoot` 아래 seed JSON을 기준으로 로딩한다. Platform root에서 실행하면 package fallback config만 사용되므로 실제 AI-Agent SDLC tree와 산출물 표준이 표시되지 않는다.
11
+
12
+ ## Mode Policy
13
+
14
+ Authoring과 Tutorial은 별도 UI 기반이 아니라 하나의 Workbench shell에서 전환되는 모드다.
15
+
16
+ | Mode | 목적 | Step 선택 시 동작 |
17
+ | --- | --- | --- |
18
+ | `Authoring` | Bundle/Seed 작성자가 Task/Step 정의와 실행 지시문을 보완한다. | 선택된 Step row 아래에 editor detail을 접고 펼칠 수 있게 표시한다. |
19
+ | `Tutorial` | Execution 또는 조회 사용자가 방법론 구조와 산출물 표준을 read-only로 확인한다. | 동일한 tree row를 read-only로 표시하고 editor detail은 표시하지 않는다. |
20
+
21
+ ## Landing And Phase Navigation
22
+
23
+ 초기 화면은 Bundle/Seed project의 lifecycle seed를 읽어 방법론 라이프사이클 모델 개요를 표시한다. lifecycle model을 선택하면 현재 Workbench shell로 진입한다.
24
+
25
+ Workbench shell의 좌측 tree 패널은 Phase tab을 상단에 표시한다. tab을 선택하면 해당 Phase의 Stage, Activity, Task, Step tree와 산출물 표준 패널을 갱신한다.
26
+
27
+ ## Endpoints
28
+
29
+ | Endpoint | 목적 |
30
+ | --- | --- |
31
+ | `/api/health` | Workbench server 상태 확인 |
32
+ | `/api/workbench/config` | 대상 project config 확인 |
33
+ | `/api/workbench/overview` | UI shell overview ViewModel 확인 |
34
+ | `/api/workbench/lifecycle` | Lifecycle, Phase, Process, seed count 조회 |
35
+ | `/api/workbench/phases` | 기본 Phase의 Process, Stage, Activity 구조 조회 |
36
+ | `/api/workbench/phases/:phaseCode` | 지정 Phase의 Process, Stage, Activity 구조 조회 |
37
+ | `/api/workbench/activities` | 대표 Activity의 Task/Step/Artifact 구조 조회 |
38
+ | `/api/workbench/activities/:activityCode/authoring` | Activity별 Task/Step 구조와 authoring draft 조회 |
39
+ | `/api/workbench/artifacts` | 대표 Artifact Standard 구조 조회 |
40
+ | `/api/workbench/governance` | Criteria, Handoff, generated output link 조회 |
41
+
42
+ Workbench의 표준 계층과 한글 표기는 다음을 따른다.
43
+
44
+ ```text
45
+ Lifecycle 생애주기
46
+ -> Phase 페이즈
47
+ -> Process 프로세스
48
+ -> Stage 단계
49
+ -> Activity 활동
50
+ -> Task 작업
51
+ -> Step 절차
52
+ ```
53
+
54
+ ## Authoring Draft
55
+
56
+ Workbench는 원본 seed JSON을 직접 수정하지 않는다. UI에서 Step을 선택하고 title, execution mode, instruction, script path를 수정하면 다음 API로 draft를 저장한다.
57
+
58
+ | Endpoint | Method | 목적 |
59
+ | --- | --- | --- |
60
+ | `/api/workbench/authoring/steps/:stepCode/draft` | `PUT` | Step authoring draft 저장 및 검증 |
61
+ | `/api/workbench/authoring/steps/:stepCode/apply-plan` | `GET` | Step draft의 seed 반영 변경 필드 preview |
62
+ | `/api/workbench/authoring/steps/:stepCode/apply` | `POST` | 검증된 Step draft를 seed `steps.json`에 반영 |
63
+ | `/api/workbench/authoring/tasks/:taskCode/draft` | `PUT` | Task authoring draft 저장 및 검증 |
64
+
65
+ 기본 저장 위치는 다음과 같다.
66
+
67
+ ```text
68
+ methodology-authoring/drafts
69
+ ```
70
+
71
+ Step draft apply는 다음 seed 필드만 변경한다.
72
+
73
+ | Draft field | Seed field |
74
+ | --- | --- |
75
+ | `title` | `stepTitle` |
76
+ | `executionModeCode` | `executionModeCode` |
77
+ | `instruction` | `stepInstruction` |
78
+
79
+ ## Task Step Authoring Source
80
+
81
+ Task의 Step을 정의할 때는 seed `steps.json`을 직접 편집하지 않고 Task별 authoring source를 먼저 생성한다.
82
+
83
+ ```bash
84
+ npx --no-install agentic-methodology-workbench scaffold-task-source \
85
+ --project /Users/a07468/Downloads/IMPORTANT/agentic-methodology-ai-agent-sdlc \
86
+ --task define_component_function_function_candidate_identification
87
+ ```
88
+
89
+ 생성 구조는 다음과 같다.
90
+
91
+ ```text
92
+ methodology-authoring/tasks/{taskCode}/
93
+ task.md
94
+ steps/{stepCode}/
95
+ step.md
96
+ instruction.md
97
+ script.md
98
+ validation.md
99
+ samples/.gitkeep
100
+ ```
101
+
102
+ `task.md`와 `step.md`는 authoring 정의 원천이고, `instruction.md`, `script.md`, `validation.md`는 실행 모드와 검증 기준을 구체화한다. 검증된 내용만 Workbench draft/apply workflow를 통해 seed JSON으로 반영한다.
103
+
104
+ ## Smoke Test
105
+
106
+ 개발 중에는 실제 Bundle/Seed project를 대상으로 최소 smoke test를 수행한다.
107
+
108
+ ```bash
109
+ npm run build -w @soddong/agentic-application-methodology-workbench
110
+ npm run smoke -w @soddong/agentic-application-methodology-workbench -- --project /Users/a07468/Downloads/IMPORTANT/agentic-methodology-ai-agent-sdlc
111
+ ```
112
+
113
+ 이 smoke test는 브라우저 screenshot 검증이 아니라 API/ViewModel, HTML shell, CSS/JS 계약을 확인한다. 실제 시각 품질은 별도 화면 검수로 확인한다.
package/package.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "@soddong/agentic-application-methodology-workbench",
3
+ "version": "0.1.0",
4
+ "description": "Reusable methodology authoring workbench for Agentic Platform seed bundle projects",
5
+ "license": "UNLICENSED",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "bin": {
10
+ "agentic-methodology-workbench": "dist/cli.js"
11
+ },
12
+ "files": [
13
+ "dist",
14
+ "README.md",
15
+ "CHANGELOG.md",
16
+ "docs",
17
+ "schemas"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc -p tsconfig.json",
21
+ "clean": "rm -rf dist tsconfig.tsbuildinfo",
22
+ "dev": "npm run build && node dist/cli.js",
23
+ "smoke": "node scripts/smoke-workbench.mjs",
24
+ "typecheck": "tsc -p tsconfig.json --noEmit"
25
+ }
26
+ }
@@ -0,0 +1,112 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://soddong.github.io/agentic-platform/schemas/workbench-config.schema.json",
4
+ "title": "Methodology Workbench Config",
5
+ "type": "object",
6
+ "required": [
7
+ "schemaVersion",
8
+ "workbenchId",
9
+ "title",
10
+ "methodologyPackageName",
11
+ "bundleCode",
12
+ "seedRoot"
13
+ ],
14
+ "properties": {
15
+ "schemaVersion": {
16
+ "const": "0.1"
17
+ },
18
+ "workbenchId": {
19
+ "type": "string",
20
+ "minLength": 1
21
+ },
22
+ "title": {
23
+ "type": "string",
24
+ "minLength": 1
25
+ },
26
+ "experienceMode": {
27
+ "type": "string",
28
+ "enum": [
29
+ "authoring",
30
+ "execution"
31
+ ],
32
+ "default": "authoring"
33
+ },
34
+ "methodologyPackageName": {
35
+ "type": "string",
36
+ "minLength": 1
37
+ },
38
+ "bundleCode": {
39
+ "type": "string",
40
+ "minLength": 1
41
+ },
42
+ "seedRoot": {
43
+ "type": "string",
44
+ "minLength": 1
45
+ },
46
+ "uiPlanningRoot": {
47
+ "type": "string"
48
+ },
49
+ "defaultRoute": {
50
+ "type": "string"
51
+ },
52
+ "routes": {
53
+ "type": "array",
54
+ "items": {
55
+ "type": "object",
56
+ "required": [
57
+ "routeId",
58
+ "label",
59
+ "path",
60
+ "viewModel"
61
+ ],
62
+ "properties": {
63
+ "routeId": {
64
+ "type": "string",
65
+ "minLength": 1
66
+ },
67
+ "label": {
68
+ "type": "string",
69
+ "minLength": 1
70
+ },
71
+ "path": {
72
+ "type": "string",
73
+ "minLength": 1
74
+ },
75
+ "viewModel": {
76
+ "type": "string",
77
+ "minLength": 1
78
+ }
79
+ },
80
+ "additionalProperties": false
81
+ }
82
+ },
83
+ "authoringSources": {
84
+ "type": "object",
85
+ "properties": {
86
+ "scenariosRoot": {
87
+ "type": "string"
88
+ },
89
+ "tasksRoot": {
90
+ "type": "string"
91
+ },
92
+ "stepAssetsRoot": {
93
+ "type": "string"
94
+ },
95
+ "artifactSamplesRoot": {
96
+ "type": "string"
97
+ },
98
+ "draftsRoot": {
99
+ "type": "string"
100
+ },
101
+ "generatedDocsRoot": {
102
+ "type": "string"
103
+ },
104
+ "generatedOutputsRoot": {
105
+ "type": "string"
106
+ }
107
+ },
108
+ "additionalProperties": false
109
+ }
110
+ },
111
+ "additionalProperties": false
112
+ }