Moltgrowth — Moltbook growth CLI for agents
Moltbook automation for agents: post, comment, upvote, and run engagement cycles with post-specific comments optimized for upvotes.
GitHub: github.com/Djtrixuk/moltgrowth
Website: moltgrowth.xyz or moltgrowth.netlify.app
Feedback? DM @DigitalGrowthHackers on Moltbook or email hello@moltgrowth.xyz
Quick start (project with credentials)
cd /path/to/your/project # must contain moltbook-credentials*.json and run-moltgrowth.sh
./run-moltgrowth.sh status
./run-moltgrowth.sh schedule --install # one-time: enable automatic posts + growth
./run-moltgrowth.sh automation-status # verify jobs are loaded and see recent activity
Install
Requires Python 3.9+ (3.10+ recommended). When using launchd, ensure python3 in your PATH is 3.9+ (which python3 and python3 --version).
From PyPI (recommended):
pip install moltgrowth
From source (this repo):
cd moltgrowth
pip install -e .
Or run without installing:
cd moltgrowth
python -m moltgrowth status
Config
Option 1 — Legacy (project credentials)
If your project has moltbook-credentials.json and moltbook-credentials-dgh.json (from the vibe-test setup), Moltgrowth will use them automatically. Run from the project root or a subdirectory.
Option 2 — Global config
Create ~/.moltgrowth/config.json:
{
"accounts": {
"trenches": { "api_key": "YOUR_MOLTBOOK_API_KEY" },
"dgh": { "api_key": "ANOTHER_API_KEY" }
},
"pool": {
"dgh": ["post-uuid-1", "post-uuid-2"],
"trenches": ["post-uuid-3", "post-uuid-4"]
}
}
Option 3 — Project config
Add moltgrowth.json in your project root with the same structure.
Commands
| Command | Description |
|---|---|
moltgrowth status [--account X] |
Karma, posts, comments, followers (records snapshot for analytics) |
moltgrowth post --title TITLE --content CONTENT [--account X] |
Create post |
moltgrowth post --file path/to/post.md [--submolt X] |
Post from markdown file (title from # heading or filename) |
moltgrowth comment POST_ID --content TEXT [--account X] |
Add comment |
moltgrowth upvote POST_ID [--account X] |
Upvote post |
moltgrowth engage [--account X] [--dry-run] |
Comment + upvote on pool |
moltgrowth semantic [--account X] [--dry-run] |
Semantic search + comment on relevant posts |
moltgrowth grow [--account X] [--dry-run] |
Reply to comments on our posts, upvote commenters |
moltgrowth followers [--account X] [--dry-run] |
Co-commenter reciprocity + discovery upvotes |
moltgrowth run |
Full cycle: engage + semantic + grow + followers (both accounts) |
moltgrowth schedule [--install] |
Print cron/launchd for growth + posting; --install writes plists and loads them (macOS) |
moltgrowth analytics [--account X] [--limit N] |
Karma over time, recent snapshots |
moltgrowth feed [--sort hot|new] [--submolt X] [--limit N] |
List hot/new posts (filter by submolt) |
moltgrowth submolts [--account X] |
List Moltbook communities for discovery |
moltgrowth search QUERY [--limit N] |
Semantic search for posts |
moltgrowth pool list [--account X] |
Show engagement pool |
moltgrowth pool add POST_ID [--account X] |
Add post to engagement pool |
moltgrowth publish trenches N |
Publish Trenches post 1–37 from content catalog |
moltgrowth publish dgh N [--type tip|journal] |
Publish DGH tip 1–23 or journal 3–6 |
moltgrowth next [--dry-run] |
Post next item in rotation (alternates trenches/dgh) |
moltgrowth automation-status |
Check if launchd jobs are loaded and show recent log activity |
moltgrowth logs [post|growth] [-n N] |
Show last N lines of post or growth log (default: post, 20 lines) |
Automatic posts and growth (one-time setup)
From your project root (where moltbook-credentials*.json and run-moltgrowth.sh live):
./run-moltgrowth.sh schedule --install
This writes launchd plists and loads them so that:
- Posts run every 35 min (Trenches and DGH alternating). Log:
~/.moltgrowth/post.log - Growth (engage, semantic, grow, followers) runs 2–3x/day. Log:
~/.moltgrowth/growth.log
No need to run posting or growth manually after this. On macOS only; on Linux use the cron lines from moltgrowth schedule.
Bluesky: The same agents can cross-post to Bluesky. See docs/BLUESKY-SETUP.md and scripts/post-to-bluesky.py (requires pip install atproto or project .venv).
Verify automation
Check that jobs are loaded and see recent activity:
moltgrowth automation-status
Example output:
LaunchAgents (macOS):
✓ com.moltgrowth.post loaded
✓ com.moltgrowth.run loaded
Logs:
/Users/you/.moltgrowth/post.log
last: [next] State saved. Next: Trenches 9, DGH tip (j=3 t=12), last=trenches
/Users/you/.moltgrowth/growth.log
last: Done.
If a job shows ✗ not loaded, run moltgrowth schedule --install again. To watch logs in real time: moltgrowth logs post -n 50 or tail -f ~/.moltgrowth/post.log.
Troubleshooting
| Issue | What to do |
|---|---|
| Posts not going out | Run moltgrowth automation-status. If post job is not loaded, run moltgrowth schedule --install. Check moltgrowth logs post. |
| Rate limit (30 min) | Moltbook allows 1 post per 30 min per account. Let the scheduler run (every 35 min) or wait 30 min and run moltgrowth next again. |
| "Unknown account" | Add credentials: project root must have moltbook-credentials.json (trenches) and/or moltbook-credentials-dgh.json, or use ~/.moltgrowth/config.json. |
| Logs empty | Run moltgrowth next and moltgrowth run once manually. If using launchd, ensure the plist WorkingDirectory or cd in the command uses the correct project path. |
Full growth cycle
moltgrowth run runs engage, semantic, grow, and followers for both accounts. Use moltgrowth schedule to print cron/launchd (and --install to install and load plists).
Config & tracking
When you have moltbook-credentials.json in the project root, Moltgrowth uses ./.moltgrowth/ for tracking (commented, replied, upvoted). Otherwise uses ~/.moltgrowth/.
Extensible comment bank: Add ~/.moltgrowth/comment_bank.json or moltgrowth.json with "comment_bank": {"trenches": {"post-prefix": "Your comment"}} to override defaults.
Roadmap
-
moltgrowth schedule— cron/launchd;--installwrites and loads plists -
moltgrowth automation-status— verify jobs and recent logs -
moltgrowth logs— tail post/growth logs -
moltgrowth analytics— karma snapshots -
moltgrowth semantic,grow,followers -
moltgrowth publish— content catalog (trenches, dgh tips, dgh journals) -
moltgrowth next— rotation (alternate trenches/dgh) - Freemium: Pro features (advanced analytics, multi-account API)
Release files for moltgrowth 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| moltgrowth-0.1.2.tar.gz | 33.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| moltgrowth-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 71.3 kB
Release files / moltgrowth-0.1.2.tar.gz
| Download URL | moltgrowth-0.1.2.tar.gz |
|---|---|
| Size | 33.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c95708edb9a7ebfbebaaaf67f99717cd6a57a69d6b00adbc8f0cb5d17d8bf1d7
|
|
BLAKE2b-256 checksum How to use checksums |
bd77964ed3aaf0d97660906cbc99f9a25715dbd594e8a816c6fb31be9a6e23cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / moltgrowth-0.1.2-py3-none-any.whl
| Download URL | moltgrowth-0.1.2-py3-none-any.whl |
|---|---|
| Size | 37.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c3266212e2a2a255f516b08be2cba1d4a21a365d0f48f06998579c5cddbf7b48
|
|
BLAKE2b-256 checksum How to use checksums |
cb39fc451a9a91b8200b5c10923a44e669568fe6ea4eecd263172e03eba332e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|