Files
mangabaka-seeder/docs/TODO.md
T
Lucas WintherandClaude Opus 5.5 dd2d5a94bc docs: approve spec 001; self-hosted Bun server, defer password gate
The user signed off the spec. The server runs self-hosted under Bun;
the password gate and the Cloudflare Workers entry stay designed but
deferred until abuse or traffic calls for them.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 22:10:20 +02:00

4.2 KiB

TODO

Durable backlog. Agents append here instead of leaving TODO comments in source. Small, specific, independently actionable. Remove only when actually done. Design: specs/001-webtoons-covers.md.

Now

  • Write the implementation plan with superpowers:writing-plans into docs/plans/001-webtoons-covers.md, and show it to the user before implementing (the user asked for this in the design session).

Next (rough order; the plan will refine it)

  • Scaffold with Bun. package.json, bun.lock, TypeScript, .gitignore (already exists). Scripts for test, typecheck, build (page, Worker, userscript). Then fill the Commands in AGENTS.md and the Verified commands in docs/PERMISSIONS.md from runs that worked.
  • Capture fixtures from real responses: Webtoons pages (Tower of God, crow-time canvas, title_no 6065 mature, a 2015 Wayback snapshot), Wayback CDX output, MangaBaka series, links, images for 9999, and a snapshot/preview if a token is available.
  • Re-download the OpenAPI spec from https://mangabaka.org/api.json; derive core/mangabaka/types.ts (SaveSubmissionBody, series-images snapshot and preview, V1_Series_Cover_Image).
  • core/: model, transport (rate limit, retries, timeouts, token scoping), links, sources + registry, webtoons (urls, parse, index), history/wayback, images, covers, mangabaka client, hosting (server, litterbox, catbox, direct), seed.
  • server/: app.ts (assets, /api/config, /api/fetch allowlist, /api/upload store|catbox, per-IP rate limit), storage, entry bun.ts. Decide in the plan: S3-compatible bucket or local directory with a 30-day sweep (spec §7.7).
  • web/: two-link form, review cards, host picker with lifetimes, rehost, copy, token flow (preview → confirm → save).
  • userscript/: panel on mangabaka.org series pages, GM_xmlhttpRequest transport, token in GM_setValue, direct litterbox/catbox uploads, optional server URL, build to mbseed.user.js with metadata banner.
  • Manual smoke test against Tower of God (9999 / title_no 95).
  • Update README, docs/ARCHITECTURE.md and PRODUCT.md/DESIGN.md to match reality.

Verify with real services (once possible)

  • Which of our servers and domain hosts it; which bucket (or local dir) backs server storage.
  • Does catbox accept uploads from our server?
  • Does MangaBaka accept our storage URLs, litterbox/catbox URLs, and swebtoon-phinf.pstatic.net (direct)?
  • Does MangaBaka copy images on submission or on approval?
  • Is "main cover" really is_default: true? Ask on the MangaBaka Discord if unclear.
  • Where are personal access tokens created in the MangaBaka UI? Add it to the README.
  • Does the MangaBaka cover form accept fields filled by a userscript?

Someday

  • Password gate (spec §4.11) — only if the open site gets abused or traffic grows too large.
  • Cloudflare Workers entry (server/worker.ts, R2 binding). If added: Workers serve static assets before the Worker unless run_worker_first is set — needed for the gate to cover them.
  • Bun CLI on the same core.
  • More sources: Tapas, Tappytoon, Lezhin, Manta.
  • Following Webtoons language editions of the same series.
  • Edits beyond covers (series fields, links), via other submission resources.
  • CI: check AGENTS.md, CLAUDE.md, GEMINI.md and the docs/ paths exist; fail if AGENTS.md exceeds 150 lines.

Recurring

  • Maintain AGENTS.md:
    • Add a rule only in response to a real failure. When an agent repeatedly gets something wrong, that is a gap; add one line, ideally with a code example. Do not pre-empt hypothetical mistakes.
    • Update in the same PR as the convention change. A stale rules file is worse than none — it actively misleads.
    • Prune quarterly. Delete rules whose convention has changed or whose mistake no longer occurs.
    • Optional, cheap validation: run the same task twice in clean sessions, with and without the file, and compare steps and token use.

Known issues

  • None yet (no code).