···45## Project Overview
67-Sequoia is a CLI tool for publishing Markdown documents with frontmatter to the AT Protocol (Bluesky's decentralized social network). It converts blog posts into ATProto records (`site.standard.document`, `space.litenote.note`) and publishes them to a user's PDS.
89Website: <https://sequoia.pub>
10···6364**Extensions** (`src/extensions/`):
6566-- `litenote.ts` — Creates `space.litenote.note` records with embedded images
6768## Key Patterns
69
···45## Project Overview
67+Sequoia is a CLI tool for publishing Markdown documents with frontmatter to the AT Protocol (Bluesky's decentralized social network). It converts blog posts into ATProto records (`site.standard.document`, `space.remanso.note`) and publishes them to a user's PDS.
89Website: <https://sequoia.pub>
10···6364**Extensions** (`src/extensions/`):
6566+- `remanso.ts` — Creates `space.remanso.note` records with embedded images
6768## Key Patterns
69
+2-2
packages/cli/src/commands/publish.ts
···26} from "../lib/markdown";
27import type { BlogPost, BlobObject, StrongRef } from "../lib/types";
28import { exitOnCancel } from "../lib/prompts";
29-import { createNote, updateNote, findPostsWithStaleLinks, type NoteOptions } from "../extensions/litenote"
3031export const publishCommand = command({
32 name: "publish",
···419 }
420 }
421422- // Pass 2: Create/update litenote notes (atUris are now available for link resolution)
423 for (const { post, action, atUri } of noteQueue) {
424 try {
425 if (action === "create") {
···26} from "../lib/markdown";
27import type { BlogPost, BlobObject, StrongRef } from "../lib/types";
28import { exitOnCancel } from "../lib/prompts";
29+import { createNote, updateNote, findPostsWithStaleLinks, type NoteOptions } from "../extensions/remanso"
3031export const publishCommand = command({
32 name: "publish",
···419 }
420 }
421422+ // Pass 2: Create/update Remanso notes (atUris are now available for link resolution)
423 for (const { post, action, atUri } of noteQueue) {
424 try {
425 if (action === "create") {