src/cli.ts dispatcht via @std/cli/parse-args:
- publish [--force-all | --post <slug> | --dry-run]
- check
- validate-post <path>
cmdPublish orchestriert:
1. config laden, signer initialisieren, outbox + blossom-server laden
2. post-dirs resolven (diff/force-all/single per slug)
3. dry-run → liste printen, exit 0
4. für jeden post: processPost aufrufen, logger aktualisieren
5. am ende: logs/publish-<iso>.json, exit-code je nach fehlern
resolvePostDirs schaltet zwischen den drei modi um und findet bei
--post <slug> den passenden ordner über allPostDirs + findBySlug.
smoke-tests aus dem plan (usage → exit 2, validate-post → ✓) gehen
durch. alle 57 tests grün.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>