Skip to content

Commit 8f79e76

Browse files
chore: auto publish [skip ci]
1 parent 117a9d2 commit 8f79e76

File tree

43 files changed

+10993
-330
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+10993
-330
lines changed

README.md

Lines changed: 165 additions & 165 deletions
Large diffs are not rendered by default.

site/README.md

Lines changed: 165 additions & 165 deletions
Large diffs are not rendered by default.
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
---
2+
repo: DavidWells/claude-dev-container
3+
url: 'https://github.com/DavidWells/claude-dev-container'
4+
homepage: ''
5+
starredAt: '2025-11-21T18:41:25Z'
6+
createdAt: '2025-07-15T02:52:31Z'
7+
updatedAt: '2025-11-21T22:45:32Z'
8+
language: Shell
9+
license: NA
10+
branch: master
11+
stars: 25
12+
isPublic: true
13+
isTemplate: false
14+
isArchived: false
15+
isFork: false
16+
hasReadMe: true
17+
refreshedAt: '2025-11-22T22:30:54.004Z'
18+
description: Run Claude Code in isolated dev container and remotely connect via vibetunnel
19+
tags: []
20+
---
21+
22+
# Claude Dev Container
23+
24+
A comprehensive development container setup with Node.js, Deno, Bun.js, Playwright, Tailscale, and VibeTunnel for Claude Code development.
25+
26+
## Features
27+
28+
- **Node.js v24** - Latest Node.js runtime
29+
- **Deno v1.46.3** - Modern JavaScript/TypeScript runtime
30+
- **Bun.js** - Fast JavaScript runtime and package manager
31+
- **Playwright** - Browser automation with Chromium pre-installed
32+
- **Tailscale** - Secure network connectivity
33+
- **VibeTunnel** - Local development tunneling
34+
- **GitHub CLI** - Command-line GitHub integration
35+
- **Claude Code** - Anthropic's CLI tool pre-installed
36+
- **Git Profile Management** - Automated Git configuration
37+
- **VS Code Extensions** - ESLint, Prettier, GitLens pre-configured
38+
39+
## Quick Start
40+
41+
1. Open in VS Code with Dev Containers extension (from Cursor "Anysphere")
42+
2. Container will automatically build and configure
43+
3. Git will be auto-configured based on your environment
44+
45+
## Container Architecture
46+
47+
The setup uses Docker Compose with two services:
48+
49+
### Tailscale Service
50+
- Provides secure networking capabilities
51+
- Requires `TS_AUTHKEY` environment variable
52+
- Hostname: `claude-code-dev`
53+
54+
### Development Container
55+
- Based on Ubuntu 22.04
56+
- Network shares with Tailscale service
57+
- User: `node` with sudo privileges
58+
- Working directory: `/workspace`
59+
60+
## Pre-installed Tools
61+
62+
- **Runtime**: Node.js v24, Deno v1.46.3, Bun.js, Python3
63+
- **CLI Tools**: GitHub CLI, Claude Code, Gemini CLI, VibeTunnel
64+
- **Development**: git, curl, wget, vim, fzf
65+
- **Browser Testing**: Playwright with Chromium, X11 support
66+
- **Package Managers**: npm, pnpm, bun
67+
68+
## Environment Variables
69+
70+
Create a `.env` file in the `.devcontainer` directory:
71+
72+
```bash
73+
# Required for Tailscale
74+
TS_AUTHKEY=your_tailscale_auth_key
75+
76+
# Optional Git configuration
77+
GIT_USER_NAME="Your Name"
78+
GIT_USER_EMAIL="[email protected]"
79+
GIT_GITHUB_USER="yourusername"
80+
GIT_PROFILE_NAME="work"
81+
82+
# Optional timezone
83+
TZ=America/Los_Angeles
84+
```
85+
86+
## Git Configuration
87+
88+
The container automatically sets up Git using multiple methods (in priority order):
89+
90+
1. **Environment Variables** - Set `GIT_USER_NAME`, `GIT_USER_EMAIL`, etc.
91+
2. **Host Git Config** - Copies your `~/.gitconfig` if available
92+
3. **Default Profile** - Uses existing "default" profile
93+
4. **Manual Setup** - Use `git-profile` command
94+
95+
### Git Profile Commands
96+
97+
```bash
98+
git-profile create work # Create new profile
99+
git-profile use work # Switch to profile
100+
git-profile list # List all profiles
101+
git-profile delete work # Delete profile
102+
```
103+
104+
## VS Code Configuration
105+
106+
Pre-configured with:
107+
- **Default Formatter**: Prettier
108+
- **Linting**: ESLint with auto-fix on save
109+
- **Git Integration**: GitLens extension
110+
- **Terminal**: zsh with Oh My Zsh (robbyrussell theme)
111+
- **Port Forwarding**: Port 5173 for Vite development
112+
113+
## Aliases
114+
115+
The container includes helpful aliases:
116+
- `yolo` - Claude with skip permissions
117+
- `gyolo` - Gemini with yolo mode
118+
- `tailscale` - Execute Tailscale commands in container
119+
120+
## Volume Mounts
121+
122+
- **Workspace**: `..:/workspace:cached`
123+
- **Command History**: Persistent zsh history
124+
- **Claude Config**: `~/.claude` directory mounted
125+
- **Git Config**: Host `.gitconfig` mounted read-only
126+
127+
## Development Workflow
128+
129+
1. **Start Container**: Open in VS Code or run `docker-compose up`
130+
2. **Install Dependencies**: `npm install` (runs automatically)
131+
3. **Start Development**: Use pre-configured tools and extensions
132+
4. **Browser Testing**: Playwright ready with Chromium
133+
5. **Secure Access**: Tailscale for remote connectivity
134+
135+
## Networking
136+
137+
The container uses Tailscale for secure networking, allowing:
138+
- Remote access to development environment
139+
- Secure tunneling with VibeTunnel
140+
- Connection to private networks
141+
142+
## Troubleshooting
143+
144+
- **Tailscale**: Verify `TS_AUTHKEY` is set and valid
145+
- **Git**: Check environment variables or use `git-profile` commands
146+
- **Playwright**: Run `npx playwright install` if browsers missing
147+
- **Permissions**: User `node` has sudo access with password `nodepassword`
148+
149+
For VibeTunnel and Tailscale verification:
150+
```bash
151+
tailscale status # Check Tailscale connection
152+
vibetunnel --help # Verify VibeTunnel installation
153+
```

stars/Dimava/yamlscript.md

Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
---
2+
repo: Dimava/yamlscript
3+
url: 'https://github.com/Dimava/yamlscript'
4+
homepage: null
5+
starredAt: '2025-11-10T18:46:27Z'
6+
createdAt: '2025-11-09T22:57:37Z'
7+
updatedAt: '2025-11-10T18:46:28Z'
8+
language: TypeScript
9+
license: MIT
10+
branch: master
11+
stars: 1
12+
isPublic: true
13+
isTemplate: false
14+
isArchived: false
15+
isFork: false
16+
hasReadMe: true
17+
refreshedAt: '2025-11-22T22:30:54.875Z'
18+
description: >-
19+
Enable TypeScript language server features for TypeScript code embedded in
20+
YAML files
21+
tags: []
22+
---
23+
24+
# YAMLScript - TypeScript in YAML Files
25+
26+
Enable TypeScript language server features (error checking, type checking, IntelliSense) for TypeScript code embedded in YAML files - similar to how it works in Markdown files!
27+
28+
## Features
29+
30+
-**Type Checking**: Get TypeScript errors directly in your YAML files
31+
-**IntelliSense**: Auto-completion and hover information for TypeScript code
32+
-**Diagnostics**: See TypeScript errors, warnings, and suggestions inline
33+
-**Automatic Detection**: Automatically detects TypeScript code blocks in YAML files
34+
-**Real-time Updates**: Diagnostics update as you type
35+
36+
## How It Works
37+
38+
The extension uses **Virtual Documents** to extract TypeScript code from YAML files and connect it to the TypeScript language server. This is the same approach used by VS Code for Markdown files.
39+
40+
When you open a YAML file:
41+
1. The extension scans for TypeScript code blocks
42+
2. Each code block is extracted and registered as a virtual `.ts` document
43+
3. The TypeScript language server analyzes the virtual documents
44+
4. Diagnostics (errors, warnings) are mapped back to the original YAML file
45+
5. You see TypeScript errors directly in your YAML file!
46+
47+
## Usage
48+
49+
Simply write TypeScript code in your YAML files using multiline string blocks. The extension will automatically detect and analyze TypeScript code in values with keys like:
50+
51+
- `code`, `script`, `handler`, `transform`, etc.
52+
- Any multiline string that looks like TypeScript
53+
54+
### Example YAML File
55+
56+
```yaml
57+
name: My Configuration
58+
59+
# TypeScript code with type checking
60+
handler:
61+
code: |
62+
interface User {
63+
id: number;
64+
name: string;
65+
email: string;
66+
}
67+
68+
const user: User = {
69+
id: 1,
70+
name: "John",
71+
// ERROR: Missing 'email' property
72+
};
73+
74+
# Function with generics
75+
utils:
76+
script: |
77+
function processData<T>(data: T[]): T[] {
78+
return data.filter(item => item !== null);
79+
}
80+
81+
// ERROR: Type '"invalid"' is not assignable
82+
type Status = "active" | "inactive";
83+
const status: Status = "invalid";
84+
```
85+
86+
## Supported Patterns
87+
88+
The extension detects TypeScript code in several ways:
89+
90+
1. **Explicit Markers**: Use comments to mark TypeScript blocks
91+
```yaml
92+
# typescript:
93+
code: |
94+
const x: number = 1;
95+
```
96+
97+
2. **Common Keys**: Keys containing `code`, `script`, `handler`, `transform`, etc.
98+
```yaml
99+
script: |
100+
function hello() { }
101+
```
102+
103+
3. **Heuristic Detection**: Automatically detects TypeScript patterns
104+
- `const`, `let`, `var`, `function`, `class`, `interface`, `type`
105+
- Type annotations (`: string`, `: number`, etc.)
106+
- Arrow functions (`=>`)
107+
- Imports/exports
108+
- Generics (`<T>`)
109+
110+
## Requirements
111+
112+
- VS Code 1.105.0 or higher
113+
- TypeScript installed in your workspace or globally
114+
115+
## Extension Commands
116+
117+
- `YAMLScript: Hello World` - Test command to verify the extension is active
118+
119+
## Known Limitations
120+
121+
- Line/column mappings may be slightly off for deeply indented code blocks
122+
- Some advanced TypeScript features may not work perfectly in all contexts
123+
- The extension works best with isolated code blocks (not split across multiple YAML values)
124+
125+
## Comparison with Markdown
126+
127+
This extension brings the same TypeScript integration that Markdown files have to YAML files:
128+
129+
| Feature | Markdown Code Blocks | YAML with YAMLScript |
130+
|---------|---------------------|----------------------|
131+
| TypeScript Errors | ✅ | ✅ |
132+
| Type Checking | ✅ | ✅ |
133+
| IntelliSense | ✅ | ✅ |
134+
| Real-time Updates | ✅ | ✅ |
135+
| Diagnostics | ✅ | ✅ |
136+
137+
## Development
138+
139+
To work on this extension:
140+
141+
```bash
142+
# Install dependencies
143+
pnpm install
144+
145+
# Compile and watch for changes
146+
pnpm run watch
147+
148+
# Run the extension in debug mode
149+
# Press F5 in VS Code
150+
```
151+
152+
## How to Test
153+
154+
1. Open the extension folder in VS Code
155+
2. Press `F5` to launch the Extension Development Host
156+
3. Open the `example.yaml` file
157+
4. You should see TypeScript errors highlighted in the YAML file!
158+
159+
## Release Notes
160+
161+
### 0.0.1
162+
163+
Initial release:
164+
- Virtual document provider for TypeScript code in YAML
165+
- Automatic code block detection
166+
- TypeScript diagnostics mapped to YAML source
167+
- Support for multiple code blocks per file
168+
169+
---
170+
171+
## Contributing
172+
173+
Found a bug or have a feature request? Please open an issue on GitHub!
174+
175+
**Enjoy coding with TypeScript in YAML! 🚀**

0 commit comments

Comments
 (0)