-
Notifications
You must be signed in to change notification settings - Fork 0
st post
b2o2i edited this page Apr 19, 2026
·
7 revisions
Publishes a story to your Discourse forum. Optionally attaches a fact-check as a reply. Use --check to verify your credentials without actually posting.
Run after: st-prep st-fix st-merge
st-post subject.json # post to Test (cleared daily) — safe default
st-post --category private subject.json # post to your private category
st-post --category reports subject.json # post to public 📄 Reports portfolio
st-post --category prompt-lab --prompt subject.json # post the prompt to 🧪 Prompt Lab
st-post -s 2 subject.json # post story 2
st-post -f 1 subject.json # attach fact-check 1 as a reply
st-post --site MySite subject.json # post to a named Discourse site
st-post --check # verify credentials without posting| Option | Description |
|---|---|
files |
Story .json file(s) to post |
--site {MMD,…} |
Discourse site to post to (default: MMD; site slug set in config) |
-s N, --story N
|
Story to publish (1-based index, default: 1) |
-f N, --fact N
|
Reply to the post with fact-check N |
--category {private,test,reports,prompt-lab} |
Posting destination (default: test — see table below) |
--prompt |
Post the prompt text from the container instead of the story (use with --category prompt-lab) |
--check |
Validate Discourse credentials and connection without posting |
-v, --verbose
|
Verbose output |
-q, --quiet
|
Minimal output |
| Category | Description |
|---|---|
test |
Default. Test (cleared daily) sandbox (id=6) — posts deleted nightly at 00:05 UTC. Safe for testing st-post end-to-end. |
private |
Your personal private category — visible only to you. Posts persist. |
reports |
📄 Reports (id=16) — public portfolio at crossai.dev/u/<username>/activity/topics. Posts are publicly visible. |
prompt-lab |
🧪 Prompt Lab (id=17) — share prompts, get community feedback, collaborate on prompt engineering. |
Tip: Default is
test. Switch toprivateorreportsonce you're ready to keep the post. Usest-admin --discourseto change your persistent default category.
Related: st-prep st-speak st-admin
Site credentials are read from the DISCOURSE JSON in .env. If an .mp3 file is provided, it is uploaded first and the Discourse audio-player embed syntax is prepended to the post. The reports category maps to _DISCOURSE_REPORTS_CATEGORY_ID = 16 and prompt-lab to _DISCOURSE_PROMPT_LAB_CATEGORY_ID = 17 in st-admin.py.