@pilotpirxie/ghostwriter
v1.0.11
Published
CLI to split ebooks into chapters and paraphrase with citations.
Maintainers
Readme
ghostwriter
TypeScript CLI tool for splitting documents and ebooks and processing chapters with LLMs. Summarize, translate, rewrite and extract information from the documents.
Supports PDF, EPUB, Markdown, and TXT formats. Works with both OpenAI and Claude.
Quick Start
npx @pilotpirxie/ghostwriter --provider claude --api-key YOUR_KEY run book.pdf -o outputCommands
# split and process ebook in one step.
npx @pilotpirxie/ghostwriter run book.pdf -o output
# split ebook into chapters without AI processing
npx @pilotpirxie/ghostwriter split book.epub -o chapters
# process pre-split chapter files with AI
npx @pilotpirxie/ghostwriter paraphrase chapters/ -o processedOptions
| Flag | Description | Default |
| -------------------------- | ---------------------------------------- | ------------------------------------------------------------ |
| --provider <name> | AI provider: openai or claude | openai |
| --model-name <name> | Model identifier | gpt-4o-mini (OpenAI) or claude-3-haiku-20240307 (Claude) |
| --api-key <key> | API key | - |
| --prompt-header <text> | Custom instruction for AI | Default paraphrase |
| --temperature <n> | Sampling temperature (0-2) | 0.4 |
| --max-tokens <n> | Max tokens per call | 1200 (Claude) |
| --max-chars-per-call <n> | Max input chars per call | 8000 |
| -f, --format <format> | Force format: pdf|epub|txt|md | Auto-detect |
| --md-heading-level <1-6> | Markdown heading level for splits | 2 |
| --pandoc-path <path> | Custom pandoc binary path | pandoc |
| --top-p <n> | Nucleus sampling parameter | - |
Examples
Summarize chapters:
npx @pilotpirxie/ghostwriter --prompt-header "Summarize in 3 bullet points" run book.pdf -o summariesTranslate to Spanish:
npx @pilotpirxie/ghostwriter --prompt-header "Translate to Spanish" run book.epub -o spanishCustom style:
npx @pilotpirxie/ghostwriter --prompt-header "Rewrite as a pirate" run story.pdf -o pirate-versionMinion style using Claude:
npx @pilotpirxie/ghostwriter --provider claude --prompt-header "Rewrite the chapter using minions from Despicable me style" run book.epub -o outputRequirements
- Node.js 20+
- OpenAI or Anthropic API key for paraphrasing
- Pandoc (optional, fallback for parsing)
Set OPENAI_API_KEY or ANTHROPIC_API_KEY environment variable, or use --api-key flag.
License
MIT
