microsoft/TypeAgent

Public

mirrored from https://github.com/microsoft/TypeAgentAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
a7154bba3a641cb673630ec5ed3889d898fc3bf3

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

.devcontainer/vnc/devcontainer.json

105lines · modecode

1{
2 "name": "TypeAgent Development (VNC Desktop)",
3
4 // Use this configuration when you need GUI support in Codespaces
5 // or environments without WSLg. Access via http://localhost:6080
6
7 // Multi-arch base image (linux/amd64 and linux/arm64). Note: the
8 // desktop-lite feature historically supports amd64 only, so on Apple
9 // Silicon this config may still require Rosetta/QEMU emulation just for
10 // the VNC desktop. The standard (non-VNC) config runs natively on arm64.
11 "build": { "dockerfile": "../Dockerfile" },
12
13 "features": {
14 // VNC desktop for Electron shell support
15 "ghcr.io/devcontainers/features/desktop-lite:1": {
16 "password": "typeagent",
17 "webPort": "6080",
18 "vncPort": "5901"
19 },
20 "ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {},
21 "ghcr.io/devcontainers/features/sshd:1": {
22 "version": "latest"
23 },
24 "ghcr.io/devcontainers/features/git-lfs:1": {
25 "autoPull": false
26 },
27 "ghcr.io/devcontainers/features/node:1": {
28 "version": "22",
29 "nodeGypDependencies": true
30 },
31 "ghcr.io/devcontainers/features/python:1": {
32 "version": "3.12",
33 "installTools": true
34 },
35 "ghcr.io/devcontainers/features/dotnet:2": {
36 "version": "8.0"
37 },
38 "ghcr.io/devcontainers/features/azure-cli:1": {},
39 "ghcr.io/devcontainers/features/github-cli:1": {},
40 "ghcr.io/devcontainers/features/common-utils:2": {
41 "installZsh": true,
42 "configureZshAsDefaultShell": true,
43 "installOhMyZsh": true,
44 "username": "codespace",
45 "userUid": "1001",
46 "userGid": "1001"
47 }
48 },
49
50 // Publish SSH port on loopback only so host-side `ssh typeagent-devcontainer`
51 // works without exposing 2222 on the LAN. See standard devcontainer.json for details.
52 "appPort": ["127.0.0.1:2222:2222"],
53
54 "forwardPorts": [6080, 5901, 8999, 8081, 8082, 3000, 3443],
55 "portsAttributes": {
56 "6080": { "label": "noVNC Web Desktop", "onAutoForward": "openBrowser" },
57 "5901": { "label": "VNC Client" },
58 "8999": { "label": "Agent Server (WebSocket)", "onAutoForward": "notify" },
59 "8081": { "label": "Browser Agent (WebSocket)", "onAutoForward": "notify" },
60 "8082": { "label": "Code Agent (WebSocket)", "onAutoForward": "notify" },
61 "3000": { "label": "API Server (HTTP)", "onAutoForward": "notify" },
62 "3443": { "label": "API Server (HTTPS)", "onAutoForward": "notify" }
63 },
64
65 "mounts": [
66 "source=pnpm-global-store,target=/home/codespace/.local/share/pnpm/store,type=volume",
67 "source=typeagent-node_modules-${devcontainerId},target=${containerWorkspaceFolder}/ts/node_modules,type=volume",
68 "source=claude-code-config-${devcontainerId},target=/home/codespace/.claude,type=volume",
69 "source=copilot-cli-config-${devcontainerId},target=/home/codespace/.copilot,type=volume",
70 // VS Code server data (extensions, settings cache, workspace storage, history)
71 // so editor state survives container recreate.
72 "source=vscode-server-${devcontainerId},target=/home/codespace/.vscode-server,type=volume"
73 ],
74
75 "containerEnv": {
76 "LOCAL_GIT_USER_NAME": "${localEnv:LOCAL_GIT_USER_NAME}",
77 "LOCAL_GIT_USER_EMAIL": "${localEnv:LOCAL_GIT_USER_EMAIL}"
78 },
79
80 "postCreateCommand": "bash .devcontainer/scripts/post-create.sh && bash .devcontainer/scripts/install-electron-deps.sh",
81 "postStartCommand": "bash .devcontainer/scripts/post-start.sh",
82
83 "customizations": {
84 "vscode": {
85 "extensions": [
86 "dbaeumer.vscode-eslint",
87 "esbenp.prettier-vscode",
88 "ms-python.python",
89 "ms-dotnettools.csharp",
90 "ms-azuretools.vscode-azurefunctions",
91 "github.copilot",
92 "humao.rest-client"
93 ]
94 }
95 },
96
97 "remoteUser": "codespace",
98
99 // VNC requires more resources
100 "hostRequirements": {
101 "cpus": 4,
102 "memory": "16gb",
103 "storage": "32gb"
104 }
105}
106