Skip to content

Commit 1cf4012

Browse files
committed
initial release
0 parents  commit 1cf4012

36 files changed

Lines changed: 3072 additions & 0 deletions

.dockerignore

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Git
2+
.git
3+
.gitignore
4+
5+
# Documentation
6+
README.md
7+
LICENSE
8+
docs/
9+
10+
# GitHub
11+
.github/
12+
13+
# Assets (logo, screenshots)
14+
assets/
15+
16+
# Runtime data (should never be in build context)
17+
data/
18+
workspace/
19+
20+
# Editor files
21+
.vscode/
22+
.idea/
23+
*.swp
24+
*.swo
25+
26+
# OS files
27+
.DS_Store
28+
Thumbs.db
29+
desktop.ini

.github/FUNDING.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
github: CoderLuii
2+
buy_me_a_coffee: CoderLuii
3+
custom:
4+
- https://www.paypal.com/donate/?hosted_button_id=PM2UXGVSTHDNL
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: 🐛 Bug Report
2+
description: Something isn't working as expected
3+
labels: ["bug"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for reporting! Please fill out the details below so we can reproduce and fix the issue.
9+
10+
- type: dropdown
11+
id: variant
12+
attributes:
13+
label: Image Variant
14+
options:
15+
- Full (latest / dev)
16+
- Slim (slim / dev-slim)
17+
validations:
18+
required: true
19+
20+
- type: input
21+
id: version
22+
attributes:
23+
label: Image Tag / Version
24+
description: "e.g. latest, dev, v1.0.0"
25+
placeholder: "latest"
26+
validations:
27+
required: true
28+
29+
- type: dropdown
30+
id: host-os
31+
attributes:
32+
label: Host OS
33+
options:
34+
- Linux
35+
- macOS (Docker Desktop)
36+
- Windows (Docker Desktop / WSL2)
37+
- Synology / NAS
38+
- Other
39+
validations:
40+
required: true
41+
42+
- type: textarea
43+
id: description
44+
attributes:
45+
label: What happened?
46+
description: A clear description of the bug
47+
validations:
48+
required: true
49+
50+
- type: textarea
51+
id: expected
52+
attributes:
53+
label: What did you expect?
54+
validations:
55+
required: true
56+
57+
- type: textarea
58+
id: reproduce
59+
attributes:
60+
label: Steps to reproduce
61+
description: Minimal steps to trigger the bug
62+
value: |
63+
1.
64+
2.
65+
3.
66+
validations:
67+
required: true
68+
69+
- type: textarea
70+
id: compose
71+
attributes:
72+
label: Docker Compose / Run command
73+
description: Your compose file or docker run command (redact API keys)
74+
render: yaml
75+
76+
- type: textarea
77+
id: logs
78+
attributes:
79+
label: Logs / Error output
80+
description: Paste relevant container logs
81+
render: shell

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 💬 Questions & Discussion
4+
url: https://github.com/CoderLuii/HolyClaude/discussions
5+
about: Ask questions, share setups, or discuss ideas
6+
- name: 🔒 Security Vulnerability
7+
url: https://github.com/CoderLuii/HolyClaude/security/advisories/new
8+
about: Report security issues privately
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: ✨ Feature Request
2+
description: Suggest a new tool, package, or feature
3+
labels: ["enhancement"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Have an idea to make HolyClaude better? We'd love to hear it.
9+
10+
- type: dropdown
11+
id: category
12+
attributes:
13+
label: Category
14+
options:
15+
- New tool / package
16+
- New AI CLI integration
17+
- Docker / container improvement
18+
- Web UI enhancement
19+
- Documentation
20+
- Other
21+
validations:
22+
required: true
23+
24+
- type: dropdown
25+
id: variant
26+
attributes:
27+
label: Which variant should this target?
28+
options:
29+
- Full only
30+
- Slim only
31+
- Both
32+
- Not sure
33+
validations:
34+
required: true
35+
36+
- type: textarea
37+
id: description
38+
attributes:
39+
label: What would you like?
40+
description: Describe the feature or tool you'd like added
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: usecase
46+
attributes:
47+
label: Use case
48+
description: How would you use this? What problem does it solve?
49+
validations:
50+
required: true
51+
52+
- type: textarea
53+
id: alternatives
54+
attributes:
55+
label: Alternatives considered
56+
description: Any workarounds or alternative tools you've tried?
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: 📦 Package / Tool Request
2+
description: Request a new package or tool to be included in the image
3+
labels: ["enhancement", "package-request"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Want a tool or package added to HolyClaude? Let us know!
9+
10+
Before requesting, check the [full tool list](https://github.com/coderluii/holyclaude#rocket-whats-inside) to make sure it's not already included.
11+
12+
- type: input
13+
id: package-name
14+
attributes:
15+
label: Package / Tool name
16+
placeholder: "e.g. kubectl, terraform, redis-cli"
17+
validations:
18+
required: true
19+
20+
- type: input
21+
id: install-method
22+
attributes:
23+
label: How is it installed?
24+
description: "apt, npm, pip, curl, etc."
25+
placeholder: "e.g. apt install kubectl"
26+
validations:
27+
required: true
28+
29+
- type: dropdown
30+
id: variant
31+
attributes:
32+
label: Which variant?
33+
description: Full includes everything, Slim is lightweight
34+
options:
35+
- Full only
36+
- Both (full + slim)
37+
validations:
38+
required: true
39+
40+
- type: textarea
41+
id: why
42+
attributes:
43+
label: Why should this be included?
44+
description: How does this help AI coding workflows?
45+
validations:
46+
required: true
47+
48+
- type: input
49+
id: size
50+
attributes:
51+
label: Approximate size impact
52+
description: "How much disk space does this add? (optional)"
53+
placeholder: "e.g. ~50MB"

.github/SECURITY.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Security Policy
2+
3+
## Overview
4+
5+
HolyClaude runs AI coding agents inside a Docker container with elevated capabilities. This document explains the security model, what the container can access, and how to report vulnerabilities.
6+
7+
## Container Capabilities
8+
9+
HolyClaude requires the following Docker capabilities:
10+
11+
| Capability | Why | Risk |
12+
|-----------|-----|------|
13+
| `SYS_ADMIN` | Chromium sandboxing (Linux namespaces) | Standard for any Chromium-in-Docker setup |
14+
| `SYS_PTRACE` | Debugging tools (strace, lsof) | Allows process inspection within the container |
15+
| `seccomp=unconfined` | Chromium syscall requirements | Removes syscall filtering for the container |
16+
17+
These are required for Chromium to function and are standard across Playwright, Puppeteer, and CI/CD browser testing setups. They do **not** grant the container access to the host system beyond what Docker normally allows.
18+
19+
## Permission Modes
20+
21+
| Mode | Default? | What it means |
22+
|------|----------|--------------|
23+
| `allowEdits` | **Yes** | Claude can edit files freely, asks before running shell commands |
24+
| `bypassPermissions` | No | Claude runs any command without confirmation |
25+
26+
The default `allowEdits` mode is safe for most users. `bypassPermissions` is documented for power users who understand the implications.
27+
28+
## Credential Storage
29+
30+
- API keys and authentication tokens are stored in `./data/claude/` on the host (bind-mounted to `~/.claude/` in the container)
31+
- Credentials never leave the container — HolyClaude does not proxy, intercept, or transmit credentials to any third party
32+
- The container communicates directly with AI provider APIs (Anthropic, Google, OpenAI) using your credentials
33+
34+
## Network Access
35+
36+
The container has unrestricted outbound network access. This is required for:
37+
- AI provider API calls (Anthropic, Google, OpenAI)
38+
- npm/pip package installations
39+
- Git operations (clone, push, pull)
40+
- Any web requests Claude Code makes during development tasks
41+
42+
## Reporting a Vulnerability
43+
44+
If you discover a security vulnerability in HolyClaude:
45+
46+
1. **Do not** open a public GitHub issue
47+
2. Use [GitHub Security Advisories](https://github.com/CoderLuii/HolyClaude/security/advisories/new) to report privately
48+
3. Include: description, steps to reproduce, and potential impact
49+
4. You will receive a response within 48 hours
50+
51+
## Supported Versions
52+
53+
| Version | Supported |
54+
|---------|-----------|
55+
| latest | Yes |
56+
| < 1.0.0 | No |

.github/pull_request_template.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
## What does this PR do?
2+
3+
<!-- Brief description of the change -->
4+
5+
## Type of change
6+
7+
- [ ] Bug fix
8+
- [ ] New tool / package
9+
- [ ] Feature / enhancement
10+
- [ ] Documentation
11+
- [ ] CI / build improvement
12+
- [ ] Other
13+
14+
## Variant affected
15+
16+
- [ ] Full
17+
- [ ] Slim
18+
- [ ] Both
19+
- [ ] N/A
20+
21+
## Checklist
22+
23+
- [ ] I've tested this locally with `docker compose up`
24+
- [ ] Image still builds successfully
25+
- [ ] No credentials or secrets are included
26+
- [ ] CHANGELOG.md updated (if user-facing change)
27+
- [ ] README.md updated (if adding/removing tools)

.github/release.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
changelog:
2+
categories:
3+
- title: New Features
4+
labels:
5+
- enhancement
6+
- title: Bug Fixes
7+
labels:
8+
- bug
9+
- title: New Packages / Tools
10+
labels:
11+
- package-request
12+
- title: Documentation
13+
labels:
14+
- documentation
15+
- title: Other Changes
16+
labels:
17+
- "*"

0 commit comments

Comments
 (0)