Skip to content

Commit 87aec28

Browse files
committed
tmp
1 parent c91b5f0 commit 87aec28

File tree

2 files changed

+55
-251
lines changed

2 files changed

+55
-251
lines changed

.clinerules/memory-bank.md

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,19 @@ I am Cline, an expert software engineer with a unique characteristic: my memory
44

55
## Memory Bank Structure
66

7-
The Memory Bank consists of core files and optional context files, all in Markdown format. Files build upon each other in a clear hierarchy:
7+
The Memory Bank consists of core files and detailed component documentation, all in Markdown format. Files build upon each other in a clear hierarchy:
88

99
```mermaid
1010
flowchart TD
1111
PB[projectbrief.md] --> PC[productContext.md]
1212
PB --> SP[systemPatterns.md]
1313
PB --> TC[techContext.md]
14+
PB --> CD[components.md]
1415
1516
PC --> AC[activeContext.md]
1617
SP --> AC
1718
TC --> AC
19+
CD --> AC
1820
1921
AC --> P[progress.md]
2022
```
@@ -60,16 +62,13 @@ flowchart TD
6062
- Known issues
6163
- Evolution of project decisions
6264

63-
### Additional Context
64-
Create additional files/folders within memory-bank/ when they help organize:
65-
- Complex feature documentation
66-
- Integration specifications
67-
- API documentation
68-
- Testing strategies
69-
- Deployment procedures
65+
7. `components.md`
66+
- **Index** for component documentation markdown files in the `memory-bank/components/` directory
67+
- Serves as the primary entry point for discovering and navigating to component documentation files
7068

71-
#### Per-component Documentation
69+
### Component Documentation
7270
- The `memory-bank/components/` directory houses individual Markdown files containing detailed documentation for each component
71+
- `memory-bank/components.md` serves as index to that directory
7372
- **Usage: search the documentation using the `find` CLI tool to identify component documentation files to read in depth**
7473
- Update the individual component documents whenever necessary
7574

@@ -85,17 +84,15 @@ flowchart TD
8584
Plan --> Document[Document in Chat]
8685
8786
CheckFiles -->|Yes| Verify[Verify Context]
88-
Verify --> SearchAndReadComponentDocumentation[Search relevant docs in memory-bank/components and read those docs]
89-
SearchAndReadComponentDocumentation --> Strategy[Develop Strategy]
87+
Verify --> Strategy[Develop Strategy]
9088
Strategy --> Present[Present Approach]
9189
```
9290

9391
### Act Mode
9492
```mermaid
9593
flowchart TD
9694
Start[Start] --> Context[Check Memory Bank]
97-
Context --> SearchAndReadComponentDocumentation[Search relevant docs in memory-bank/components and read those docs]
98-
SearchAndReadComponentDocumentation --> Update[Update Documentation]
95+
Context --> Update[Update Documentation]
9996
Update --> Execute[Execute Task]
10097
Execute --> Document[Document Changes]
10198
```
@@ -124,7 +121,7 @@ flowchart TD
124121
Start --> Process
125122
```
126123

127-
Note: When triggered by **update memory bank**, I MUST review every memory bank file, even if some don't require updates. Focus particularly on activeContext.md, progress.md, and **memory-bank/components.md** as they track current state and component relationships.
124+
Note: When triggered by **update memory bank**, I MUST review every memory bank file, even if some don't require updates. Focus particularly on activeContext.md and progress.md as they track current state and component relationships.
128125

129126
## Memory Management
130127
- Be mindful of space in memory bank files

memory-bank/components.md

Lines changed: 44 additions & 237 deletions
Original file line numberDiff line numberDiff line change
@@ -2,240 +2,47 @@
22

33
This file serves as index for the per-component documentation in individual md files in the `memory-bank/components` directory.
44

5-
**Use the index to search for keywords to identify component documentation files to read in depth**
6-
7-
## Core Services
8-
9-
### [server](components/server.md)
10-
- Keywords: Core backend orchestrator; API (HTTP, WebSocket, gRPC); Auth & User/Workspace mgmt; SCM integration
11-
- Used by: Dashboard, IDE, CLI, public-api-server, other backend services
12-
- Uses: gitpod-db, ws-manager-api, content-service-api, image-builder-api, spicedb
13-
14-
### [content-service](components/content-service.md)
15-
- Keywords: Manages workspace content, blobs, logs, IDE plugins; gRPC services; Storage & retrieval; Unified content API
16-
- Used by: ws-manager-mk2, ide-service, supervisor, other Gitpod services
17-
- Uses: common-go, content-service-api, Storage Backends
18-
19-
### [ws-manager-mk2](components/ws-manager-mk2.md)
20-
- Keywords: Kubernetes controller; Workspace lifecycle (CRDs, timeouts, resources); gRPC API; controller-runtime
21-
- Used by: server (via ws-manager-api)
22-
- Uses: K8s API, content-service, registry-facade-api, image-builder-api, ws-daemon-api
23-
24-
### [ws-daemon](components/ws-daemon.md)
25-
- Keywords: Node-level daemon; Workspace init, content sync, backups, resource mgmt (disk quotas, LVM); gRPC API
26-
- Used by: ws-manager-mk2, supervisor
27-
- Uses: content-service, common-go, Storage Backends, K8s API
28-
29-
### [image-builder-mk3](components/image-builder-mk3.md)
30-
- Keywords: Custom workspace image builds (Docker); gRPC API for build lifecycle & logs; Image caching & registry push
31-
- Used by: ws-manager-mk2, server
32-
- Uses: K8s API, Container Registries, content-service, ws-manager-api, registry-facade-api, common-go
33-
34-
## API Components
35-
36-
### [content-service-api](components/content-service-api.md)
37-
- Keywords: gRPC API definitions (protobuf) for Content Service; Workspace content, blobs, logs, plugins; Code generation
38-
- Used by: content-service, ws-manager-mk2, dashboard, ide, server, image-builder-mk3
39-
- Uses: Protocol Buffers, gRPC, buf (tooling)
40-
41-
### [ws-manager-api](components/ws-manager-api.md)
42-
- Keywords: gRPC API definitions (protobuf) for Workspace Manager; Workspace lifecycle, status, control; Code generation
43-
- Used by: ws-manager-mk2 (implements), server, ws-manager-bridge, monitoring/billing/admin tools
44-
- Uses: content-service-api, Protocol Buffers, gRPC, buf/protoc (tooling)
45-
46-
### [ws-daemon-api](components/ws-daemon-api.md)
47-
- Keywords: gRPC API for Workspace Daemon; Workspace content, filesystem, low-level container ops; Code generation
48-
- Used by: ws-daemon (implements), ws-manager-mk2, workspacekit
49-
- Uses: content-service-api, Protocol Buffers, gRPC, buf/protoc (tooling)
50-
51-
### [image-builder-api](components/image-builder-api.md)
52-
- Keywords: gRPC API for Image Builder; Workspace image build/management, subassemblies; Code generation
53-
- Used by: image-builder-mk3 (implements), ws-manager-mk2, server, prebuild systems
54-
- Uses: content-service-api, Protocol Buffers, gRPC, buf/protoc (tooling)
55-
56-
### [supervisor-api](components/supervisor-api.md)
57-
- Keywords: gRPC API for Supervisor (in-workspace); Terminals, port forwarding, tasks, SSH, lifecycle; Code gen (Go, Java, Gateway)
58-
- Used by: supervisor (implements), ide, ws-manager-mk2, local-app, image-builder-mk3
59-
- Uses: content-service-api, Protocol Buffers, gRPC, buf/protoc (tooling)
60-
61-
### [registry-facade-api](components/registry-facade-api.md)
62-
- Keywords: gRPC API for Registry Facade; Composite image specs (base, IDE, content, supervisor); Code gen (Go)
63-
- Used by: registry-facade (implements), ws-manager-mk2, content-service, image-builder-mk3
64-
- Uses: Protocol Buffers, gRPC, buf/protoc (tooling)
65-
66-
### [ide-service-api](components/ide-service-api.md)
67-
- Keywords: gRPC API for IDE Service; IDE config, workspace IDE resolution; Code gen (Go, ts_proto)
68-
- Used by: ide-service (implements), ws-manager-mk2, supervisor, server
69-
- Uses: Protocol Buffers, gRPC, buf/protoc, ts_proto (tooling)
70-
71-
### [ide-metrics-api](components/ide-metrics-api.md)
72-
- Keywords: gRPC API for IDE metrics/errors; Counters, histograms, error reports; Code gen (Go, Java, Gateway)
73-
- Used by: ide-metrics (implements), ide (extensions/plugins), supervisor
74-
- Uses: Protocol Buffers, gRPC, buf/protoc, gRPC Gateway (tooling)
75-
76-
### [ws-manager-bridge-api](components/ws-manager-bridge-api.md)
77-
- Keywords: gRPC API for ws-manager-bridge; Dynamic cluster mgmt (register, update, list); Code gen (Go, TS, buf)
78-
- Used by: ws-manager-bridge (implements), server, cluster/load-balancing/admin/monitoring tools
79-
- Uses: Protocol Buffers, gRPC, buf (tooling)
80-
81-
### [usage-api](components/usage-api.md)
82-
- Keywords: gRPC API for Usage/Billing; Workspace usage, credits, cost centers, Stripe integration; Code gen (Go, TS, buf)
83-
- Used by: usage (implements), server, ws-manager-mk2, admin/reporting tools
84-
- Uses: Protocol Buffers, gRPC, buf, ts_proto (tooling)
85-
86-
### [local-app-api](components/local-app-api.md)
87-
- Keywords: gRPC API for Local App; Port tunneling, SSH connections (local-to-remote); Code gen (Go)
88-
- Used by: local-app (implements), ide (extensions), gitpod-cli, server
89-
- Uses: supervisor-api, Protocol Buffers, gRPC, buf/protoc (tooling)
90-
91-
## Frontend Components
92-
93-
### [dashboard](components/dashboard.md)
94-
- Keywords: Web UI (SPA); Workspace/account mgmt, settings, billing; React, Tailwind, React Query, Stripe; REST/WebSocket/Public API client
95-
- Used by: End-users
96-
- Uses: server, public-api, ide-service-api, content-service-api, ws-manager-api, Stripe JS, gitpod-protocol
97-
98-
### [ide](components/ide.md)
99-
- Keywords: IDE packaging (VS Code, JetBrains); Configuration, plugins, Docker images; Sub-components (Code, JetBrains)
100-
- Used by: supervisor, ide-service, ide-proxy; End-users (interact with)
101-
- Uses: supervisor-api, ide-service-api, blobserve, registry-facade, External IDE sources
102-
103-
## Infrastructure Components
104-
105-
### [proxy](components/proxy.md)
106-
- Keywords: Main ingress (HTTP/WebSocket); Caddy-based; TLS, routing, security; Custom plugins; Workspace routing
107-
- Used by: External clients (browser, IDE, CLI)
108-
- Uses: server, dashboard, ws-proxy, ide-proxy, public-api-server, ConfigCat
109-
110-
### [registry-facade](components/registry-facade.md)
111-
- Keywords: Dynamic image layer injection (supervisor, IDE); Docker Registry API; Layer caching; IPFS option
112-
- Used by: Container runtime, ws-manager-mk2 (via API)
113-
- Uses: registry-facade-api, ws-manager-api, ide-service-api, Upstream Registries, blobserve, common-go, IPFS
114-
115-
### [blobserve](components/blobserve.md)
116-
- Keywords: Serves static assets from OCI images; Layer extraction/caching; HTTP server; Registry auth
117-
- Used by: registry-facade, ws-manager-mk2, ide
118-
- Uses: Container Registries, registry-facade-api, common-go, Prometheus
119-
120-
### [ipfs](components/ipfs.md)
121-
- Keywords: IPFS (Kubo, Cluster); Container layer caching; Distributed storage; Redis for CID mapping
122-
- Used by: registry-facade, content-service (potentially)
123-
- Uses: Redis, External Container Registries, Kubernetes API, External IPFS images
124-
125-
### [openvsx-proxy](components/openvsx-proxy.md)
126-
- Keywords: Caching proxy for OpenVSX; Two-tier cache (Redis/BigCache); Fallback access; Prometheus
127-
- Used by: ide (VS Code/Theia), ide-service, supervisor (potentially)
128-
- Uses: OpenVSX Registry (external), Redis, Prometheus, common-go, Gitpod Experiment Framework
129-
130-
### [scheduler-extender](components/scheduler-extender.md)
131-
- Keywords: K8s scheduler extender; Custom workspace scheduling; Uses external ECR image
132-
- Used by: Kubernetes Scheduler, ws-manager-mk2 (indirectly)
133-
- Uses: AWS ECR (external image), Kubernetes API, node-labeler (data), registry-facade
134-
135-
## Database and Storage
136-
137-
### [gitpod-db](components/gitpod-db.md)
138-
- Keywords: Database layer (TypeORM); Entities (User, Workspace, Team), migrations; Repository pattern; MySQL, Redis
139-
- Used by: server, ws-manager-mk2, (components needing DB persistence)
140-
- Uses: gitpod-protocol, TypeORM, MySQL, Redis, Prometheus
141-
142-
### [gitpod-protocol](components/gitpod-protocol.md)
143-
- Keywords: Core type definitions (TS, Go, Java); Shared data structures & service interfaces; Messaging, encryption
144-
- Used by: server, dashboard, gitpod-db, ws-manager-mk2, ide-service, most components
145-
- Uses: TypeScript, JSON-RPC, WebSocket, Crypto libs (tech)
146-
147-
## Workspace Components
148-
149-
### [supervisor](components/supervisor.md)
150-
- Keywords: In-workspace init (PID 1); Manages terminals, IDEs, SSH; gRPC API; Serves workspace UI
151-
- Used by: ide, ws-daemon, ws-manager-mk2, local-app (via API), ide-metrics (via API), ide-service (via API)
152-
- Uses: supervisor-api, content-service-api, ws-daemon-api, ide-metrics-api, public-api, gitpod-protocol, common-go
153-
154-
### [workspacekit](components/workspacekit.md)
155-
- Keywords: Workspace container init; Namespace isolation (user, mount, net); Multi-ring security; Seccomp; `lift`
156-
- Used by: Container runtime, supervisor
157-
- Uses: ws-daemon-api, content-service-api, common-go, libseccomp, rootlesskit, K8s API
158-
159-
### [ws-proxy](components/ws-proxy.md)
160-
- Keywords: Workspace HTTP/WebSocket proxy; Port forwarding, SSH gateway; K8s CRD for routing info
161-
- Used by: proxy (main Gitpod proxy)
162-
- Uses: K8s API, ws-manager-api, supervisor-api, content-service-api, registry-facade-api, server (lib), common-go, gitpod-protocol
163-
164-
### [ide-proxy](components/ide-proxy.md)
165-
- Keywords: Serves static IDE assets (logos, binaries); Caddy-based; Proxies to blobserve/ide-metrics
166-
- Used by: dashboard, proxy (main)
167-
- Uses: blobserve, ide-metrics, local-app (binaries), Caddy, OpenVSX data (static)
168-
169-
### [ide-service](components/ide-service.md)
170-
- Keywords: Manages IDE configs; Resolves workspace IDE (images, versions); gRPC server; Docker registry/Experiments integration
171-
- Used by: ws-manager-mk2, supervisor, dashboard, content-service
172-
- Uses: ide-service-api, common-go, gitpod-protocol, Docker Registries, Experiments Service
173-
174-
### [ide-metrics](components/ide-metrics.md)
175-
- Keywords: Collects IDE metrics/errors; Go service (gRPC/HTTP API); Prometheus endpoint; Label/component allowlists
176-
- Used by: supervisor, ide (extensions/workbench), ide-proxy
177-
- Uses: ide-metrics-api, common-go, Prometheus, Error Reporting Service (external)
178-
179-
### [docker-up](components/docker-up.md)
180-
- Keywords: Rootless Docker/Compose in workspace; Auto-install, daemon mgmt; `runc-facade`; Embedded binaries
181-
- Used by: supervisor, Workspace users (CLI/API)
182-
- Uses: common-go, workspacekit, Container Registries, (Embedded: Docker, Compose, runc)
183-
184-
## Utility Components
185-
186-
### [common-go](components/common-go.md)
187-
- Keywords: Shared Go library; Utilities (logging, metrics, tracing, K8s, gRPC); Reduces duplication
188-
- Used by: Most Go-based Gitpod services (content-service, ws-daemon, etc.)
189-
- Uses: scrubber, K8s client libs, gRPC, Prometheus client, OpenTelemetry, Logrus
190-
191-
### [service-waiter](components/service-waiter.md)
192-
- Keywords: Waits for service readiness (DB, Redis, K8s); Init container utility; Ordered startup
193-
- Used by: K8s deployments, CI/CD, Gitpod services (startup)
194-
- Uses: MySQL (client), Redis (client), Kubernetes API, common-go, gitpod-db
195-
196-
### [node-labeler](components/node-labeler.md)
197-
- Keywords: K8s controller; Node labels (service readiness); Cluster-autoscaler annotations; Monitors registry-facade/ws-daemon
198-
- Used by: ws-manager-mk2, Cluster Autoscaler (external)
199-
- Uses: Kubernetes API, registry-facade, ws-daemon, common-go, ws-manager-api, ws-manager-mk2 (CRDs)
200-
201-
### [scrubber](components/scrubber.md)
202-
- Keywords: Go library for data sanitization (PII); Scrubs strings, JSON, structs; Redaction/hashing; Configurable rules
203-
- Used by: common-go, server, workspace/monitoring services
204-
- Uses: golang-lru, reflectwalk (external Go libs)
205-
206-
### [spicedb](components/spicedb.md)
207-
- Keywords: Authorization (SpiceDB ReBAC); Schema (entities, relations, permissions); Fine-grained access control
208-
- Used by: server, dashboard, public-api-server, ws-manager-mk2
209-
- Uses: SpiceDB Service (external), YAML libs, Code gen tools
210-
211-
## Integration Components
212-
213-
### [public-api-server](components/public-api-server.md)
214-
- Keywords: Programmatic Gitpod API (gRPC/Connect); Auth (Tokens, OIDC); Proxies to internal services; Webhooks
215-
- Used by: External clients (integrations, tools, IDEs, CLI), proxy (main)
216-
- Uses: server, gitpod-db, Redis, usage-api, session-service, common-go, public-api (defs), gitpod-protocol, External IDPs
217-
218-
### [gitpod-cli](components/gitpod-cli.md)
219-
- Keywords: In-workspace CLI; Workspace/IDE/port/task/env control; Cobra (Go); Analytics
220-
- Used by: Workspace users
221-
- Uses: supervisor-api, gitpod-protocol, common-go, ide-metrics-api, public-api, Git, IDE
222-
223-
### [local-app](components/local-app.md)
224-
- Keywords: Local tools (CLI, Companion); SSH/port forwarding to workspaces; Auth, self-update; Bastion tunneling
225-
- Used by: End-users (local machine)
226-
- Uses: supervisor-api, gitpod-protocol, local-app-api, public-api, server, ide-proxy
227-
228-
### [ws-manager-bridge](components/ws-manager-bridge.md)
229-
- Keywords: ws-manager intermediary; Syncs workspace status to DB; Handles lifecycle events; Cluster mgmt API
230-
- Used by: server, other components (via DB/Redis)
231-
- Uses: ws-manager-api, gitpod-db, gitpod-protocol, ws-manager-bridge-api, ws-daemon-api, Redis, Prometheus
232-
233-
### [image-builder-bob](components/image-builder-bob.md)
234-
- Keywords: Builds workspace images (base/workspace layers); `bob build` (Buildkit), `bob proxy` (auth); Secure registry push
235-
- Used by: image-builder-mk3, workspacekit
236-
- Uses: common-go, Container Registries, Buildkit
237-
238-
### [usage](components/usage.md)
239-
- Keywords: Tracks workspace usage/billing; Stripe integration; Credit calculation; Scheduled jobs; Cost centers
240-
- Used by: server, ws-manager-mk2, public-api-server
241-
- Uses: usage-api, common-go, gitpod-db, public-api, Stripe, Redis, server (info), ws-manager-api (info)
5+
- [server](components/server.md)
6+
- [content-service](components/content-service.md)
7+
- [ws-manager-mk2](components/ws-manager-mk2.md)
8+
- [ws-daemon](components/ws-daemon.md)
9+
- [image-builder-mk3](components/image-builder-mk3.md)
10+
- [content-service-api](components/content-service-api.md)
11+
- [ws-manager-api](components/ws-manager-api.md)
12+
- [ws-daemon-api](components/ws-daemon-api.md)
13+
- [image-builder-api](components/image-builder-api.md)
14+
- [supervisor-api](components/supervisor-api.md)
15+
- [registry-facade-api](components/registry-facade-api.md)
16+
- [ide-service-api](components/ide-service-api.md)
17+
- [ide-metrics-api](components/ide-metrics-api.md)
18+
- [ws-manager-bridge-api](components/ws-manager-bridge-api.md)
19+
- [usage-api](components/usage-api.md)
20+
- [local-app-api](components/local-app-api.md)
21+
- [dashboard](components/dashboard.md)
22+
- [ide](components/ide.md)
23+
- [proxy](components/proxy.md)
24+
- [registry-facade](components/registry-facade.md)
25+
- [blobserve](components/blobserve.md)
26+
- [ipfs](components/ipfs.md)
27+
- [openvsx-proxy](components/openvsx-proxy.md)
28+
- [scheduler-extender](components/scheduler-extender.md)
29+
- [gitpod-db](components/gitpod-db.md)
30+
- [gitpod-protocol](components/gitpod-protocol.md)
31+
- [supervisor](components/supervisor.md)
32+
- [workspacekit](components/workspacekit.md)
33+
- [ws-proxy](components/ws-proxy.md)
34+
- [ide-proxy](components/ide-proxy.md)
35+
- [ide-service](components/ide-service.md)
36+
- [ide-metrics](components/ide-metrics.md)
37+
- [docker-up](components/docker-up.md)
38+
- [common-go](components/common-go.md)
39+
- [service-waiter](components/service-waiter.md)
40+
- [node-labeler](components/node-labeler.md)
41+
- [scrubber](components/scrubber.md)
42+
- [spicedb](components/spicedb.md)
43+
- [public-api-server](components/public-api-server.md)
44+
- [gitpod-cli](components/gitpod-cli.md)
45+
- [local-app](components/local-app.md)
46+
- [ws-manager-bridge](components/ws-manager-bridge.md)
47+
- [image-builder-bob](components/image-builder-bob.md)
48+
- [usage](components/usage.md)

0 commit comments

Comments
 (0)