Skip to content

Commit 22ca9cc

Browse files
committed
Add multi-client documentation and dynamic port forwarding
CodeForge is editor-agnostic but docs were VSCode-first. Update all documentation to reflect the five supported DevContainer clients: VS Code, DevContainer CLI, JetBrains Gateway, DevPod, and Codespaces. - Switch to dynamic port forwarding for all ports in devcontainer.json - Add tabbed client-specific instructions on the installation page - Add dedicated port forwarding reference page (VS Code, dbr, SSH) - Update prerequisites in README and docs to list all clients - Fix stale merge conflict marker in first-session.md
1 parent b2261ed commit 22ca9cc

File tree

10 files changed

+375
-148
lines changed

10 files changed

+375
-148
lines changed

.devcontainer/CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,21 @@
22

33
## [Unreleased]
44

5+
### Changed
6+
7+
#### Port Forwarding
8+
- Dynamic port forwarding for all ports in VS Code — previously only port 7847 was statically forwarded; now all ports auto-forward with notification
9+
10+
#### Documentation
11+
- Updated prerequisites and installation docs to support all DevContainer clients (VS Code, CLI, JetBrains Gateway, DevPod, Codespaces)
12+
- Added tabbed client-specific instructions on the installation page
13+
- Added dedicated port forwarding reference page covering VS Code auto-detect, devcontainer-bridge, and SSH tunneling
14+
15+
### Fixed
16+
17+
#### Docs
18+
- Removed stale merge conflict marker in first-session docs page
19+
520
### Added
621

722
#### README

.devcontainer/CLAUDE.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -184,11 +184,14 @@ Custom features in `./features/` follow the [devcontainer feature spec](https://
184184

185185
## Port Forwarding
186186

187-
Two mechanisms handle port access:
187+
Three mechanisms handle port access depending on your client:
188188

189-
| Mechanism | When Active | Dynamic Discovery |
190-
|-----------|-------------|-------------------|
191-
| `forwardPorts` (devcontainer.json) | VS Code / Codespaces only | No (static list; VS Code auto-detects separately) |
192-
| devcontainer-bridge (`dbr`) | Any terminal client | Yes (polls `/proc/net/tcp`) |
189+
| Mechanism | Client | Discovery |
190+
|-----------|--------|-----------|
191+
| VS Code auto-detect | VS Code only | Dynamic — all ports auto-forwarded with notification |
192+
| devcontainer-bridge (`dbr`) | Any terminal client | Dynamic — polls `/proc/net/tcp` |
193+
| SSH tunneling | Any SSH client | Manual — `ssh -L localPort:localhost:remotePort` |
193194

194-
`forwardPorts` is a no-op outside VS Code — the `devcontainer` CLI ignores it. `dbr` provides VS Code-independent dynamic port discovery via a reverse connection model (container→host). The container daemon auto-starts and is inert without the host daemon (`dbr host-daemon`). Both mechanisms coexist. See [devcontainer-bridge](https://github.com/bradleybeddoes/devcontainer-bridge).
195+
VS Code auto-detects all ports opened inside the container (configured via `portsAttributes` in `devcontainer.json`). Outside VS Code, `dbr` provides dynamic port discovery via a reverse connection model (container→host). The container daemon auto-starts and is inert without the host daemon (`dbr host-daemon`). Both mechanisms coexist. See [devcontainer-bridge](https://github.com/bradleybeddoes/devcontainer-bridge).
196+
197+
For full setup instructions, see the [Port Forwarding reference](https://anexileddev.github.io/CodeForge/reference/port-forwarding/) in the docs.

.devcontainer/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# CodeForge Usage Guide
22

3-
Everything you need to know once you're inside the devcontainer.
3+
Everything you need to know once you're inside the devcontainer. These instructions apply regardless of which client you used to start the container — VS Code, the `devcontainer` CLI, JetBrains Gateway, DevPod, or GitHub Codespaces.
44

55
## Quick Start
66

.devcontainer/devcontainer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,14 +153,14 @@
153153
"ghcr.io/bradleybeddoes/devcontainer-bridge/dbr:0.2.0": {}
154154
},
155155

156-
"forwardPorts": [7847],
156+
"forwardPorts": [],
157157
"portsAttributes": {
158158
"7847": {
159159
"label": "Claude Dashboard",
160160
"onAutoForward": "notify"
161161
},
162162
"*": {
163-
"onAutoForward": "silent"
163+
"onAutoForward": "notify"
164164
}
165165
},
166166

README.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,12 @@ npx codeforge-dev@1.2.3
4848
## Prerequisites
4949

5050
- **Docker Desktop** (or compatible container runtime like Podman)
51-
- **VS Code** with the [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers), or **GitHub Codespaces**
51+
- **A DevContainer client** — any of:
52+
- **VS Code** with the [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
53+
- **DevContainer CLI**`npm install -g @devcontainers/cli` ([docs](https://containers.dev/supporting#devcontainer-cli))
54+
- **GitHub Codespaces** — zero local setup
55+
- **JetBrains Gateway** with [Dev Containers plugin](https://plugins.jetbrains.com/plugin/21962-dev-containers)
56+
- **DevPod** — open-source, editor-agnostic ([devpod.sh](https://devpod.sh/))
5257
- **Claude Code authentication** — run `claude` on first start to authenticate
5358

5459
## What's Included
@@ -127,11 +132,14 @@ For the complete configuration guide, see the [documentation site](https://anexi
127132
## Quick Start
128133

129134
1. **Install**: `npx codeforge-dev`
130-
2. **Open in Container**: "Reopen in Container" in VS Code, or create a Codespace
135+
2. **Open in Container**:
136+
- **VS Code**: "Reopen in Container" from the Command Palette
137+
- **CLI**: `devcontainer up --workspace-folder .` then `docker exec -it <container> zsh`
138+
- **Codespaces**: Create a Codespace from the repo
131139
3. **Authenticate**: Run `claude` and follow prompts
132140
4. **Start coding**: Run `cc`
133141

134-
For full usage documentation — authentication, configuration, tools, agents, and keybindings — see [`.devcontainer/README.md`](.devcontainer/README.md).
142+
CodeForge uses the open [Dev Containers specification](https://containers.dev/) — any compatible client works. For full usage documentation — authentication, configuration, tools, agents, and keybindings — see [`.devcontainer/README.md`](.devcontainer/README.md).
135143

136144
## Contributing
137145

0 commit comments

Comments
 (0)