Files
SnapOtter/.gitignore
T
SnapOtter 3b84fab765 feat: add enterprise licensing and S3 storage backend
Add the enterprise package with Ed25519 license key validation and
feature gating. Enterprise code lives in the public repo under a
proprietary license (Cal.com/PostHog model), protected legally, not
by code hiding.

Implement S3-compatible storage backend as the first enterprise
feature. The file-storage module now delegates to either local
filesystem or S3 based on STORAGE_MODE env var. Works with AWS S3,
Cloudflare R2, DigitalOcean Spaces, MinIO, and any S3-compatible
provider. Workspace files remain local (ephemeral processing).

New env vars: STORAGE_MODE, S3_BUCKET, S3_REGION, S3_ENDPOINT,
S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_FORCE_PATH_STYLE,
S3_PREFIX, SNAPOTTER_LICENSE_KEY.

Tested against MinIO: 10 S3 integration tests + 82 existing tests
pass with zero regressions.
2026-06-06 20:17:49 +08:00

70 lines
934 B
Plaintext

node_modules/
dist/
.turbo/
*.db
*.db-journal
*.db-wal
*.db-shm
data/
tmp/
.env
.env.local
.env.cloudflare
.env.*
.DS_Store
.playwright/
.playwright-mcp/
.vite/
apps/api/data/
apps/api/tmp/
apps/web/.vite/
# Python
__pycache__/
*.pyc
# Build artifacts
.next/
**/.vitepress/cache/
out/
coverage/
*.tsbuildinfo
# Playwright
test-results/
playwright-report/
blob-report/
# License signing key (NEVER commit)
.license-signing-key
# IDE / tool scratch
CLAUDE.md
CONTEXT.md
.claude/
.superpowers/
docs/*
!docs/COMMUNITY_GUIDE.md
PRD.md
# Ad-hoc test screenshots and reports
tests/e2e/screenshots/qa/**/*.png
test-*.png
!tests/fixtures/*.png
stirling-pdf-*.png
settings-*.png
layout-*.png
audit_report.md
docs/SECURITY_AUDIT_REPORT.md
docs/QA_REPORT*.md
.worktrees/
.release-version
.models
.local-wiki/
.mcp.json
tests/benchmark/bench-limits-results-mac.jsonl
.superpowers/
scripts/setup-cloudflare-email.sh
apps/videos
remotion/
demo