@handsupmin/gc-tree 0.1.3 → 0.1.4
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.es.md +139 -70
- package/README.ja.md +143 -74
- package/README.ko.md +141 -72
- package/README.md +152 -83
- package/README.zh.md +142 -74
- package/docs/concept.es.md +37 -37
- package/docs/concept.ja.md +43 -43
- package/docs/concept.ko.md +41 -41
- package/docs/concept.md +15 -15
- package/docs/concept.zh.md +37 -37
- package/docs/local-development.es.md +25 -25
- package/docs/local-development.ja.md +22 -22
- package/docs/local-development.ko.md +25 -25
- package/docs/local-development.md +3 -3
- package/docs/local-development.zh.md +23 -23
- package/docs/principles.es.md +27 -26
- package/docs/principles.ja.md +28 -27
- package/docs/principles.ko.md +29 -28
- package/docs/principles.md +4 -4
- package/docs/principles.zh.md +28 -27
- package/docs/usage.es.md +32 -30
- package/docs/usage.ja.md +45 -43
- package/docs/usage.ko.md +41 -39
- package/docs/usage.md +2 -2
- package/docs/usage.zh.md +46 -44
- package/package.json +1 -1
package/docs/concept.ko.md
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 개념
|
|
2
2
|
|
|
3
3
|
[English](concept.md) | [한국어](concept.ko.md) | [简体中文](concept.zh.md) | [日本語](concept.ja.md) | [Español](concept.es.md)
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 요약
|
|
6
6
|
|
|
7
|
-
`gctree`는 AI 코딩 도구를 위한
|
|
7
|
+
`gctree`는 AI 코딩 도구를 위한 가벼운 글로벌 컨텍스트 레이어입니다. 하나의 레포 밖에서 장기 컨텍스트를 명시적인 markdown 문서로 관리하고, gc-branch를 바꿔가며 맥락을 나눠 쓸 수 있게 해주며, 각 gc-branch가 실제로 관련 있는 레포에서만 적용되도록 제한할 수 있습니다.
|
|
8
8
|
|
|
9
|
-
## `gctree
|
|
9
|
+
## `gctree`는 무엇인가
|
|
10
10
|
|
|
11
|
-
`gctree`는 재사용 가능한 글로벌 컨텍스트를
|
|
12
|
-
여러
|
|
11
|
+
`gctree`는 재사용 가능한 글로벌 컨텍스트를 관리하는 CLI입니다.
|
|
12
|
+
여러 레포, 여러 세션, 여러 도구를 오가더라도 장기 컨텍스트가 사라지지 않게 하되, 그 컨텍스트가 숨겨진 메모리처럼 블랙박스에 갇히지 않도록 설계했습니다.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
중요한 지식이 프롬프트 파일, 레포 내부 메모, 임시 지시문으로 흩어지는 대신, `gctree`는 그 지식이 머물 수 있는 안정적인 파일 기반 저장소를 제공합니다.
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## 어떤 문제를 해결하나
|
|
17
17
|
|
|
18
|
-
많은 AI 코딩 환경은
|
|
18
|
+
많은 AI 코딩 환경은 이렇게 작게 시작합니다.
|
|
19
19
|
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
- 프롬프트에 복붙하는
|
|
20
|
+
- `AGENTS.md` 하나
|
|
21
|
+
- `CLAUDE.md` 하나
|
|
22
|
+
- 레포 안의 짧은 프롬프트 파일 하나
|
|
23
|
+
- 필요할 때마다 프롬프트에 복붙하는 메모 몇 개
|
|
24
24
|
|
|
25
|
-
처음에는
|
|
25
|
+
처음에는 잘 돌아갑니다. 하지만 실제 업무가 얹히기 시작하면 금방 틀어집니다.
|
|
26
26
|
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
- 장기
|
|
32
|
-
- 한
|
|
27
|
+
- 제품마다 필요한 컨텍스트가 다르다
|
|
28
|
+
- 고객사 작업은 서로 섞이면 안 된다
|
|
29
|
+
- 재사용 가능한 가이드는 특정 레포 바깥에 있어야 한다
|
|
30
|
+
- 여러 도구가 같은 source of truth를 읽을 수 있어야 한다
|
|
31
|
+
- 장기 컨텍스트는 안전하고 검토 가능한 흐름으로 업데이트되어야 한다
|
|
32
|
+
- 한 사람이 동시에 여러 레포에서 여러 세션을 돌릴 수 있다
|
|
33
33
|
|
|
34
|
-
`gctree`는 바로 그 레이어를
|
|
34
|
+
`gctree`는 바로 그 레이어를 깔끔하게 해결하려고 존재합니다.
|
|
35
35
|
|
|
36
36
|
## 범위 경계
|
|
37
37
|
|
|
38
|
-
`gctree`는 의도적으로
|
|
38
|
+
`gctree`는 의도적으로 다음이 아닙니다.
|
|
39
39
|
|
|
40
|
-
-
|
|
40
|
+
- 요청부터 커밋까지 전 과정을 오케스트레이션하는 배달 시스템
|
|
41
41
|
- 숨겨진 메모리 시스템
|
|
42
42
|
- 브라우저 기반 협업 런타임
|
|
43
|
-
- 범용
|
|
43
|
+
- 범용 지식 베이스 제품
|
|
44
44
|
|
|
45
|
-
`gctree`는 재사용 가능한 글로벌 컨텍스트
|
|
45
|
+
`gctree`는 한 가지 일에 집중합니다. 재사용 가능한 글로벌 컨텍스트 브랜치를 관리하고, 그 변경을 명시적으로 다루는 일입니다.
|
|
46
46
|
|
|
47
|
-
## 파일
|
|
47
|
+
## 파일 모델
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
보통 홈 디렉터리 아래 구조는 이렇게 생깁니다.
|
|
50
50
|
|
|
51
51
|
```text
|
|
52
52
|
~/.gctree/
|
|
@@ -60,22 +60,22 @@
|
|
|
60
60
|
docs/
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
- `HEAD`는
|
|
64
|
-
- `settings.json
|
|
65
|
-
- `branch-repo-map.json
|
|
66
|
-
- `branch.json
|
|
67
|
-
- `index.md`는 도구가
|
|
68
|
-
- `docs
|
|
63
|
+
- `HEAD`는 기본으로 활성화되는 gc-branch를 가리킵니다.
|
|
64
|
+
- `settings.json`에는 provider 모드, 런타임 시작에 사용할 온보딩 provider, 선호 워크플로 언어가 저장됩니다.
|
|
65
|
+
- `branch-repo-map.json`에는 각 gc-branch별로 어떤 레포를 포함하거나 제외할지 저장됩니다.
|
|
66
|
+
- `branch.json`에는 가벼운 gc-branch 메타데이터가 들어갑니다.
|
|
67
|
+
- `index.md`는 도구가 먼저 들어오는 압축된 진입점입니다.
|
|
68
|
+
- `docs/`에는 source-of-truth markdown 문서가 들어갑니다.
|
|
69
69
|
|
|
70
|
-
## 레포
|
|
70
|
+
## 레포 인식 동작
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
예를 들어
|
|
72
|
+
gc-branch는 모든 곳에 적용될 필요가 없습니다.
|
|
73
|
+
예를 들어 `A` 브랜치가 `B`, `C`, `D` 레포에서만 의미가 있다면, `gctree`는 그 사실을 `branch-repo-map.json`에 기록할 수 있습니다.
|
|
74
74
|
|
|
75
|
-
그 상태에서 `F
|
|
75
|
+
그 상태에서 다른 레포인 `F`에서 `gctree resolve`를 실행하면, 다음처럼 처리할 수 있습니다.
|
|
76
76
|
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
77
|
+
- 이번 한 번만 계속하기
|
|
78
|
+
- 앞으로 `F`에서도 그 gc-branch를 항상 사용하기
|
|
79
|
+
- `F`에서는 그 gc-branch를 무시하기
|
|
80
80
|
|
|
81
|
-
이
|
|
81
|
+
이 덕분에 서로 무관한 레포들 사이에서 여러 세션을 동시에 많이 띄워두는 사용자에게도 gc-tree가 훨씬 안전하게 동작합니다.
|
package/docs/concept.md
CHANGED
|
@@ -4,34 +4,34 @@
|
|
|
4
4
|
|
|
5
5
|
## Summary
|
|
6
6
|
|
|
7
|
-
`gctree` is a lightweight global-context layer for AI coding tools. It keeps
|
|
7
|
+
`gctree` is a lightweight global-context layer for AI coding tools. It keeps long-lived context in explicit markdown documents outside any single repository, lets you switch between gc-branches, and can limit each gc-branch to the repositories where it actually belongs.
|
|
8
8
|
|
|
9
9
|
## What `gctree` is
|
|
10
10
|
|
|
11
11
|
`gctree` is a CLI for managing reusable global context.
|
|
12
|
-
It is
|
|
12
|
+
It is built for people and teams who want important context to survive across repositories, sessions, and tools without turning into hidden memory.
|
|
13
13
|
|
|
14
|
-
Instead of scattering
|
|
14
|
+
Instead of scattering key knowledge across prompt files, repo-local notes, and one-off instructions, `gctree` gives that knowledge a stable, file-backed place to live.
|
|
15
15
|
|
|
16
16
|
## What problem it solves
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
A lot of AI coding setups start small:
|
|
19
19
|
|
|
20
20
|
- one `AGENTS.md`
|
|
21
21
|
- one `CLAUDE.md`
|
|
22
22
|
- one repo-local prompt file
|
|
23
|
-
- a
|
|
23
|
+
- a few notes copied into prompts when needed
|
|
24
24
|
|
|
25
|
-
That works for a while. Then
|
|
25
|
+
That works for a while. Then real work shows up and the cracks start to show:
|
|
26
26
|
|
|
27
27
|
- different products need different context
|
|
28
|
-
- client work
|
|
28
|
+
- client work needs clean isolation
|
|
29
29
|
- reusable guidance should live outside any single repository
|
|
30
30
|
- multiple tools should be able to read the same source of truth
|
|
31
|
-
- long-lived context should
|
|
32
|
-
- one
|
|
31
|
+
- long-lived context should change through an explicit, reviewable flow
|
|
32
|
+
- one person may have many sessions open across many repositories at once
|
|
33
33
|
|
|
34
|
-
`gctree` exists to
|
|
34
|
+
`gctree` exists to handle that layer cleanly.
|
|
35
35
|
|
|
36
36
|
## Scope boundary
|
|
37
37
|
|
|
@@ -42,7 +42,7 @@ That works for a while. Then the same setup starts to break under real-world nee
|
|
|
42
42
|
- a browser collaboration runtime
|
|
43
43
|
- a general-purpose knowledge base product
|
|
44
44
|
|
|
45
|
-
It focuses on one job: managing reusable global-context branches and explicit updates.
|
|
45
|
+
It focuses on one job: managing reusable global-context branches and explicit durable updates.
|
|
46
46
|
|
|
47
47
|
## File model
|
|
48
48
|
|
|
@@ -65,12 +65,12 @@ A typical home directory looks like this:
|
|
|
65
65
|
- `branch-repo-map.json` stores which repositories are included or excluded for each gc-branch.
|
|
66
66
|
- `branch.json` stores lightweight gc-branch metadata.
|
|
67
67
|
- `index.md` is the compact entry point for tools.
|
|
68
|
-
- `docs/` holds source-of-truth markdown documents.
|
|
68
|
+
- `docs/` holds the source-of-truth markdown documents.
|
|
69
69
|
|
|
70
70
|
## Repo-aware behavior
|
|
71
71
|
|
|
72
|
-
A gc-branch does not
|
|
73
|
-
If branch `A`
|
|
72
|
+
A gc-branch does not need to apply everywhere.
|
|
73
|
+
If branch `A` only matters to repositories `B`, `C`, and `D`, `gctree` can record that in `branch-repo-map.json`.
|
|
74
74
|
|
|
75
75
|
When `gctree resolve` runs in another repository such as `F`, it can:
|
|
76
76
|
|
|
@@ -78,4 +78,4 @@ When `gctree resolve` runs in another repository such as `F`, it can:
|
|
|
78
78
|
- always use that gc-branch in `F`
|
|
79
79
|
- ignore that gc-branch in `F`
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
That makes gc-tree much safer for heavy users who keep many parallel sessions open across unrelated repositories.
|
package/docs/concept.zh.md
CHANGED
|
@@ -2,51 +2,51 @@
|
|
|
2
2
|
|
|
3
3
|
[English](concept.md) | [한국어](concept.ko.md) | [简体中文](concept.zh.md) | [日本語](concept.ja.md) | [Español](concept.es.md)
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 摘要
|
|
6
6
|
|
|
7
|
-
`gctree`
|
|
7
|
+
`gctree` 是一层面向 AI 编码工具的轻量级全局上下文层。它把长期上下文放在单个仓库之外、以显式 markdown 文档的形式保存,让你可以在不同 gc-branch 之间切换,并且把每条 gc-branch 的影响范围限制在真正相关的仓库里。
|
|
8
8
|
|
|
9
9
|
## `gctree` 是什么
|
|
10
10
|
|
|
11
|
-
`gctree`
|
|
12
|
-
|
|
11
|
+
`gctree` 是一个用来管理可复用全局上下文的 CLI。
|
|
12
|
+
它面向的是这样一种需求:长期上下文需要在多个仓库、多个会话、多个工具之间持续存在,但又不能变成一个看不见、摸不着的“隐式记忆黑盒”。
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
与其把重要知识分散在提示词文件、仓库内笔记和临时指令里,不如让 `gctree` 给这些知识一个稳定、可追踪、由文件承载的家。
|
|
15
15
|
|
|
16
16
|
## 它解决什么问题
|
|
17
17
|
|
|
18
|
-
很多 AI
|
|
18
|
+
很多 AI 编码环境一开始都很简单:
|
|
19
19
|
|
|
20
20
|
- 一个 `AGENTS.md`
|
|
21
21
|
- 一个 `CLAUDE.md`
|
|
22
|
-
-
|
|
23
|
-
-
|
|
22
|
+
- 一个仓库内提示词文件
|
|
23
|
+
- 几段需要时再复制进提示词里的笔记
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
一开始这样完全够用。但一旦进入真实工作场景,这套做法很快就会吃力。
|
|
26
26
|
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
27
|
+
- 不同产品需要不同的上下文
|
|
28
|
+
- 客户项目之间必须隔离
|
|
29
|
+
- 可复用的指导信息应该放在单个仓库之外
|
|
30
|
+
- 多个工具应该能读取同一份 source of truth
|
|
31
|
+
- 长期上下文应该通过安全、可审阅的流程来演进
|
|
32
|
+
- 同一个人可能同时在多个仓库里跑很多个会话
|
|
33
33
|
|
|
34
|
-
`gctree`
|
|
34
|
+
`gctree` 存在的目的,就是把这一层问题单独而清晰地解决掉。
|
|
35
35
|
|
|
36
|
-
##
|
|
36
|
+
## 边界在哪里
|
|
37
37
|
|
|
38
|
-
`gctree`
|
|
38
|
+
`gctree` 有意不去做下面这些事:
|
|
39
39
|
|
|
40
|
-
-
|
|
41
|
-
-
|
|
40
|
+
- 从需求一路编排到 commit 的交付系统
|
|
41
|
+
- 隐藏式记忆系统
|
|
42
42
|
- 浏览器协作运行时
|
|
43
43
|
- 通用知识库产品
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
它只专注一件事:管理可复用的全局上下文分支,以及这些分支上的显式更新。
|
|
46
46
|
|
|
47
|
-
##
|
|
47
|
+
## 文件模型
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
一个典型的主目录结构大致如下:
|
|
50
50
|
|
|
51
51
|
```text
|
|
52
52
|
~/.gctree/
|
|
@@ -60,22 +60,22 @@
|
|
|
60
60
|
docs/
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
- `HEAD`
|
|
64
|
-
- `settings.json` 保存 provider
|
|
65
|
-
- `branch-repo-map.json`
|
|
66
|
-
- `branch.json`
|
|
67
|
-
- `index.md`
|
|
68
|
-
- `docs/`
|
|
63
|
+
- `HEAD` 记录默认激活的 gc-branch。
|
|
64
|
+
- `settings.json` 保存 provider 模式、运行时启动时选用的 onboarding provider,以及偏好的工作流语言。
|
|
65
|
+
- `branch-repo-map.json` 保存每条 gc-branch 对哪些仓库包含或排除。
|
|
66
|
+
- `branch.json` 保存轻量级的 gc-branch 元数据。
|
|
67
|
+
- `index.md` 是工具首先进入的紧凑入口。
|
|
68
|
+
- `docs/` 用来保存 source-of-truth markdown 文档。
|
|
69
69
|
|
|
70
|
-
##
|
|
70
|
+
## 面向仓库的行为
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
如果 branch `A`
|
|
72
|
+
gc-branch 不需要在所有地方都生效。
|
|
73
|
+
如果 branch `A` 只和仓库 `B`、`C`、`D` 有关,`gctree` 就可以把这件事记录到 `branch-repo-map.json` 里。
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
这样一来,当你在另一个仓库 `F` 里执行 `gctree resolve` 时,它可以这样处理:
|
|
76
76
|
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
77
|
+
- 只这一次继续
|
|
78
|
+
- 以后在 `F` 里始终使用这条 gc-branch
|
|
79
|
+
- 在 `F` 里忽略这条 gc-branch
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
对于那些同时在多个互不相关仓库里开很多并行会话的重度用户来说,这会让 gc-tree 安全得多,也更实用。
|
|
@@ -2,76 +2,76 @@
|
|
|
2
2
|
|
|
3
3
|
[English](local-development.md) | [한국어](local-development.ko.md) | [简体中文](local-development.zh.md) | [日本語](local-development.ja.md) | [Español](local-development.es.md)
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Resumen
|
|
6
6
|
|
|
7
|
-
El desarrollo local sigue un flujo estándar de Node.js 20+:
|
|
7
|
+
El desarrollo local sigue un flujo estándar de Node.js 20+: instalar dependencias, compilar la CLI, ejecutarla localmente y verificar los cambios con la suite de tests existente antes de enviarlos.
|
|
8
8
|
|
|
9
9
|
## Requisitos previos
|
|
10
10
|
|
|
11
11
|
- Node.js 20+
|
|
12
12
|
- npm
|
|
13
|
-
- binarios locales de `codex` o `claude` si quieres
|
|
13
|
+
- binarios locales de `codex` y / o `claude` si quieres probar manualmente el arranque de providers
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## Preparación
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
18
|
npm install
|
|
19
19
|
npm run build
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
##
|
|
22
|
+
## Ejecuta la CLI en local
|
|
23
23
|
|
|
24
|
-
### Opción 1: ejecutar directamente la entrada
|
|
24
|
+
### Opción 1: ejecutar directamente la entrada ya compilada
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
27
|
node dist/src/cli.js status
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
### Opción 2: enlazar la CLI
|
|
30
|
+
### Opción 2: enlazar la CLI en tu shell
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
33
|
npm link
|
|
34
34
|
gctree status
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
Si cambias
|
|
37
|
+
Si cambias archivos TypeScript, vuelve a compilar antes de probar otra vez la CLI.
|
|
38
38
|
|
|
39
39
|
## Verificación
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
Ejecuta esto antes de abrir un pull request:
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
44
|
npm run build
|
|
45
45
|
npm test
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
## Tests de
|
|
48
|
+
## Tests de repo scope
|
|
49
49
|
|
|
50
|
-
La suite
|
|
50
|
+
La suite de tests cubre ahora:
|
|
51
51
|
|
|
52
52
|
- persistencia del modo de provider (`claude-code`, `codex`, `both`)
|
|
53
|
-
- persistencia del idioma preferido y
|
|
54
|
-
- selección de gc-branch
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
- límites del flujo guiado de onboarding/update
|
|
53
|
+
- persistencia del idioma preferido y aplicación estricta del idioma en los launch prompts
|
|
54
|
+
- selección de gc-branch con conciencia de repositorio
|
|
55
|
+
- decisiones interactivas de include / exclude durante `resolve`
|
|
56
|
+
- actualizaciones del branch repo map
|
|
57
|
+
- límites del flujo guiado de onboarding / update
|
|
58
58
|
|
|
59
|
-
##
|
|
59
|
+
## Comprobaciones manuales E2E de providers
|
|
60
60
|
|
|
61
|
-
Los tests
|
|
62
|
-
Si quieres
|
|
61
|
+
Los tests automatizados desactivan el lanzamiento de providers para poder verificar los launch plans sin abrir sesiones reales de Codex o Claude Code.
|
|
62
|
+
Si quieres probar la ruta real de lanzamiento, ejecuta uno de estos comandos dentro de un directorio desechable:
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
65
|
gctree init --provider codex
|
|
66
66
|
gctree init --provider claude-code
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
Deberías ver que el provider se abre y recibe inmediatamente `$gc-onboard` o `/gc-onboard`.
|
|
70
70
|
|
|
71
71
|
## Estructura del proyecto
|
|
72
72
|
|
|
73
|
-
- `src/` — CLI, almacenamiento de contexto, selección de provider, mapeo de
|
|
74
|
-
- `tests/` — tests de CLI y comportamiento
|
|
75
|
-
- `skills/` —
|
|
76
|
-
- `scaffolds/` — plantillas
|
|
77
|
-
- `docs/` — documentación de
|
|
73
|
+
- `src/` — CLI, almacenamiento de contexto, selección de provider, mapeo de repo scope, flujos guiados de onboarding / update y lógica de scaffolding
|
|
74
|
+
- `tests/` — tests de CLI y de comportamiento
|
|
75
|
+
- `skills/` — habilidades de flujo de trabajo independientes de la herramienta
|
|
76
|
+
- `scaffolds/` — plantillas de arranque específicas por host
|
|
77
|
+
- `docs/` — documentación de concepto, principios, uso y desarrollo
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ローカル開発
|
|
2
2
|
|
|
3
3
|
[English](local-development.md) | [한국어](local-development.ko.md) | [简体中文](local-development.zh.md) | [日本語](local-development.ja.md) | [Español](local-development.es.md)
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 要約
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
ローカル開発は、一般的な Node.js 20+ の流れに沿っています。依存関係を入れ、CLI をビルドし、ローカルで実行し、変更を送る前に既存のテストスイートで検証します。
|
|
8
8
|
|
|
9
9
|
## 前提条件
|
|
10
10
|
|
|
11
11
|
- Node.js 20+
|
|
12
12
|
- npm
|
|
13
|
-
- provider
|
|
13
|
+
- provider 起動を自分で試したい場合はローカルの `codex` と / または `claude` バイナリ
|
|
14
14
|
|
|
15
15
|
## セットアップ
|
|
16
16
|
|
|
@@ -19,7 +19,7 @@ npm install
|
|
|
19
19
|
npm run build
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
##
|
|
22
|
+
## CLI をローカルで実行する
|
|
23
23
|
|
|
24
24
|
### 方法 1: ビルド済みエントリを直接実行する
|
|
25
25
|
|
|
@@ -34,44 +34,44 @@ npm link
|
|
|
34
34
|
gctree status
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
TypeScript
|
|
37
|
+
TypeScript のソースを変更したら、CLI を再テストする前にもう一度ビルドしてください。
|
|
38
38
|
|
|
39
39
|
## 検証
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
プルリクエストを開く前に、次を実行します。
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
44
|
npm run build
|
|
45
45
|
npm test
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
##
|
|
48
|
+
## repo-scope テスト
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
現在のテストスイートでは、次をカバーしています。
|
|
51
51
|
|
|
52
|
-
- provider
|
|
53
|
-
- 優先言語の保存と launch prompt
|
|
54
|
-
-
|
|
55
|
-
- `resolve`
|
|
52
|
+
- provider モードの保存(`claude-code`、`codex`、`both`)
|
|
53
|
+
- 優先言語の保存と launch prompt での強い言語維持
|
|
54
|
+
- リポジトリを意識した gc-branch 選択
|
|
55
|
+
- `resolve` 実行中の include / exclude の対話
|
|
56
56
|
- branch repo map の更新
|
|
57
|
-
-
|
|
57
|
+
- ガイド付きオンボーディング / 更新の境界条件
|
|
58
58
|
|
|
59
|
-
##
|
|
59
|
+
## provider の手動 E2E チェック
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
自動テストでは、Codex や Claude Code のセッションを実際に開かなくても launch plan を検証できるよう、provider 起動を無効化しています。
|
|
62
|
+
本物の launch path を試したい場合は、使い捨てディレクトリで次のどちらかを実行してください。
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
65
|
gctree init --provider codex
|
|
66
66
|
gctree init --provider claude-code
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
正しく動けば、provider が起動し、すぐに `$gc-onboard` または `/gc-onboard` を受け取るはずです。
|
|
70
70
|
|
|
71
71
|
## プロジェクト構成
|
|
72
72
|
|
|
73
|
-
- `src/` — CLI
|
|
74
|
-
- `tests/` — CLI
|
|
73
|
+
- `src/` — CLI、本体のコンテキスト保存、provider 選択、repo-scope マッピング、ガイド付きオンボーディング / 更新フロー、scaffolding ロジック
|
|
74
|
+
- `tests/` — CLI と振る舞いのテスト
|
|
75
75
|
- `skills/` — ツール非依存のワークフロースキル
|
|
76
|
-
- `scaffolds/` —
|
|
77
|
-
- `docs/` —
|
|
76
|
+
- `scaffolds/` — ホスト別のブートストラップテンプレート
|
|
77
|
+
- `docs/` — 概念、原則、使い方、開発ドキュメント
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
# 로컬
|
|
1
|
+
# 로컬 개발
|
|
2
2
|
|
|
3
3
|
[English](local-development.md) | [한국어](local-development.ko.md) | [简体中文](local-development.zh.md) | [日本語](local-development.ja.md) | [Español](local-development.es.md)
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 요약
|
|
6
6
|
|
|
7
|
-
로컬 개발은 일반적인 Node.js 20+
|
|
7
|
+
로컬 개발은 일반적인 Node.js 20+ 흐름을 따릅니다. 의존성을 설치하고, CLI를 빌드하고, 로컬에서 실행해 보고, 변경을 보내기 전에 기존 테스트 스위트로 검증하면 됩니다.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## 준비물
|
|
10
10
|
|
|
11
11
|
- Node.js 20+
|
|
12
12
|
- npm
|
|
13
|
-
- provider
|
|
13
|
+
- provider 실행을 직접 확인해보고 싶다면 로컬 `codex` 및 / 또는 `claude` 바이너리
|
|
14
14
|
|
|
15
15
|
## 설정
|
|
16
16
|
|
|
@@ -19,7 +19,7 @@ npm install
|
|
|
19
19
|
npm run build
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
## 로컬에서 CLI
|
|
22
|
+
## 로컬에서 CLI 실행하기
|
|
23
23
|
|
|
24
24
|
### 방법 1: 빌드된 엔트리를 직접 실행
|
|
25
25
|
|
|
@@ -27,51 +27,51 @@ npm run build
|
|
|
27
27
|
node dist/src/cli.js status
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
### 방법 2:
|
|
30
|
+
### 방법 2: CLI를 셸에 링크해서 사용
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
33
|
npm link
|
|
34
34
|
gctree status
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
TypeScript 소스를 수정했다면 다시 테스트하기 전에
|
|
37
|
+
TypeScript 소스를 수정했다면 CLI를 다시 테스트하기 전에 한 번 더 빌드하세요.
|
|
38
38
|
|
|
39
39
|
## 검증
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
PR을 열기 전에 아래 명령을 실행하세요.
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
44
|
npm run build
|
|
45
45
|
npm test
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
##
|
|
48
|
+
## repo-scope 테스트
|
|
49
49
|
|
|
50
|
-
현재 테스트 스위트는 다음을
|
|
50
|
+
현재 테스트 스위트는 다음을 커버합니다.
|
|
51
51
|
|
|
52
|
-
- provider 모드(`claude-code`, `codex`, `both`)
|
|
53
|
-
- 선호 언어 저장과 launch prompt에서의 강한 언어
|
|
54
|
-
-
|
|
55
|
-
- `resolve` 중 include/exclude 인터랙션
|
|
56
|
-
- branch repo map
|
|
57
|
-
- 가이드형
|
|
52
|
+
- provider 모드 저장 (`claude-code`, `codex`, `both`)
|
|
53
|
+
- 선호 언어 저장과 launch prompt에서의 강한 언어 유지
|
|
54
|
+
- 레포 인식 gc-branch 선택
|
|
55
|
+
- `resolve` 중 include / exclude 인터랙션
|
|
56
|
+
- branch repo map 업데이트
|
|
57
|
+
- 가이드형 온보딩 / 업데이트 경계
|
|
58
58
|
|
|
59
|
-
## 수동
|
|
59
|
+
## provider 수동 E2E 확인
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
실제
|
|
61
|
+
자동화 테스트는 Codex나 Claude Code 세션을 실제로 열지 않고도 launch plan을 검증할 수 있도록 provider 실행을 비활성화해 둡니다.
|
|
62
|
+
실제 launch 경로를 직접 확인해보고 싶다면, 임시 디렉터리에서 아래 중 하나를 실행해 보세요.
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
65
|
gctree init --provider codex
|
|
66
66
|
gctree init --provider claude-code
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
정상이라면 provider가
|
|
69
|
+
정상이라면 provider가 열리고 바로 `$gc-onboard` 또는 `/gc-onboard`를 받게 됩니다.
|
|
70
70
|
|
|
71
71
|
## 프로젝트 구조
|
|
72
72
|
|
|
73
|
-
- `src/` — CLI, 컨텍스트 저장소, provider 선택,
|
|
73
|
+
- `src/` — CLI, 컨텍스트 저장소, provider 선택, repo-scope 매핑, 가이드형 온보딩 / 업데이트 흐름, 스캐폴딩 로직
|
|
74
74
|
- `tests/` — CLI 및 동작 테스트
|
|
75
|
-
- `skills/` — 도구
|
|
76
|
-
- `scaffolds/` — 호스트별
|
|
77
|
-
- `docs/` —
|
|
75
|
+
- `skills/` — 도구 비종속 워크플로 스킬
|
|
76
|
+
- `scaffolds/` — 호스트별 부트스트랩 템플릿
|
|
77
|
+
- `docs/` — 개념, 원칙, 사용법, 개발 문서
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## Summary
|
|
6
6
|
|
|
7
|
-
Local development follows a standard Node.js 20+ workflow: install dependencies, build the CLI, run it locally, and verify with the existing test suite before you send
|
|
7
|
+
Local development follows a standard Node.js 20+ workflow: install dependencies, build the CLI, run it locally, and verify your changes with the existing test suite before you send them out.
|
|
8
8
|
|
|
9
9
|
## Prerequisites
|
|
10
10
|
|
|
@@ -47,7 +47,7 @@ npm test
|
|
|
47
47
|
|
|
48
48
|
## Repo-scope tests
|
|
49
49
|
|
|
50
|
-
The test suite
|
|
50
|
+
The test suite currently covers:
|
|
51
51
|
|
|
52
52
|
- provider mode persistence (`claude-code`, `codex`, `both`)
|
|
53
53
|
- preferred language persistence and strong language enforcement in launch prompts
|
|
@@ -58,7 +58,7 @@ The test suite now covers:
|
|
|
58
58
|
|
|
59
59
|
## Manual provider E2E checks
|
|
60
60
|
|
|
61
|
-
Automated tests disable provider launch so they can verify launch plans without opening Codex or Claude Code sessions.
|
|
61
|
+
Automated tests disable provider launch so they can verify launch plans without opening real Codex or Claude Code sessions.
|
|
62
62
|
If you want to dogfood the real launch path, run one of these in a throwaway directory:
|
|
63
63
|
|
|
64
64
|
```bash
|