2
Fork 0
dev.metalisp.redditopic is a command-line tool that fetches the titles of the latest posts from a subreddit and ranks the most frequent words and phrases to surface the topics people are currently discussing.
  • Common Lisp 98.2%
  • Just 1.8%
Find a file
2026-11-04 15:28:10 +01:00
doc feat: warn when Reddit returns fewer posts than requested 2026-11-04 15:28:10 +01:00
src feat: warn when Reddit returns fewer posts than requested 2026-11-04 15:28:10 +01:00
tests feat: add German stopword support via --language flag 2026-11-04 15:18:03 +01:00
.gitignore feat: implement redditopic topic-fetching CLI 2026-11-04 10:33:10 +01:00
dev.metalisp.redditopic.asd fix: fetch posts via Atom RSS feed instead of dead JSON API 2026-11-04 14:30:25 +01:00
justfile feat: require subreddit argument and accept r/ prefix 2026-11-04 14:44:45 +01:00
README.org feat: add German stopword support via --language flag 2026-11-04 15:18:03 +01:00

dev.metalisp.redditopic

dev.metalisp.redditopic is a command-line tool that fetches the titles of the latest posts from a subreddit and ranks the most frequent words and phrases to surface the topics people are currently discussing.

Prerequisites

  • Fedora Linux
  • SBCL
  • Quicklisp (installed in ~/quicklisp)
  • Just

All Lisp dependencies (dexador, xmls, shasht, alexandria, clingon, usocket) are fetched from Quicklisp automatically. Fedora Linux, SBCL, Quicklisp, and Just are the expected baselines for local development.

Quickstart

# Run the test suite
just tests

# Build the standalone binary ml-redditopic
just build

Run the built binary directly (the subreddit is required):

# Choose the subreddit and how many posts to analyze
./ml-redditopic report --subreddit UXResearch --limit 100

# A leading r/ or /r/ is accepted
./ml-redditopic report -s r/UXResearch -l 50

# Machine-readable top-20 ranking
./ml-redditopic report --subreddit UXResearch --limit 100 --top 20 --json

# Use German stopwords
./ml-redditopic report -s UXResearch -l 100 -L de

# Full option list
./ml-redditopic report --help

Other recipes:

just repl    # Start SBCL with the system loaded
just clean   # Remove the ml-redditopic binary

Documentation

See doc/dev.metalisp.redditopic.org for the architecture and API reference.

License

AGPL-3.0-or-later