Skip to content

rubenartus/noslop

Repository files navigation

noslop

Let Claude Code manage your X posts - no slop, just good content

npm version CI License: MIT Node.js Version

A CLI tool designed for AI assistants like Claude Code to draft, schedule, and manage your social media posts. All content lives as simple markdown files in folders - easy to version control, easy for AI to work with, easy for you to review.

The TUI gives you a quick way to check what's scheduled, mark posts as ready, and keep your AI on track.

Screenshot

noslop TUI

Features

  • AI-first CLI - Built for Claude Code to draft, schedule, and reschedule posts on demand
  • Simple markdown files - All content stored as .md files in drafts/ and posts/ folders
  • Human-friendly TUI - Review and direct the work with keyboard shortcuts
  • Content workflow - Draft → Ready → Post → Published pipeline
  • Schedule view - Calendar view of what's coming up

Installation

# npm
npm install -g noslop

# pnpm
pnpm add -g noslop

# Or run directly with npx
npx noslop

Quick Start

# Initialize a new project
noslop init

# Create a new draft
noslop new "My First Post"

# Open interactive TUI
noslop

Commands

Core Commands

Command Description
noslop Open interactive TUI
noslop init [name] Initialize new project
noslop help Show all commands

Content Management

Command Description
noslop new <title> Create new draft
noslop list [-d|--drafts] [-p|--posts] List content
noslop status Show project summary
noslop show <id> Show full content

Workflow Actions

Command Description
noslop ready <id> Mark draft as ready
noslop unready <id> Mark as in-progress
noslop schedule <id> <datetime> Set schedule (YYYY-MM-DD HH:MM)
noslop delete <id> Delete a draft

X Integration

Command Description
noslop auth x Authenticate with X API
noslop auth x --status Check authentication status
noslop auth x --list List all authenticated accounts
noslop auth x --unlink Remove account link from project
noslop auth x --logout <name> Remove stored credentials
noslop x post <id> Post a draft to X immediately

TUI Keyboard Shortcuts

Key Action
Tab Switch between Drafts/Posts
↑/↓ Navigate items
Enter Toggle ready (drafts) / Add URL (posts)
Space Move to Posts
Backspace Delete draft (in-progress only)
s Toggle schedule view
←/→ Navigate weeks (schedule view)
q Quit

Project Structure

After running noslop init, your project will have:

your-project/
├── CLAUDE.md      # Your brand voice & guidelines
├── NOSLOP.md      # CLI documentation (auto-generated)
├── drafts/        # Work in progress
│   └── post-name/
│       ├── x.md   # Post content
│       └── assets/
└── posts/         # Published content
    └── post-name/
        └── x.md

Post File Format

Each post is stored in x.md with this structure:

# Post Title

## Post
\`\`\`
Your post content here
\`\`\`

## Status
draft | ready

## Media
Description of media to attach

## Scheduled
2026-01-27 09:00

## Posted
2026-01-27 09:15

## Published
https://x.com/user/status/123

The ## Published URL is automatically added when you use noslop x post.

X Integration

noslop can post directly to X (Twitter).

Setup

  1. Create an X Developer App at X Developer Portal

    • Enable "Read and Write" permissions
    • Note your API Key and API Secret
  2. Authenticate (in your noslop project folder):

noslop auth x
  1. Follow the prompts:
    • Enter an account name (e.g., "personal", "work", "client-acme")
    • Enter your API Key and Secret (or set NOSLOP_X_API_KEY and NOSLOP_X_API_SECRET)
    • Browser opens to X for authorization
    • Click "Authorize" on X
    • Enter the PIN shown by X

The account name is saved in your project's CLAUDE.md file:

## X Account
personal

Credentials are stored globally at ~/.config/noslop/credentials/x/.

Multiple Accounts

Each noslop project can be linked to a different X account:

# In project A (your personal account)
noslop auth x              # Enter: personal

# In project B (client work)
noslop auth x              # Enter: client-acme

# List all authenticated accounts
noslop auth x --list

# Check which account this project uses
noslop auth x --status

# Unlink project from account
noslop auth x --unlink

# Remove stored credentials
noslop auth x --logout personal

Workflow

# 1. Create a draft
noslop new "Monday Motivation"

# 2. Mark it ready when done
noslop ready D001

# 3. Post to X
noslop x post D001

# Draft is automatically moved to posts/ with the X URL saved

Working with AI Assistants

noslop is designed to work with Claude Code and other AI assistants:

  1. CLAUDE.md - Add your brand voice, tone guidelines, and content rules
  2. NOSLOP.md - Auto-generated CLI documentation for AI reference
  3. Use CLI commands instead of manual file editing

Requirements

  • Node.js 18 or higher
  • Terminal with Unicode support

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT


Made with love for content creators who prefer the terminal

About

Let Claude Code manage your X posts - no slop, just good content

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors