diff --git a/.gitignore b/.gitignore index 59ce626..c4a5d43 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ dist/ .cc-manager.db-wal .cc-manager.db-shm *.log +.env .DS_Store diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..209e3ef --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +20 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..98da4a0 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,26 @@ +# Code of Conduct + +## Our Pledge + +We are committed to making participation in this project a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +**Positive behavior includes:** +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community + +**Unacceptable behavior includes:** +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information without explicit permission + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting the maintainers. All complaints will be reviewed and investigated promptly and fairly. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 2.1. diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..fa1a3ce --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,31 @@ +# Security Policy + +## Scope + +cc-manager is a **local development tool**. It is designed to run on a developer's machine or within a trusted internal network. It has no authentication and should **never** be exposed to the public internet. + +## Known Limitations + +| Area | Status | Mitigation | +|------|--------|------------| +| Authentication | None | Local use only; restrict via firewall or reverse proxy | +| CORS | Open (all origins) | Restrict at reverse proxy level if needed | +| Webhook SSRF | Partial — blocks private/loopback IPs | DNS rebinding not prevented; use trusted endpoints only | +| Rate limiting | Static key (`"direct"`) | Does not trust `x-forwarded-for`; add `--trust-proxy` if behind proxy | + +## Reporting a Vulnerability + +If you discover a security issue, please report it privately: + +1. **Do NOT open a public issue.** +2. Email the maintainers or use [GitHub Security Advisories](https://github.com/agent-next/cc-manager/security/advisories). +3. Include steps to reproduce and potential impact. +4. We will respond within 7 days. + +## Security Controls + +- **Webhook URL validation**: Blocks loopback, RFC 1918 private ranges, and link-local addresses. +- **Rate limiting**: 30 requests/minute per client on task submission endpoints. +- **Input validation**: Prompt length limits, timeout bounds, priority enum enforcement. +- **Agent isolation**: Each agent runs in an isolated git worktree. `CLAUDECODE` and `CLAUDE_CODE_*` env vars are cleared to prevent Claude nesting. +- **SQLite WAL mode**: Prevents database corruption under concurrent access. diff --git a/package.json b/package.json index eea524a..609f1cf 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/anthropics/cc-manager" + "url": "https://github.com/agent-next/cc-manager" }, "engines": { "node": ">=20"