@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/README.es.md
CHANGED
|
@@ -1,107 +1,101 @@
|
|
|
1
1
|
# gc-tree
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
<img src="./logo.png" alt="logo de gc-tree" width="260" />
|
|
6
|
+
|
|
7
|
+
### Contexto global, más allá del proyecto.
|
|
8
|
+
|
|
9
|
+
Añade a tus herramientas de IA una capa de contexto reutilizable y duradera.
|
|
10
|
+
Gestiona varios contextos con la misma naturalidad con la que manejas ramas de Git.
|
|
11
|
+
|
|
12
|
+
[](https://www.npmjs.com/package/@handsupmin/gc-tree)
|
|
13
|
+
[](https://www.npmjs.com/package/@handsupmin/gc-tree)
|
|
14
|
+
[](https://github.com/handsupmin/gc-tree/stargazers)
|
|
15
|
+
[](https://github.com/handsupmin/gc-tree/blob/main/LICENSE)
|
|
16
|
+
[](https://nodejs.org)
|
|
4
17
|
|
|
5
18
|
[English](https://github.com/handsupmin/gc-tree/blob/main/README.md) | [한국어](https://github.com/handsupmin/gc-tree/blob/main/README.ko.md) | [简体中文](https://github.com/handsupmin/gc-tree/blob/main/README.zh.md) | [日本語](https://github.com/handsupmin/gc-tree/blob/main/README.ja.md) | [Español](https://github.com/handsupmin/gc-tree/blob/main/README.es.md)
|
|
6
19
|
|
|
7
|
-
|
|
20
|
+
</div>
|
|
8
21
|
|
|
9
|
-
|
|
10
|
-
Le da al contexto duradero un hogar reutilizable, basado en archivos y separado por ramas, sin obligarte a adoptar una plataforma completa de orquestación.
|
|
22
|
+
Hecho para quienes trabajan de verdad entre varios repositorios, productos, clientes y flujos de trabajo.
|
|
11
23
|
|
|
12
|
-
|
|
24
|
+
`gc-tree` añade a tus herramientas de programación con IA una **capa de contexto reutilizable por encima del repo**. Conserva el contexto que dura, lo aplica solo donde corresponde y se aparta cuando el repositorio actual no tiene nada que ver.
|
|
13
25
|
|
|
14
|
-
|
|
15
|
-
- conservar el conocimiento fuente en markdown en lugar de depender de memoria oculta
|
|
16
|
-
- resolver el contexto activo rápidamente con un índice liviano y documentos summary-first
|
|
17
|
-
- hacer onboarding y actualizaciones duraderas desde tu CLI LLM preferida
|
|
18
|
-
- hacer que un gc-branch solo se use en los repos realmente relacionados
|
|
26
|
+
---
|
|
19
27
|
|
|
20
|
-
##
|
|
28
|
+
## Por qué gc-tree
|
|
21
29
|
|
|
22
|
-
|
|
23
|
-
`gctree init` primero te pregunta qué modo de provider quieres usar (`claude-code`, `codex` o `both`), luego qué idioma deben usar las respuestas, guarda esas decisiones, prepara la superficie de comandos adecuada y arranca el onboarding del gc-branch `main` por defecto.
|
|
24
|
-
- **gc-branches con alcance por repositorio**
|
|
25
|
-
Con `~/.gctree/branch-repo-map.json` puedes asociar un gc-branch solo a ciertos repositorios. Por ejemplo, hacer que A aplique a B/C/D y se ignore en F.
|
|
26
|
-
- **Protección interactiva de alcance**
|
|
27
|
-
Si `gctree resolve` detecta que el repositorio actual todavía no está asociado a ese gc-branch, puede preguntarte si quieres continuar una vez, usarlo siempre aquí o ignorarlo aquí.
|
|
28
|
-
- **Documentación summary-first**
|
|
29
|
-
Las herramientas pueden leer primero un resumen corto y abrir el documento completo solo cuando hace falta.
|
|
30
|
-
- **Actualizaciones duraderas guiadas**
|
|
31
|
-
Puedes actualizar el contexto global con el mismo flujo del provider, sin escribir JSON a mano.
|
|
30
|
+
En cuanto empiezas a usar agentes de IA en trabajo real, el contexto local al repositorio se queda corto enseguida.
|
|
32
31
|
|
|
33
|
-
|
|
32
|
+
Cuando tu día a día se reparte entre varios repos y varias líneas de trabajo, suelen aparecer los mismos problemas:
|
|
34
33
|
|
|
35
|
-
|
|
34
|
+
- el contexto duradero acaba metido a la fuerza en los prompts
|
|
35
|
+
- el contexto que no toca se cuela en repositorios donde no debería
|
|
36
|
+
- cada sesión nueva obliga a repetir la misma explicación
|
|
37
|
+
- el conocimiento de cliente o producto vive escondido en el historial del chat
|
|
38
|
+
- cambiar de workstream significa cambiar de contexto a mano, en tu propia cabeza
|
|
36
39
|
|
|
37
|
-
|
|
38
|
-
npm install -g @handsupmin/gc-tree
|
|
39
|
-
```
|
|
40
|
+
`gc-tree` está pensado para gente que ya usa a fondo herramientas como Codex o Claude Code y no quiere seguir gestionando el contexto como una tarea manual más.
|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
---
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
npx @handsupmin/gc-tree init
|
|
45
|
-
```
|
|
44
|
+
## Qué te da
|
|
46
45
|
|
|
47
|
-
- **
|
|
48
|
-
|
|
49
|
-
- **Requisito:** Node.js 20+
|
|
50
|
-
Para desarrollo desde el código fuente, consulta [docs/local-development.md](https://github.com/handsupmin/gc-tree/blob/main/docs/local-development.md).
|
|
46
|
+
- **Varios contextos duraderos**
|
|
47
|
+
Puedes mantener carriles separados por producto, cliente o workstream.
|
|
51
48
|
|
|
52
|
-
|
|
49
|
+
- **Relevancia acotada por repositorio**
|
|
50
|
+
Puedes decidir con claridad qué contexto debe aplicarse solo a qué repos.
|
|
53
51
|
|
|
54
|
-
|
|
52
|
+
- **Protección de alcance más inteligente**
|
|
53
|
+
Si entras en un repo todavía no asociado, puedes elegir si seguir solo esta vez, usar siempre ese contexto ahí o ignorarlo en ese repo.
|
|
55
54
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
```
|
|
55
|
+
- **Onboarding y actualizaciones guiadas**
|
|
56
|
+
Puedes crear y mantener el contexto con Codex, Claude Code o ambos.
|
|
59
57
|
|
|
60
|
-
|
|
58
|
+
- **Conocimiento en markdown, con enfoque summary-first**
|
|
59
|
+
El contexto vive en archivos visibles, no en memoria oculta, y las herramientas pueden leer primero el resumen corto.
|
|
61
60
|
|
|
62
|
-
|
|
63
|
-
- crea el gc-branch `main` por defecto
|
|
64
|
-
- te pide elegir un modo de provider (`claude-code`, `codex` o `both`)
|
|
65
|
-
- si eliges `both`, te pregunta qué provider debe iniciar este onboarding
|
|
66
|
-
- te pide elegir el idioma (`English`, `Korean` o escribir tu propio idioma)
|
|
67
|
-
- guarda el modo de provider, el provider real de onboarding y el idioma en `~/.gctree/settings.json`
|
|
68
|
-
- prepara la superficie de comandos adecuada en el entorno actual
|
|
69
|
-
- inicia el onboarding guiado del gc-branch activo cuando `main` sigue vacío
|
|
61
|
+
---
|
|
70
62
|
|
|
71
|
-
|
|
63
|
+
## Instalación y arranque rápido
|
|
72
64
|
|
|
73
65
|
```bash
|
|
74
|
-
|
|
66
|
+
npm install -g @handsupmin/gc-tree
|
|
67
|
+
gctree init
|
|
75
68
|
```
|
|
76
69
|
|
|
77
|
-
|
|
70
|
+
Con eso ya puedes arrancar.
|
|
71
|
+
A partir de ahí, sigue trabajando como siempre: `gc-tree` simplemente añade una capa de contexto global reutilizable alrededor de tu flujo habitual.
|
|
78
72
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
3. ignorar este gc-branch en este repo
|
|
82
|
-
|
|
83
|
-
Si eliges 2 o 3, `~/.gctree/branch-repo-map.json` se actualiza.
|
|
73
|
+
- **Comando CLI:** `gctree`
|
|
74
|
+
- **Requisito:** Node.js 20+
|
|
84
75
|
|
|
85
|
-
|
|
76
|
+
Si quieres trabajar desde el código fuente, consulta [docs/local-development.es.md](https://github.com/handsupmin/gc-tree/blob/main/docs/local-development.es.md).
|
|
86
77
|
|
|
87
|
-
|
|
88
|
-
gctree checkout -b client-b
|
|
89
|
-
```
|
|
78
|
+
---
|
|
90
79
|
|
|
91
|
-
|
|
80
|
+
## Movimientos habituales
|
|
92
81
|
|
|
93
|
-
|
|
82
|
+
### Crea un contexto nuevo cuando un workstream merezca su propio carril
|
|
94
83
|
|
|
95
84
|
```bash
|
|
85
|
+
gctree checkout -b client-b
|
|
96
86
|
gctree onboard
|
|
97
87
|
```
|
|
98
88
|
|
|
99
|
-
|
|
89
|
+
Si un cliente, un producto, una migración o una iniciativa concreta necesita su propio contexto duradero, dale su propio gc-branch.
|
|
90
|
+
|
|
91
|
+
### Actualiza después el contexto duradero
|
|
100
92
|
|
|
101
93
|
```bash
|
|
102
94
|
gctree update-global-context
|
|
103
95
|
```
|
|
104
96
|
|
|
97
|
+
A medida que el trabajo avanza, añade al gc-branch activo lo que merece quedarse a largo plazo.
|
|
98
|
+
|
|
105
99
|
Alias cortos:
|
|
106
100
|
|
|
107
101
|
```bash
|
|
@@ -109,18 +103,85 @@ gctree update-gc
|
|
|
109
103
|
gctree ugc
|
|
110
104
|
```
|
|
111
105
|
|
|
112
|
-
|
|
106
|
+
### Resuelve el contexto cuando de verdad lo necesites
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
gctree resolve --query "auth token rotation"
|
|
110
|
+
```
|
|
113
111
|
|
|
114
|
-
|
|
115
|
-
2. después ejecutar `gctree update-global-context` para agregar contexto duradero sobre qué hace ese repo y por qué importa
|
|
112
|
+
Trae de vuelta el contexto relevante justo en el momento en que hace falta.
|
|
116
113
|
|
|
117
|
-
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Por qué se siente natural
|
|
117
|
+
|
|
118
|
+
**Puedes manejar varios contextos como si fueran ramas de Git, pero sin tener que vivir pendiente de ellos.**
|
|
119
|
+
|
|
120
|
+
Puedes separar contextos para:
|
|
121
|
+
|
|
122
|
+
- un cliente
|
|
123
|
+
- una línea de producto
|
|
124
|
+
- un equipo de plataforma
|
|
125
|
+
- un stack compartido de backend + frontend
|
|
126
|
+
- una iniciativa temporal o una migración
|
|
127
|
+
|
|
128
|
+
Y moverte entre ellos con comandos familiares:
|
|
118
129
|
|
|
119
130
|
```bash
|
|
120
|
-
gctree
|
|
131
|
+
gctree checkout -b client-b
|
|
132
|
+
gctree checkout main
|
|
121
133
|
```
|
|
122
134
|
|
|
123
|
-
|
|
135
|
+
Pero, a diferencia de Git, no tienes que vigilar ese cambio manualmente todo el tiempo.
|
|
136
|
+
|
|
137
|
+
Si el repo en el que estás queda fuera del alcance del contexto activo, `gc-tree` puede tratar ese contexto como irrelevante en lugar de dejar que se cuele en la sesión equivocada.
|
|
138
|
+
|
|
139
|
+
Eso te permite mantener varios contextos a largo plazo sin arrastrarlos todos a cada sesión de trabajo.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Un flujo de trabajo realista
|
|
144
|
+
|
|
145
|
+
Imagina que trabajas entre:
|
|
146
|
+
|
|
147
|
+
- un repo compartido de plataforma
|
|
148
|
+
- dos repos de cliente
|
|
149
|
+
- un repo de tooling interno
|
|
150
|
+
|
|
151
|
+
Sin `gc-tree`, cada sesión nueva con IA obliga a volver a explicar:
|
|
152
|
+
|
|
153
|
+
- de qué cliente estamos hablando ahora
|
|
154
|
+
- qué repos forman realmente un mismo conjunto
|
|
155
|
+
- qué flujo importa en este contexto
|
|
156
|
+
- qué contexto sobra y solo mete ruido
|
|
157
|
+
|
|
158
|
+
Con `gc-tree`, puedes mantener contextos separados por carril, reutilizarlos entre sesiones y dejar que las reglas de repo scope bloqueen el contexto que no toca.
|
|
159
|
+
|
|
160
|
+
Ese es el trabajo real que resuelve:
|
|
161
|
+
|
|
162
|
+
> no “guardar más texto de prompt”,
|
|
163
|
+
> sino **gestionar el contexto correcto en el nivel correcto del trabajo**.
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Conceptos clave
|
|
168
|
+
|
|
169
|
+
- **gc-branch**
|
|
170
|
+
Un carril de contexto duradero para un producto, cliente, workstream o dominio.
|
|
171
|
+
|
|
172
|
+
- **repo scope**
|
|
173
|
+
Las reglas que deciden en qué repositorios debe aplicarse un contexto.
|
|
174
|
+
|
|
175
|
+
- **provider-guided flow**
|
|
176
|
+
En vez de escribir JSON a mano, haces onboarding y actualizaciones desde tu herramienta de IA preferida.
|
|
177
|
+
|
|
178
|
+
- **context tree**
|
|
179
|
+
Por dentro, `gc-tree` organiza el contexto como conocimiento en archivos, consciente de las ramas.
|
|
180
|
+
Lo que tú ganas es contexto reutilizable más allá de un solo proyecto.
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Comandos visibles dentro del runtime
|
|
124
185
|
|
|
125
186
|
Después del scaffold, los comandos visibles son:
|
|
126
187
|
|
|
@@ -129,7 +190,9 @@ Después del scaffold, los comandos visibles son:
|
|
|
129
190
|
|
|
130
191
|
Esos comandos deben dejar claro cuál es el gc-branch activo antes de empezar a recoger o actualizar contexto duradero, y también deben mantener el idioma guardado hasta el final, salvo que el usuario pida cambiarlo explícitamente.
|
|
131
192
|
|
|
132
|
-
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Comandos clave de un vistazo
|
|
133
196
|
|
|
134
197
|
| Objetivo | Comando |
|
|
135
198
|
| --- | --- |
|
|
@@ -144,6 +207,8 @@ Esos comandos deben dejar claro cuál es el gc-branch activo antes de empezar a
|
|
|
144
207
|
| Restablecer un gc-branch antes de re-onboard | `gctree reset-gc-branch --branch <name> --yes` |
|
|
145
208
|
| Instalar scaffold manualmente en otro entorno | `gctree scaffold --host codex --target /path/to/repo` |
|
|
146
209
|
|
|
210
|
+
---
|
|
211
|
+
|
|
147
212
|
## Documentación
|
|
148
213
|
|
|
149
214
|
La documentación detallada está en el directorio [`docs/`](https://github.com/handsupmin/gc-tree/tree/main/docs).
|
|
@@ -157,10 +222,14 @@ La documentación detallada está en el directorio [`docs/`](https://github.com/
|
|
|
157
222
|
- **Desarrollo local** — [`docs/local-development.es.md`](https://github.com/handsupmin/gc-tree/blob/main/docs/local-development.es.md)
|
|
158
223
|
Explica cómo instalar dependencias, ejecutar la CLI localmente y verificar cambios.
|
|
159
224
|
|
|
225
|
+
---
|
|
226
|
+
|
|
160
227
|
## Contribuir
|
|
161
228
|
|
|
162
229
|
Las contribuciones son bienvenidas. Consulta el documento en inglés [CONTRIBUTING.md](https://github.com/handsupmin/gc-tree/blob/main/CONTRIBUTING.md) para ver el flujo de desarrollo y la checklist de PR.
|
|
163
230
|
|
|
231
|
+
---
|
|
232
|
+
|
|
164
233
|
## Licencia
|
|
165
234
|
|
|
166
235
|
MIT. Consulta [`LICENSE`](https://github.com/handsupmin/gc-tree/blob/main/LICENSE).
|
package/README.ja.md
CHANGED
|
@@ -1,107 +1,101 @@
|
|
|
1
1
|
# gc-tree
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
<img src="./logo.png" alt="gc-tree logo" width="260" />
|
|
6
|
+
|
|
7
|
+
### プロジェクトの外まで届くグローバルコンテキスト。
|
|
8
|
+
|
|
9
|
+
今使っている AI ツールに、長く使える再利用可能なコンテキストレイヤーを重ねましょう。
|
|
10
|
+
Git のブランチ感覚で、複数のコンテキストを分けて持てます。
|
|
11
|
+
|
|
12
|
+
[](https://www.npmjs.com/package/@handsupmin/gc-tree)
|
|
13
|
+
[](https://www.npmjs.com/package/@handsupmin/gc-tree)
|
|
14
|
+
[](https://github.com/handsupmin/gc-tree/stargazers)
|
|
15
|
+
[](https://github.com/handsupmin/gc-tree/blob/main/LICENSE)
|
|
16
|
+
[](https://nodejs.org)
|
|
4
17
|
|
|
5
18
|
[English](https://github.com/handsupmin/gc-tree/blob/main/README.md) | [한국어](https://github.com/handsupmin/gc-tree/blob/main/README.ko.md) | [简体中文](https://github.com/handsupmin/gc-tree/blob/main/README.zh.md) | [日本語](https://github.com/handsupmin/gc-tree/blob/main/README.ja.md) | [Español](https://github.com/handsupmin/gc-tree/blob/main/README.es.md)
|
|
6
19
|
|
|
7
|
-
|
|
20
|
+
</div>
|
|
8
21
|
|
|
9
|
-
|
|
10
|
-
長期的なコンテキストに、ファイルベースで再利用しやすく、ブランチ単位で切り替えられる明確な置き場所を与え、既存のワークフローにも自然に組み込めます。
|
|
22
|
+
日々の仕事が複数のリポジトリ、プロダクト、クライアント、ワークフローにまたがっている開発者のために作りました。
|
|
11
23
|
|
|
12
|
-
|
|
24
|
+
`gc-tree` は、AI コーディングツールに **リポジトリの外側で再利用できるコンテキストレイヤー** を足してくれます。長く使う前提の文脈は残しつつ、関係あるリポジトリにだけ効かせ、無関係な場所では静かに引っ込みます。
|
|
13
25
|
|
|
14
|
-
|
|
15
|
-
- 隠れたメモリではなく、markdown 文書を source of truth として管理する
|
|
16
|
-
- 小さなインデックスと summary-first ドキュメントで必要なコンテキストを素早く見つける
|
|
17
|
-
- 好みの LLM CLI を使ってオンボーディングと永続更新を進める
|
|
18
|
-
- ある gc-branch が本当に関係するリポジトリでだけ使われるようにする
|
|
26
|
+
---
|
|
19
27
|
|
|
20
|
-
##
|
|
28
|
+
## なぜ gc-tree なのか
|
|
21
29
|
|
|
22
|
-
|
|
23
|
-
`gctree init` はまず `claude-code`、`codex`、`both` のどの provider モードを使うかを聞き、その後に応答言語を選ばせ、選択内容を保存して必要なコマンド面を用意したうえで、デフォルトの `main` gc-branch のオンボーディングを開始します。
|
|
24
|
-
- **リポジトリ範囲付き gc-branch**
|
|
25
|
-
`~/.gctree/branch-repo-map.json` により、1 つの gc-branch を特定のリポジトリ群にだけ結びつけられます。たとえば A を B/C/D にだけ適用し、F では無視できます。
|
|
26
|
-
- **対話的な範囲ガード**
|
|
27
|
-
`gctree resolve` が現在のリポジトリをまだこの gc-branch に結び付けていないと判断した場合、今回だけ使うか、今後も使うか、ここでは無視するかを選べます。
|
|
28
|
-
- **Summary-first ドキュメント構造**
|
|
29
|
-
ツールはまず短い要約を読み、必要なときだけ全文を読み込めます。
|
|
30
|
-
- **ガイド付きの永続更新**
|
|
31
|
-
JSON ファイルを手で作らなくても、同じ provider フローでグローバルコンテキストを更新できます。
|
|
30
|
+
AI エージェントを本気で実務に入れると、リポジトリローカルのコンテキストだけではすぐ足りなくなります。
|
|
32
31
|
|
|
33
|
-
|
|
32
|
+
作業が複数のリポジトリやワークストリームに広がると、たとえばこんなことが起きがちです。
|
|
34
33
|
|
|
35
|
-
|
|
34
|
+
- 長期コンテキストがプロンプトの中に押し込まれていく
|
|
35
|
+
- 無関係な文脈が別のリポジトリまで漏れてしまう
|
|
36
|
+
- 新しいセッションを開くたびに同じ説明をやり直すことになる
|
|
37
|
+
- クライアントやプロダクトの知識がチャット履歴の中に埋もれる
|
|
38
|
+
- 作業を切り替えるたびに頭の中で手動で文脈を切り替える必要がある
|
|
36
39
|
|
|
37
|
-
|
|
38
|
-
npm install -g @handsupmin/gc-tree
|
|
39
|
-
```
|
|
40
|
+
`gc-tree` は、Codex や Claude Code のような AI コーディングツールをすでにしっかり使っていて、コンテキスト管理まで手作業で回したくない人のための道具です。
|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
---
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
npx @handsupmin/gc-tree init
|
|
45
|
-
```
|
|
44
|
+
## これでできること
|
|
46
45
|
|
|
47
|
-
-
|
|
48
|
-
|
|
49
|
-
- **要件:** Node.js 20+
|
|
50
|
-
ソースベースの開発は [docs/local-development.md](https://github.com/handsupmin/gc-tree/blob/main/docs/local-development.md) を参照してください。
|
|
46
|
+
- **長期コンテキストを複数持てる**
|
|
47
|
+
プロダクト、クライアント、ワークストリームごとに別々のコンテキストレーンを維持できます。
|
|
51
48
|
|
|
52
|
-
|
|
49
|
+
- **リポジトリ単位で関連性を絞れる**
|
|
50
|
+
どのコンテキストをどのリポジトリにだけ適用するかをはっきり決められます。
|
|
53
51
|
|
|
54
|
-
|
|
52
|
+
- **スコープを賢くガードできる**
|
|
53
|
+
まだ紐付いていないリポジトリに入ったとき、今回だけ続けるか、ここでは常に使うか、ここでは無視するかを選べます。
|
|
55
54
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
```
|
|
55
|
+
- **ガイド付きでオンボードと更新ができる**
|
|
56
|
+
Codex、Claude Code、あるいは両方を使いながら、コンテキストを育てていけます。
|
|
59
57
|
|
|
60
|
-
|
|
58
|
+
- **summary-first の markdown ナレッジとして残せる**
|
|
59
|
+
隠れたメモリではなくファイルに残し、ツールにはまず短い要約から読ませられます。
|
|
61
60
|
|
|
62
|
-
|
|
63
|
-
- デフォルトの `main` gc-branch を作成する
|
|
64
|
-
- provider モード(`claude-code`、`codex`、`both`)を選ばせる
|
|
65
|
-
- `both` を選んだ場合は、今回のオンボーディングをどちらで始めるかをさらに選ばせる
|
|
66
|
-
- 言語(`English`、`Korean`、または自由入力)を選ばせる
|
|
67
|
-
- provider モード、実際のオンボーディング provider、言語を `~/.gctree/settings.json` に保存する
|
|
68
|
-
- 現在の環境に必要なコマンド面を用意する
|
|
69
|
-
- `main` が空であれば、アクティブな gc-branch のガイド付きオンボーディングを開始する
|
|
61
|
+
---
|
|
70
62
|
|
|
71
|
-
|
|
63
|
+
## インストール & クイックスタート
|
|
72
64
|
|
|
73
65
|
```bash
|
|
74
|
-
|
|
66
|
+
npm install -g @handsupmin/gc-tree
|
|
67
|
+
gctree init
|
|
75
68
|
```
|
|
76
69
|
|
|
77
|
-
|
|
70
|
+
これでスタート準備は完了です。
|
|
71
|
+
あとはいつもどおり開発を進めれば大丈夫。`gc-tree` が普段の流れにグローバルコンテキストのレーンを足してくれます。
|
|
78
72
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
3. このリポジトリではこの gc-branch を無視する
|
|
82
|
-
|
|
83
|
-
2 または 3 を選ぶと `~/.gctree/branch-repo-map.json` が更新されます。
|
|
73
|
+
- **CLI コマンド:** `gctree`
|
|
74
|
+
- **要件:** Node.js 20+
|
|
84
75
|
|
|
85
|
-
|
|
76
|
+
ソースから試す場合は [docs/local-development.ja.md](https://github.com/handsupmin/gc-tree/blob/main/docs/local-development.ja.md) を参照してください。
|
|
86
77
|
|
|
87
|
-
|
|
88
|
-
gctree checkout -b client-b
|
|
89
|
-
```
|
|
78
|
+
---
|
|
90
79
|
|
|
91
|
-
|
|
80
|
+
## よく使う流れ
|
|
92
81
|
|
|
93
|
-
|
|
82
|
+
### 作業に専用レーンが欲しくなったら新しいコンテキストを切る
|
|
94
83
|
|
|
95
84
|
```bash
|
|
85
|
+
gctree checkout -b client-b
|
|
96
86
|
gctree onboard
|
|
97
87
|
```
|
|
98
88
|
|
|
99
|
-
|
|
89
|
+
クライアント、プロダクト、移行案件、期間限定の施策など、文脈を分けておきたい仕事は gc-branch を切っておくと楽です。
|
|
90
|
+
|
|
91
|
+
### 後から長期コンテキストを育てる
|
|
100
92
|
|
|
101
93
|
```bash
|
|
102
94
|
gctree update-global-context
|
|
103
95
|
```
|
|
104
96
|
|
|
97
|
+
作業が進んだら、アクティブな gc-branch に長く効く文脈を足していきます。
|
|
98
|
+
|
|
105
99
|
短い別名:
|
|
106
100
|
|
|
107
101
|
```bash
|
|
@@ -109,18 +103,85 @@ gctree update-gc
|
|
|
109
103
|
gctree ugc
|
|
110
104
|
```
|
|
111
105
|
|
|
112
|
-
|
|
106
|
+
### 必要になったタイミングでコンテキストを引く
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
gctree resolve --query "auth token rotation"
|
|
110
|
+
```
|
|
113
111
|
|
|
114
|
-
|
|
115
|
-
2. その後 `gctree update-global-context` を実行して、そのリポジトリが何を担うのか、なぜ重要なのかといった長期コンテキストを追加する
|
|
112
|
+
必要な瞬間だけ、関係ある文脈を呼び戻せば十分です。
|
|
116
113
|
|
|
117
|
-
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## しっくりくる理由
|
|
117
|
+
|
|
118
|
+
**Git のブランチみたいに複数のコンテキストを持てるのに、Git のブランチみたいに逐一面倒を見る必要はありません。**
|
|
119
|
+
|
|
120
|
+
たとえば次のようにコンテキストを分けられます。
|
|
121
|
+
|
|
122
|
+
- クライアントごと
|
|
123
|
+
- プロダクトラインごと
|
|
124
|
+
- プラットフォームチームごと
|
|
125
|
+
- バックエンドとフロントエンドをまとめた共有スタック
|
|
126
|
+
- 一時的な施策や移行プロジェクト
|
|
127
|
+
|
|
128
|
+
そして、ブランチ感覚のコマンドで行き来できます。
|
|
118
129
|
|
|
119
130
|
```bash
|
|
120
|
-
gctree
|
|
131
|
+
gctree checkout -b client-b
|
|
132
|
+
gctree checkout main
|
|
121
133
|
```
|
|
122
134
|
|
|
123
|
-
|
|
135
|
+
ただし Git と違って、その切り替えを常に人が意識して管理する必要はありません。
|
|
136
|
+
|
|
137
|
+
今いるリポジトリが現在のコンテキストのスコープ外なら、`gc-tree` はその文脈を「今は関係ないもの」として扱えます。だから、無関係なコンテキストが別のセッションに混ざり込みません。
|
|
138
|
+
|
|
139
|
+
その結果、長く使うコンテキストを複数抱えたままでも、毎回すべてを全部のセッションに持ち込まずに済みます。
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## 現実的なワークフロー
|
|
144
|
+
|
|
145
|
+
たとえば、こんな構成で仕事をしているとします。
|
|
146
|
+
|
|
147
|
+
- 共通のプラットフォームリポジトリが 1 つ
|
|
148
|
+
- クライアント向けリポジトリが 2 つ
|
|
149
|
+
- 社内ツール用リポジトリが 1 つ
|
|
150
|
+
|
|
151
|
+
`gc-tree` がないと、新しい AI セッションを開くたびに説明し直すことになります。
|
|
152
|
+
|
|
153
|
+
- 今どのクライアントの話なのか
|
|
154
|
+
- どのリポジトリ同士がひとまとまりなのか
|
|
155
|
+
- ここで重要なワークフローは何か
|
|
156
|
+
- 今はどの文脈がむしろノイズになるのか
|
|
157
|
+
|
|
158
|
+
`gc-tree` があれば、レーンごとにコンテキストを持ち分けて、セッションをまたいで再利用し、repo scope のルールで不要な文脈の流入も防げます。
|
|
159
|
+
|
|
160
|
+
要するに、本当にやりたいのはこういうことです。
|
|
161
|
+
|
|
162
|
+
> プロンプトをもっと溜め込むことではなく、
|
|
163
|
+
> **仕事の単位に合ったコンテキストを、正しいレイヤーで管理すること。**
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## コア概念
|
|
168
|
+
|
|
169
|
+
- **gc-branch**
|
|
170
|
+
1 つのプロダクト、クライアント、ワークストリーム、ドメインのための長期コンテキストレーンです。
|
|
171
|
+
|
|
172
|
+
- **repo scope**
|
|
173
|
+
そのコンテキストをどのリポジトリで効かせるかを決めるルールです。
|
|
174
|
+
|
|
175
|
+
- **provider-guided flow**
|
|
176
|
+
JSON を手で書く代わりに、好みの AI コーディングツールでオンボードと更新を進める流れです。
|
|
177
|
+
|
|
178
|
+
- **context tree**
|
|
179
|
+
`gc-tree` は内部的には、ブランチを意識したファイルベースの知識ツリーとしてコンテキストを整理します。
|
|
180
|
+
ユーザーが得る価値は、プロジェクトの外までつながる再利用可能なコンテキストです。
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## ランタイムで見える provider コマンド
|
|
124
185
|
|
|
125
186
|
scaffold 後に見えるコマンドは次の通りです。
|
|
126
187
|
|
|
@@ -129,21 +190,25 @@ scaffold 後に見えるコマンドは次の通りです。
|
|
|
129
190
|
|
|
130
191
|
これらのコマンドは、長期コンテキストを集めたり更新したりする前に、現在の gc-branch を必ず明示し、ユーザーが明示的に切り替えを求めない限り、保存された言語を最後まで維持するべきです。
|
|
131
192
|
|
|
132
|
-
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## 主要コマンド一覧
|
|
133
196
|
|
|
134
197
|
| 目的 | コマンド |
|
|
135
198
|
| --- | --- |
|
|
136
199
|
| gc-tree を初期化して provider を選ぶ | `gctree init` |
|
|
137
200
|
| 現在の gc-branch を確認する | `gctree status` |
|
|
138
|
-
|
|
|
201
|
+
| アクティブなコンテキストを検索する | `gctree resolve --query "..."` |
|
|
139
202
|
| リポジトリ範囲ルールを確認する | `gctree repo-map` |
|
|
140
|
-
| gc-branch
|
|
141
|
-
| gc-branch
|
|
203
|
+
| gc-branch に対してリポジトリを明示的に含める / 除外する | `gctree set-repo-scope --branch <name> --include` / `--exclude` |
|
|
204
|
+
| gc-branch を作成 / 切り替えする | `gctree checkout <branch>` / `gctree checkout -b <branch>` |
|
|
142
205
|
| 空の gc-branch をオンボードする | `gctree onboard` |
|
|
143
|
-
| 現在の gc-branch
|
|
206
|
+
| 現在の gc-branch を長期更新する | `gctree update-global-context` / `gctree update-gc` / `gctree ugc` |
|
|
144
207
|
| 再オンボーディング前に gc-branch をリセットする | `gctree reset-gc-branch --branch <name> --yes` |
|
|
145
208
|
| 別環境に手動で scaffold を入れる | `gctree scaffold --host codex --target /path/to/repo` |
|
|
146
209
|
|
|
210
|
+
---
|
|
211
|
+
|
|
147
212
|
## ドキュメント
|
|
148
213
|
|
|
149
214
|
詳細ドキュメントは [`docs/`](https://github.com/handsupmin/gc-tree/tree/main/docs) にまとまっています。
|
|
@@ -157,10 +222,14 @@ scaffold 後に見えるコマンドは次の通りです。
|
|
|
157
222
|
- **ローカル実行方法** — [`docs/local-development.ja.md`](https://github.com/handsupmin/gc-tree/blob/main/docs/local-development.ja.md)
|
|
158
223
|
依存関係のインストール、CLI のローカル実行、変更確認手順を説明します。
|
|
159
224
|
|
|
225
|
+
---
|
|
226
|
+
|
|
160
227
|
## コントリビュート
|
|
161
228
|
|
|
162
229
|
コントリビューション歓迎です。開発フローと PR チェックリストは英語ドキュメントの [CONTRIBUTING.md](https://github.com/handsupmin/gc-tree/blob/main/CONTRIBUTING.md) を参照してください。
|
|
163
230
|
|
|
231
|
+
---
|
|
232
|
+
|
|
164
233
|
## ライセンス
|
|
165
234
|
|
|
166
235
|
MIT。詳細は [`LICENSE`](https://github.com/handsupmin/gc-tree/blob/main/LICENSE) を参照してください。
|