whatisgithub

What is xcurate-public?

manish-manghwani-org/xcurate-public — explained in plain English

Analysis updated 2026-05-18

1TypeScriptAudience · developerComplexity · 3/5LicenseSetup · moderate

In one sentence

A terminal tool that reads your X timeline, ranks tweets worth replying to, and drafts replies in your own voice, but never posts anything itself.

Mindmap

mindmap
  root((xcurate))
    What it does
      Fetch and rank tweets
      Draft replies in your voice
      Never posts automatically
    Tech stack
      TypeScript
      SQLite
      Ollama
      Claude Code
    Use cases
      Shortlist reply candidates
      Draft replies for review
      Local topic classification
    Audience
      Developers
      Heavy X users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Get a ranked, deduplicated shortlist of tweets worth replying to instead of scrolling your whole timeline.

USE CASE 2

Draft replies in your own voice with Claude Code, then review and post the good ones yourself.

USE CASE 3

Run local, free topic classification on your timeline using Ollama with no paid API.

What is it built with?

TypeScriptSQLiteOllamaClaude Code

How does it compare?

manish-manghwani-org/xcurate-public0xkinno/neuralvault0xmayurrr/ai-contractauditor
Stars111
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatehardeasy
Complexity3/54/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs Node 22+, your own X session cookie, and optionally Ollama installed for local classification.

So what is it?

Xcurate is a terminal first tool for reading X, formerly Twitter, and helping you decide who to reply to and what to say, without ever posting anything on your behalf. It fetches your timeline, removes duplicate content, ranks the tweets most worth a reply, and hands you a short list of candidates. A human always approves and posts every reply manually, and the tool has no setting that would let it post, like, follow, or message anyone automatically. The pipeline itself is a deterministic TypeScript program: it fetches tweets using your own logged in browser cookie, stores them in a local SQLite database, removes duplicates, ranks candidates, and exports them to a file. Topic classification runs on a small local model through Ollama, so no external AI service or paid API key is required for that step. The actual judgment, deciding which tweets deserve a reply and drafting the wording, is handled by Claude Code slash commands, using a voice file you write yourself to match how you actually talk. A daily digest command reads the candidates and your voice file, drops the weak ones, and drafts replies into a markdown file for you to review and post. Your X login cookie is treated as a secret: it lives only in a local ignored file, is never logged or printed, and a git hook blocks it from accidentally being committed. Scheduled fetching is intentionally gentle, running about once an hour with jitter and backoff so it does not hammer the site. All of your data, including fetched tweets, drafted replies, and your voice settings, stays on your own machine and is excluded from version control. Setup requires Node version 22 or newer, and optionally Ollama with a small instruction tuned model for the local topic classification step.

Copy-paste prompts

Prompt 1
Help me set up my .env and TWITTER_AUTH_TOKEN cookie safely for this project.
Prompt 2
Walk me through writing my own config/voice.md so drafted replies sound like me.
Prompt 3
Run /daily-digest on my current candidates and explain how the ranking pipeline chose them.
Prompt 4
How do I schedule the hourly ingest job using the systemd units in ops/?

Frequently asked questions

What is xcurate-public?

A terminal tool that reads your X timeline, ranks tweets worth replying to, and drafts replies in your own voice, but never posts anything itself.

What language is xcurate-public written in?

Mainly TypeScript. The stack also includes TypeScript, SQLite, Ollama.

How hard is xcurate-public to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is xcurate-public for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.