55 Commits
Author SHA1 Message Date
SnapOtterandGitHub 17726ae59d docs: multi-modality rebrand, 2.0 architecture accuracy, and full OpenAPI coverage (#254)
* docs: rebrand from image-only to multi-modality across docs and metadata

SnapOtter expanded from image-only to 157 tools across 5 modalities
(image, video, audio, document/PDF, data). Update all product-level
copy, metadata, and i18n that still framed it as an image-only tool.

- README, package.json, root llms.txt: multi-modality framing, 157 tools
- OpenAPI info + tags, generated /llms.txt tagline (docs.ts)
- VitePress docs site: hero, getting-started, architecture, security,
  deployment, configuration, developer, supported-formats
- i18n: 10 product keys across all 21 locales (hero, app description,
  privacy notes, AI features, progress messages, getting-started)
- web/demo/landing meta + privacy copy, COMMUNITY_GUIDE, .env.example

Stale tool counts (53/50+/52/70+/35) corrected to 157 throughout.
Database/container deployment claims left unchanged (out of scope).

* docs: fix stale post-rebrand test assertions and README language list

- tests/e2e-docs/homepage.spec.ts: assert the current docs homepage (file toolkit, 157 tools, 5 modalities) instead of the old image-only strings
- tests/unit/api/docs-route.test.ts: sync the reproduced llms.txt tagline with docs.ts
- README.md: 21 languages with the correct list (add Swedish and Chinese Traditional, drop Czech which is not supported)

* docs: correct 2.0 architecture references (Postgres 17 + Redis 8, 3-container stack)

The docs and metadata still described the 1.x stack (SQLite, single container, p-queue). Update them to the current 2.0 reality.

- README: replace the broken single-container `docker run` quick-start with the real Docker Compose stack (app + Postgres 17 + Redis 8); fix the "no Redis, no Postgres" feature bullet
- package.json: description no longer claims a single container
- apps/docs: rewrite database.md for Postgres; configuration.md DB_PATH -> DATABASE_URL + REDIS_URL; architecture.md SQLite/p-queue/better-sqlite3 -> Postgres/BullMQ/pg and add media-engine + doc-engine; developer/security/deployment/docker-tags/getting-started/contributing compose examples now include postgres + redis; index.md + api/ai.md AI count 16 -> 19
- SECURITY.md: Drizzle (SQLite) -> (PostgreSQL)
- landing: enterprise/FeatureHighlights single-container wording; TrustSignals/ToolGrid 150+ -> 157 (dynamic); Pricing/FAQ 15 -> 19 AI tools

* docs(api): document all video, audio, document, and data tool endpoints in OpenAPI

The spec covered only image tools; the Scalar UI and the generated /llms.txt and /llms-full.txt inherited that gap. Add the 104 missing tool endpoints so the API docs match the code.

- Video: 29 endpoints (most long/async; auto-subtitles is AI)
- Audio: 17 (transcribe-audio is AI)
- Document/PDF: 36 (ocr-pdf is AI; conversions are long/async)
- Data: 10
- Image: 12 newer tools (background-replace, blur-background AI; histogram/lqip-placeholder/sprite-sheet custom responses; barcode-generate uses a JSON body)

Each schema is derived from the tool's Zod validator and executionHint (fast -> 200, long -> 202+SSE, AI adds 501 FeatureNotInstalledError, multi-file inputs as arrays), referencing the existing shared schemas. Tool path entries: 64 -> 168. Spec parses as valid YAML with no duplicate paths and only known $refs.
2026-06-16 18:04:52 +08:00
SnapOtter 74d7f34d34 chore: remove local-only files from git tracking
Untrack CLAUDE.md, QA reports, security audit report, and superpowers
docs. These are internal working documents that should never be pushed
to GitHub. Updated .gitignore to ensure they stay local.
2026-05-15 22:56:42 +08:00
SnapOtter 77d9a67500 docs: add QA release report for v1.16.0
14-agent parallel QA sweep covering 928 tests across GPU (WSL),
CPU (Ubuntu), and Mac nodes. 94.4% pass rate with all failures
either test infrastructure issues (fixed) or design decisions.
2026-05-15 22:44:50 +08:00
SnapOtter dd6ea16dd4 docs: add restore-photo quality overhaul implementation plan
8 tasks covering: TS bridge update, API schema changes, Python scratch
detection rewrite, tiled LaMa inpainting, face enhancement guard,
frontend settings, E2E tests, and diagnostic verification.
2026-05-13 16:52:21 +08:00
SnapOtter 32ff0f6217 docs: add restore-photo quality overhaul design spec
Evidence-based spec informed by diagnostic testing on 4 sample images.
Addresses catastrophic scratch over-detection (up to 68.7% false
coverage on small images), LaMa 512x512 resolution loss, CodeFormer
over-smoothing on small faces, and excessive NLMeans defaults.
2026-05-13 16:41:30 +08:00
SnapOtter 736c2de057 chore(videos): merge base workspace files into promo videos branch 2026-05-08 17:10:00 +08:00
SnapOtter 664605ff7f docs: add Remotion promo videos implementation plan
16 tasks covering audio infrastructure, 10 new shared components,
3 compositions (X Launch 7 scenes, Product Demo 8 scenes, Promo Teaser
5 scenes + vertical variant), render script, and verification.
2026-05-08 16:28:51 +08:00
SnapOtter 3d60c13a4a docs: add Remotion promotional videos design spec
Three standalone promo videos for SnapOtter: X launch announcement
(dark, 1080x1080, 35s), product demo walkthrough (light, 1920x1080,
75s), and Apple-keynote-style teaser (dark, 1080x1080 + 1080x1920,
20s). Shares design system with landing page videos spec.
2026-05-08 16:10:54 +08:00
SnapOtter 3bec83bee5 chore: remove docs/prompts from version control
Internal prompt templates should stay local-only, not published to GitHub.
Added to .gitignore so they won't be tracked again.
2026-04-25 00:30:54 +08:00
SnapOtter 1066cf4c2c chore: track reusable prompt templates in docs/prompts/
Un-ignore docs/prompts/ and update the internal wiki generator
prompt to reflect current codebase state (48 tools, 8 agents,
accurate component/test/store counts, landing app coverage).
2026-04-25 00:00:35 +08:00
SnapOtter 0309e0f680 chore: deploy to Cloudflare Pages and update branding
- Add Cloudflare Pages deployment for landing page (snapotter.com) and
  docs (docs.snapotter.com)
- Create deploy-landing.yml and update deploy-docs.yml workflows
- Update CI to ignore apps/landing/** paths
- Fix logo transparency (remove white background) across all apps
- Recreate social-preview.png with SnapOtter branding
- Update all docs URLs from GitHub Pages to docs.snapotter.com
- Update VitePress config: light theme default, fix llms.txt paths
- Add .vitepress/cache/ and .env.* to gitignore
2026-04-24 18:06:29 +08:00
ashim-hq 4f850ff38e chore: gitignore docs/ except COMMUNITY_GUIDE.md
Remove RELEASE_QA_REPORT.md from tracking and ignore all docs/
content except COMMUNITY_GUIDE.md to keep local-only files private.
2026-04-23 20:39:43 +08:00
ashim-hq efb429289d test: add QA release report from multi-node test sweep
280 tests across 3 nodes (Mac, WSL GPU RTX 4070, Ubuntu CPU):
- 270 pass, 7 fail (known platform limitations)
- Fixed: MAX_USERS=0 registration block, auth Zod validation
- Verified: cross-platform parity for all non-AI tools
- Verified: 16/18 input formats, all batch/pipeline operations
- GPU vs CPU AI performance benchmarked
2026-04-23 20:26:48 +08:00
ashim-hq 19df740880 docs: add Code of Conduct and community guide for GitHub Discussions
Establishes Contributor Covenant 2.1 as the project Code of Conduct with
reporting to ashim.hq@gmail.com. Adds a community guide with the 5-category
Discussions layout, a pinned Welcome post draft, and seed post ideas.
2026-04-23 12:57:47 +08:00
ashim-hq 15a63e57c3 chore: remove docs/superpowers from tracking (local-only) 2026-04-18 12:19:31 +08:00
ashim-hq 204fd14ad5 docs: update plan for recent Dockerfile, bridge, and Python changes
Remove unnecessary lazy import steps (base packages are always
installed). Update Dockerfile task for cuDNN base, node-bins stage,
pip cache mounts. Add parallel model downloads and NCCL conflict
handling to install script requirements.
2026-04-18 02:15:32 +08:00
ashim-hq 31424d4356 docs: add crash recovery and robustness to spec and plan
Atomic model downloads (.downloading suffix + rename), file-based
install lock (survives container restart), atomic JSON writes,
startup recovery sequence, frontend double-click prevention,
SSE fallback polling, disk space pre-checks.
2026-04-17 23:08:35 +08:00
ashim-hq d148229d03 chore: remove docs/superpowers from tracking
Already in .gitignore — this removes the file that was committed before
the ignore rule was added.
2026-04-17 14:38:50 +08:00
ashim-hq 94db94cb28 docs: align spec with recent error handling and testing changes
Reference new parseApiError, formatZodErrors, global error handler,
and playwright.docker.config.ts infrastructure. Remove stale
partialTools concept since every tool maps to exactly one bundle.
2026-04-17 14:35:36 +08:00
ashim-hq 2e2dbbb8e0 docs: strict one-bundle-per-tool, lock full tools, docker-only testing
Revised bundles so every tool belongs to exactly one bundle with no
partial functionality. OCR and noise-removal fully locked until
their bundle is installed. passport-photo includes mediapipe in the
Background Removal bundle. restore-photo gets its own bundle.
Development/testing always via Docker container.
2026-04-17 13:01:14 +08:00
ashim-hq 959ece3a35 docs: improve on-demand AI features spec with architectural fixes
Address single-venv strategy (avoid two-venv fragility), shared
package uninstall via reference counting, tool route registration
for uninstalled features (501 instead of 404), multi-bundle tool
graceful degradation, frontend feature status propagation, and
local development compatibility.
2026-04-17 12:13:50 +08:00
ashim-hq b9fbf9db67 docs: add design spec for on-demand AI feature downloads
Reduce Docker image from ~30GB to ~5-6GB by making AI features
downloadable post-install. Users cherry-pick feature bundles
(Background Removal, OCR, etc.) from the UI after pulling.
2026-04-17 11:31:35 +08:00
ashim-hq 365af287f2 chore: remove docs/specs from git tracking
Keep specs local-only; add docs/specs/ to .gitignore.
2026-04-16 15:45:18 +08:00
Siddharth Kumar Sah dd1e2e5ba5 docs: add restore-photo state-of-the-art redesign spec
Full pipeline redesign spec: SD-inpainting, NAFNet, CT2 colorization,
Real-ESRGAN SR, tiled inference, GPU-first, single best-quality mode.
2026-04-15 22:39:21 +08:00
Siddharth Kumar Sah 625e16c7b6 chore: remove all docs/superpowers from git tracking
These are local planning artifacts that should not be in the
repository. The directory is already gitignored.
2026-04-07 21:48:20 +08:00
Siddharth Kumar Sah 44dd66283f chore: remove docs/superpowers spec from git tracking 2026-04-07 21:48:20 +08:00
Siddharth Kumar Sah 3c42d6625a docs: add stitch tool design spec
New tool for joining images horizontally or vertically,
distinct from the grid-based collage tool. Preserves aspect
ratios with fit/original resize modes, optional gap, and
multi-format output.
2026-04-07 21:48:20 +08:00
Siddharth Kumar Sah 9afea7b985 docs: add implementation plan for edit metadata tool
12-task plan covering: test fixture, image-engine types + parsing + operation,
strip-metadata refactor, API route, shared constants/i18n, shared UI
extraction, edit-metadata component, e2e tests, and Docker verification.
2026-04-06 19:05:13 +08:00
Siddharth Kumar Sah b133a713a7 docs: add design spec for edit metadata tool
Design spec for new edit-metadata tool (issue #15). Covers common EXIF
field editing, GPS clearing, granular per-field stripping, and shared
metadata infrastructure extracted from strip-metadata.
2026-04-06 18:55:25 +08:00
stirling-imageandGitHub 449a2fc319 feat: lightweight Docker image without AI/ML tools (:lite tag)
Closes #1
2026-04-05 00:23:21 +08:00
Siddharth Kumar Sah 2fc42ebd14 docs: add implementation plan for HTTP compatibility fix
7 tasks covering generateId() utility, copyToClipboard() utility,
replacement of all 10 call sites, and final verification.
2026-04-04 16:19:23 +08:00
Siddharth Kumar Sah 2422baec30 docs: add execCommand fallback to clipboard utility in design spec
Without the fallback, every Copy button is dead on HTTP. The
execCommand approach is deprecated but works in all current browsers
and does not require a secure context.
2026-04-04 16:17:11 +08:00
Siddharth Kumar Sah 04c2461390 docs: add design spec for HTTP/non-secure context compatibility
Addresses issues #4 and #5 - crypto.randomUUID() and
navigator.clipboard.writeText() fail over plain HTTP on
non-localhost addresses, breaking all tool operations.
2026-04-04 16:14:41 +08:00
Siddharth Kumar Sah b1bfcbef9c chore: remove internal superpowers docs from tracking
These files are already gitignored but were tracked from before
the ignore rule was added. Files remain local.
2026-03-30 08:48:06 +08:00
Siddharth Kumar Sah 2faf3efe59 docs: add logo implementation plan 2026-03-27 13:50:01 +08:00
Siddharth Kumar Sah 2a936d9488 docs: add logo design spec for faceted gem mark 2026-03-27 13:50:01 +08:00
Siddharth Kumar Sah 627ff8a82c chore: remove internal docs from repo, update public documentation
Remove docs/superpowers/, .claude/ config, and PRD.md from version
control (kept locally via .gitignore). Update README, CHANGELOG,
VitePress docs, and .env.example to reflect recent features: Files
page, teams, admin settings, persistent storage, and various API
improvements.
2026-03-26 01:11:40 +08:00
Siddharth Kumar Sah 2b792b62bf docs: add settings phase 1 implementation plan
16-task plan covering teams CRUD, tool disabling, feature flags,
temp file management, and custom branding/logo upload.
2026-03-26 01:10:51 +08:00
Siddharth Kumar Sah f2ef910a16 docs: add settings phase 1 design spec
Design for 5 new admin features inspired by Stirling-PDF:
teams management, tool disabling, feature flags, temp file
management, and custom branding/logo upload.
2026-03-26 01:10:50 +08:00
Siddharth Kumar Sah c8d2a3f439 docs: add Files page implementation plan
12 sequential tasks covering DB schema, API routes, file storage,
frontend components, tool integration, mobile layout, and E2E testing.
2026-03-26 01:10:50 +08:00
Siddharth Kumar Sah 2375572860 docs: add Files page design spec
Server-persisted file manager with version tracking, modeled after
Stirling-PDF. Covers DB schema, API routes, file storage, frontend
components, and tool processing integration.
2026-03-26 01:10:50 +08:00
Siddharth Kumar Sah db8ac42d4d docs: add interactive crop tool implementation plan 2026-03-23 19:13:43 +08:00
Siddharth Kumar Sah b9de028fd8 docs: add interactive crop tool design spec 2026-03-23 19:08:14 +08:00
Siddharth Kumar Sah fdaf5656b2 docs: add multi-image UX implementation plan
12-task plan covering file store rewrite, MultiImageViewer with filmstrip,
batch processing with fflate ZIP extraction, multi-file metadata display,
and Docker build verification.
2026-03-23 15:14:34 +08:00
Siddharth Kumar Sah 888b9dd51d docs: add resize & rotate/flip UX redesign implementation plan 2026-03-23 15:14:34 +08:00
Siddharth Kumar Sah c8b1639a9e docs: add multi-image UX redesign spec
Design spec for overhauling multi-image upload/preview/processing UX:
- Bottom filmstrip thumbnail strip with left/right navigation arrows
- Hybrid batch processing (apply-to-all with per-file preview)
- Individual + ZIP download options
- Multi-file aware strip-metadata with existing /inspect endpoint
- File store evolution to per-file tracking with FileEntry model
2026-03-23 15:14:34 +08:00
Siddharth Kumar Sah fc01a2f536 docs: address spec review feedback for resize/rotate redesign
Adds: state architecture for rotate preview, dimension data source,
fit mode defaults, mobile layout notes, extensibility guidance.
2026-03-23 15:14:34 +08:00
Siddharth Kumar Sah 308e428a01 docs: add resize & rotate/flip UX redesign spec 2026-03-23 15:14:34 +08:00
Siddharth Kumar Sah 77a394869b docs: add implementation plan for real progress bars
11-task plan covering backend SSE progress, Python stderr emission,
bridge.ts spawn rewrite, ProgressCard component, hook rewrite, and
migration of all 33 tool settings components.
2026-03-23 01:35:29 +08:00
Siddharth Kumar Sah 4c6b65a4b1 docs: add design spec for real progress bars
Spec covers real upload progress (XHR), server-side progress via SSE
for AI tools (Python stderr → bridge.ts → SSE), and a unified
ProgressCard component replacing the fake time-based AIProgressBar.
2026-03-22 22:28:03 +08:00