@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 CHANGED
@@ -1,107 +1,101 @@
1
1
  # gc-tree
2
2
 
3
- Una capa de contexto global con ramas para herramientas de programación con IA.
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
+ [![npm version](https://img.shields.io/npm/v/%40handsupmin%2Fgc-tree)](https://www.npmjs.com/package/@handsupmin/gc-tree)
13
+ [![npm downloads](https://img.shields.io/npm/dm/%40handsupmin%2Fgc-tree)](https://www.npmjs.com/package/@handsupmin/gc-tree)
14
+ [![GitHub stars](https://img.shields.io/github/stars/handsupmin/gc-tree)](https://github.com/handsupmin/gc-tree/stargazers)
15
+ [![License: MIT](https://img.shields.io/badge/license-MIT-yellow.svg)](https://github.com/handsupmin/gc-tree/blob/main/LICENSE)
16
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](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
- ## Introducción
20
+ </div>
8
21
 
9
- `gctree` es un **Global Context Tree** ligero para herramientas de programación con IA.
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
- Cuando un solo `AGENTS.md`, `CLAUDE.md` o fragmento de prompt ya no alcanza, `gctree` te ayuda a:
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
- - separar el contexto por producto, cliente o línea de trabajo
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
- ## Características rápidas
28
+ ## Por qué gc-tree
21
29
 
22
- - **Onboarding guiado por provider**
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
- ## Instalación y guía rápida
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
- ### Instalar desde npm
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
- ```bash
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
- Si solo quieres ejecutarlo una vez sin instalación global:
42
+ ---
42
43
 
43
- ```bash
44
- npx @handsupmin/gc-tree init
45
- ```
44
+ ## Qué te da
46
45
 
47
- - **Nombre del paquete:** `@handsupmin/gc-tree`
48
- - **Comando CLI:** `gctree`
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
- ### Inicio rápido
49
+ - **Relevancia acotada por repositorio**
50
+ Puedes decidir con claridad qué contexto debe aplicarse solo a qué repos.
53
51
 
54
- #### 1) Inicializa gc-tree
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
- ```bash
57
- gctree init
58
- ```
55
+ - **Onboarding y actualizaciones guiadas**
56
+ Puedes crear y mantener el contexto con Codex, Claude Code o ambos.
59
57
 
60
- Este comando:
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
- - crea `~/.gctree`
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
- #### 2) Resuelve el contexto activo
63
+ ## Instalación y arranque rápido
72
64
 
73
65
  ```bash
74
- gctree resolve --query "auth token rotation"
66
+ npm install -g @handsupmin/gc-tree
67
+ gctree init
75
68
  ```
76
69
 
77
- Si el repositorio actual aún no está asociado a ese gc-branch, `gctree` puede dejarte elegir entre:
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
- 1. continuar solo esta vez
80
- 2. usar siempre este gc-branch en este repo
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
- #### 3) Crea otro gc-branch si necesitas un contexto separado
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
- ```bash
88
- gctree checkout -b client-b
89
- ```
78
+ ---
90
79
 
91
- `checkout -b` crea un **gc-branch vacío nuevo**. No copia los documentos de otra rama.
80
+ ## Movimientos habituales
92
81
 
93
- #### 4) Haz onboarding de un gc-branch vacío
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
- #### 5) Actualiza el contexto duradero más adelante
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
- Si al trabajar descubres que un repo realmente pertenece al gc-branch actual, el flujo natural es:
106
+ ### Resuelve el contexto cuando de verdad lo necesites
107
+
108
+ ```bash
109
+ gctree resolve --query "auth token rotation"
110
+ ```
113
111
 
114
- 1. primero añadir ese repo al branch repo map
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
- #### 6) Restablece un gc-branch antes de volver a hacer onboarding
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 reset-gc-branch --branch client-b --yes
131
+ gctree checkout -b client-b
132
+ gctree checkout main
121
133
  ```
122
134
 
123
- ### Comandos visibles dentro del runtime
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
- ### Comandos clave de un vistazo
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
- AI コーディングツール向けのブランチ対応グローバルコンテキストレイヤー。
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
+ [![npm version](https://img.shields.io/npm/v/%40handsupmin%2Fgc-tree)](https://www.npmjs.com/package/@handsupmin/gc-tree)
13
+ [![npm downloads](https://img.shields.io/npm/dm/%40handsupmin%2Fgc-tree)](https://www.npmjs.com/package/@handsupmin/gc-tree)
14
+ [![GitHub stars](https://img.shields.io/github/stars/handsupmin/gc-tree)](https://github.com/handsupmin/gc-tree/stargazers)
15
+ [![License: MIT](https://img.shields.io/badge/license-MIT-yellow.svg)](https://github.com/handsupmin/gc-tree/blob/main/LICENSE)
16
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](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
- `gctree` は AI コーディングツール向けの軽量な **Global Context Tree** です。
10
- 長期的なコンテキストに、ファイルベースで再利用しやすく、ブランチ単位で切り替えられる明確な置き場所を与え、既存のワークフローにも自然に組み込めます。
22
+ 日々の仕事が複数のリポジトリ、プロダクト、クライアント、ワークフローにまたがっている開発者のために作りました。
11
23
 
12
- 1 つの `AGENTS.md`、`CLAUDE.md`、あるいは短いプロンプト断片だけでは足りなくなったとき、`gctree` は次のことを助けます。
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
- - **Provider 駆動のオンボーディング**
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
- ### npm からインストール
34
+ - 長期コンテキストがプロンプトの中に押し込まれていく
35
+ - 無関係な文脈が別のリポジトリまで漏れてしまう
36
+ - 新しいセッションを開くたびに同じ説明をやり直すことになる
37
+ - クライアントやプロダクトの知識がチャット履歴の中に埋もれる
38
+ - 作業を切り替えるたびに頭の中で手動で文脈を切り替える必要がある
36
39
 
37
- ```bash
38
- npm install -g @handsupmin/gc-tree
39
- ```
40
+ `gc-tree` は、Codex や Claude Code のような AI コーディングツールをすでにしっかり使っていて、コンテキスト管理まで手作業で回したくない人のための道具です。
40
41
 
41
- グローバルインストールなしで一度だけ実行する場合:
42
+ ---
42
43
 
43
- ```bash
44
- npx @handsupmin/gc-tree init
45
- ```
44
+ ## これでできること
46
45
 
47
- - **パッケージ名:** `@handsupmin/gc-tree`
48
- - **CLI コマンド:** `gctree`
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
- #### 1) gc-tree を初期化する
52
+ - **スコープを賢くガードできる**
53
+ まだ紐付いていないリポジトリに入ったとき、今回だけ続けるか、ここでは常に使うか、ここでは無視するかを選べます。
55
54
 
56
- ```bash
57
- gctree init
58
- ```
55
+ - **ガイド付きでオンボードと更新ができる**
56
+ Codex、Claude Code、あるいは両方を使いながら、コンテキストを育てていけます。
59
57
 
60
- このコマンドは次のことを行います。
58
+ - **summary-first の markdown ナレッジとして残せる**
59
+ 隠れたメモリではなくファイルに残し、ツールにはまず短い要約から読ませられます。
61
60
 
62
- - `~/.gctree` を作成する
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
- #### 2) 現在のコンテキストを解決する
63
+ ## インストール & クイックスタート
72
64
 
73
65
  ```bash
74
- gctree resolve --query "auth token rotation"
66
+ npm install -g @handsupmin/gc-tree
67
+ gctree init
75
68
  ```
76
69
 
77
- 現在のリポジトリがその gc-branch にまだ紐付いていない場合、`gctree` は次を選ばせます。
70
+ これでスタート準備は完了です。
71
+ あとはいつもどおり開発を進めれば大丈夫。`gc-tree` が普段の流れにグローバルコンテキストのレーンを足してくれます。
78
72
 
79
- 1. 今回だけ続行する
80
- 2. 今後もこのリポジトリでこの gc-branch を使う
81
- 3. このリポジトリではこの gc-branch を無視する
82
-
83
- 2 または 3 を選ぶと `~/.gctree/branch-repo-map.json` が更新されます。
73
+ - **CLI コマンド:** `gctree`
74
+ - **要件:** Node.js 20+
84
75
 
85
- #### 3) 別のコンテキストが必要なら新しい gc-branch を作る
76
+ ソースから試す場合は [docs/local-development.ja.md](https://github.com/handsupmin/gc-tree/blob/main/docs/local-development.ja.md) を参照してください。
86
77
 
87
- ```bash
88
- gctree checkout -b client-b
89
- ```
78
+ ---
90
79
 
91
- `checkout -b` は**新しい空の gc-branch**を作ります。既存のブランチ文書はコピーしません。
80
+ ## よく使う流れ
92
81
 
93
- #### 4) 空の gc-branch をオンボードする
82
+ ### 作業に専用レーンが欲しくなったら新しいコンテキストを切る
94
83
 
95
84
  ```bash
85
+ gctree checkout -b client-b
96
86
  gctree onboard
97
87
  ```
98
88
 
99
- #### 5) 後から永続コンテキストを更新する
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
- 実際に作業してみて、そのリポジトリが現在の gc-branch に属するべきだと分かった場合は、自然な流れはこうです。
106
+ ### 必要になったタイミングでコンテキストを引く
107
+
108
+ ```bash
109
+ gctree resolve --query "auth token rotation"
110
+ ```
113
111
 
114
- 1. まずそのリポジトリを branch repo map に追加する
115
- 2. その後 `gctree update-global-context` を実行して、そのリポジトリが何を担うのか、なぜ重要なのかといった長期コンテキストを追加する
112
+ 必要な瞬間だけ、関係ある文脈を呼び戻せば十分です。
116
113
 
117
- #### 6) 再オンボーディングの前に gc-branch をリセットする
114
+ ---
115
+
116
+ ## しっくりくる理由
117
+
118
+ **Git のブランチみたいに複数のコンテキストを持てるのに、Git のブランチみたいに逐一面倒を見る必要はありません。**
119
+
120
+ たとえば次のようにコンテキストを分けられます。
121
+
122
+ - クライアントごと
123
+ - プロダクトラインごと
124
+ - プラットフォームチームごと
125
+ - バックエンドとフロントエンドをまとめた共有スタック
126
+ - 一時的な施策や移行プロジェクト
127
+
128
+ そして、ブランチ感覚のコマンドで行き来できます。
118
129
 
119
130
  ```bash
120
- gctree reset-gc-branch --branch client-b --yes
131
+ gctree checkout -b client-b
132
+ gctree checkout main
121
133
  ```
122
134
 
123
- ### ランタイムで見える provider コマンド
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
- | 現在のコンテキストを検索する | `gctree resolve --query "..."` |
201
+ | アクティブなコンテキストを検索する | `gctree resolve --query "..."` |
139
202
  | リポジトリ範囲ルールを確認する | `gctree repo-map` |
140
- | gc-branch に対してリポジトリを明示的に含める/除外する | `gctree set-repo-scope --branch <name> --include` / `--exclude` |
141
- | gc-branch を作成/切り替えする | `gctree checkout <branch>` / `gctree checkout -b <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 を永続更新する | `gctree update-global-context` / `gctree update-gc` / `gctree ugc` |
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) を参照してください。