一键导入
minipostiz-cli-maintainer
Agent maintainer guide for minipostiz-cli — covers both plugin locations, sync workflow, build, test, release
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Agent maintainer guide for minipostiz-cli — covers both plugin locations, sync workflow, build, test, release
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Facebook Graph API setup for minipostiz-cli — create app, get page access token + page ID, store credentials
Bluesky AT Protocol setup for minipostiz-cli — create app password, store handle + password
Dev.to API setup for minipostiz-cli — generate API key, store credentials, posting format
Discord webhook setup for minipostiz-cli — create webhook in a channel, store URL
Mastodon API setup for minipostiz-cli — create application, get access token, store instance URL + token
Reddit OAuth setup for minipostiz-cli — create script app, get client credentials, store with username/password/subreddit
| name | minipostiz-cli-maintainer |
| description | Agent maintainer guide for minipostiz-cli — covers both plugin locations, sync workflow, build, test, release |
| type | maintainer |
| Location | Role |
|---|---|
~/ai/minipostiz-cli/ | Source of truth — standalone repo, npm package |
~/ai/supercli/plugins/minipostiz-cli/ | Bundled copy inside supercli — discoverable without internet |
The plugin.json and skills/quickstart/SKILL.md are duplicated between both. Always update both.
~/ai/minipostiz-cli → git@github.com:javimosch/minipostiz-cli.git (branch: main)
~/ai/supercli → git@github.com:javimosch/supercli.git (branch: master)
# 1. Edit source
vim ~/ai/minipostiz-cli/plugin.json
# 2. Mirror to supercli
cp ~/ai/minipostiz-cli/plugin.json \
~/ai/supercli/plugins/minipostiz-cli/plugin.json
cp ~/ai/minipostiz-cli/.agents/skills/maintainer/SKILL.md \
~/ai/supercli/plugins/minipostiz-cli/skills/quickstart/SKILL.md
# 3. Commit both repos
cd ~/ai/minipostiz-cli && git add -A && git commit -m "chore: ..." && git push
cd ~/ai/supercli && git add plugins/minipostiz-cli/ && git commit -m "chore: sync minipostiz-cli ..." && git push
cd ~/ai/minipostiz-cli
bun build src/main.ts --compile --outfile bin/minipostiz
# binary is gitignored — rebuild after any src/ change
Binary symlinked to PATH:
ln -sf ~/ai/minipostiz-cli/bin/minipostiz ~/.local/bin/minipostiz
cd ~/ai/supercli
node cli/supercli.js plugins install ~/ai/minipostiz-cli --on-conflict replace --json
version in ~/ai/minipostiz-cli/package.jsonversion in ~/ai/minipostiz-cli/plugin.json~/ai/supercli/plugins/minipostiz-cli/npm publish from ~/ai/minipostiz-cli/~/ai/minipostiz-cli/src/platforms/<name>.ts implementing the Platform interface:
export const myPlatform: Platform = {
name: "MyPlatform",
requiredAuth: ["field1", "field2"],
async post(creds, payload): Promise<PostResult> { ... },
async validate(creds): Promise<boolean> { ... },
}
src/platforms/index.ts and add to PLATFORMS mapauth set-<name> command to plugin.json (with "unsafe": true)~/ai/system/minipostiz-adm/docs/roadmap.md~/ai/minipostiz-cli/
├── src/
│ ├── main.ts # CLI entry — command router
│ ├── db.ts # SQLite (~/.minipostiz/minipostiz.db)
│ ├── output.ts # out() / err() — always JSON to stdout/stderr
│ ├── daemon.ts # Background scheduler (60s tick)
│ ├── commands/
│ │ ├── auth.ts # auth set/list/remove/verify
│ │ ├── publish.ts # immediate post
│ │ ├── schedule.ts # schedule create/list/cancel/run
│ │ ├── history.ts # post log
│ │ └── platforms.ts # list supported platforms
│ └── platforms/
│ ├── index.ts # PLATFORMS registry
│ ├── x.ts # X/Twitter — OAuth 1.0a
│ ├── bluesky.ts # Bluesky — AT Protocol
│ ├── mastodon.ts # Mastodon — REST
│ ├── discord.ts # Discord — Webhook
│ ├── telegram.ts # Telegram — Bot API
│ ├── devto.ts # Dev.to — REST
│ ├── linkedin.ts # LinkedIn — ugcPosts v2
│ ├── reddit.ts # Reddit — OAuth2 password
│ └── facebook.ts # Facebook — Graph API
├── plugin.json # Supercli plugin manifest (22 commands)
├── package.json # npm package (bun postinstall builds binary)
├── bin/minipostiz # Compiled binary (gitignored)
└── .agents/skills/maintainer/SKILL.md ← this file
~/ai/supercli/plugins/minipostiz-cli/ # MIRROR — keep in sync
├── plugin.json
├── meta.json
├── install-guidance.json
└── skills/quickstart/SKILL.md
minipostiz publish --platform discord --message "test" # ✅
minipostiz publish --platform devto --message "# test\nbody" # ✅
minipostiz publish --platform bluesky --message "test" # ✅
minipostiz publish --platform mastodon --message "test" # ✅
minipostiz publish --platform telegram --message "test" # ✅
minipostiz publish --platform linkedin --message "test" # ✅
Pending: x (needs Twitter API keys), reddit (needs OAuth app), facebook (needs page token)
| Platform | Notes |
|---|---|
| X/Twitter | OAuth 1.0a — all 4 keys required. App needs "Read and Write" permissions |
Uses /v2/ugcPosts (NOT /rest/posts — requires partner approval). personUrn auto-resolved via /v2/userinfo if token has openid scope | |
| Dev.to | First line of message becomes article title; rest becomes body |
| Password-grant OAuth — use a dedicated "script" app type | |
| Discord | Webhook only — no OAuth needed |
| Telegram | Bot must be added to channel/group before posting. chatId ≠ botId |
~/.minipostiz/minipostiz.db # SQLite — auth + posts
~/.minipostiz/daemon.pid # Daemon PID
~/.minipostiz/daemon.log # Daemon log