open-social-network
v0.1.3
Published
Official CLI for creating, validating, previewing, and deploying sovereign Open Social Network pages.
Maintainers
Readme
Open Social Network CLI
Open Social Network CLI is the easiest way to create, update, validate, preview, and publish a sovereign Open Social Network page.
It turns the protocol into a real user flow:
- create an identity
- generate a private signing key
- publish
profile.json - publish
feed.json - sign every post
- preview the page locally
- deploy to a free static host
In One Minute
Run:
npx open-social-networkThe CLI asks simple questions and creates a standalone Open Social Network page project.
The generated project contains:
my-page/
├── open-social-network.config.json
├── public/
│ ├── .well-known/open-social-network.json
│ ├── assets/
│ ├── feed.json
│ ├── index.html
│ ├── page.js
│ ├── profile.json
│ └── styles.css
└── private/
└── identity.private.jwk.jsonThe public/ directory is safe to deploy. The private/ directory is not.
Why This Exists
The internet has protocols for websites, domain names, email, feeds, files, and even AI tool connections.
Social identity still mostly lives inside platforms.
Open Social Network changes that by making a social profile a page on the internet. Open Social Network CLI makes that idea usable without asking people to understand JSON, cryptographic signatures, or static hosting internals.
Quick Start
Create a page:
npx open-social-network init my-pageAdd a post:
cd my-page
npx open-social-network post "Hello from my sovereign Open Social Network page."Validate signatures and protocol files:
npx open-social-network validatePreview locally:
npx open-social-network previewDeploy:
npx open-social-network deploy --target githubor:
npx open-social-network deploy --target cloudflareDeployment Targets
GitHub Pages
GitHub Pages deployment uses the official GitHub CLI.
Install and log in:
gh auth loginThen deploy:
npx open-social-network deploy --target githubThe CLI publishes only the generated public/ files to a gh-pages branch. It never publishes private/.
Cloudflare Pages
Cloudflare Pages deployment uses Wrangler.
Install and log in:
npm install -g wrangler
wrangler loginThen deploy:
npx open-social-network deploy --target cloudflareThe CLI runs a direct upload of the generated public/ directory.
Private Key Safety
The private key is written to:
private/identity.private.jwk.jsonBack it up.
If you lose this file, you lose the ability to publish new posts for that identity.
If someone else gets this file, they can publish as that identity.
The generated .gitignore includes private/ automatically.
Commands
open-social-network init [folder]
open-social-network post "Your post" --project ./my-page
open-social-network validate --project ./my-page
open-social-network preview --project ./my-page --port 4173
open-social-network deploy --project ./my-page --target github
open-social-network deploy --project ./my-page --target cloudflareRunning open-social-network with no command starts the guided setup.
Related Repositories
open-social-network-core- protocol primitives, schemas, and specificationopen-social-network-web- the official web aggregatoropen-social-network-page- sovereign page template
Status
Open Social Network CLI is early alpha. The current priority is simple, safe publishing for real sovereign profiles.
