Autonnel v0.1.0

CLI install

Authorize the autonnel CLI against the marketplace, list what you own, and install purchased packs.


The autonnel CLI can authorize against the marketplace, list your purchases, and install a purchased pack into your project — fetching it from S3, verifying its checksum, unpacking it, and printing the exact astro.config change to make. It never edits your config for you.

These three commands extend the base CLI and all run from your project root (the directory with package.json).

npx autonnel authorize                          Authorize this machine against the marketplace
npx autonnel orders                             List your purchased plugins and template packs
npx autonnel install <item> [--version <v>]     Download and install a purchased pack

authorize — connect this machine

npx autonnel authorize

This uses the OAuth 2.0 device authorization flow (RFC 8628). The CLI prints a URL and a short code, then waits:

To authorize this CLI, visit: https://autonnel.com/activate
And enter the code:          ABCD-1234

Waiting for authorization...

Open the URL (the CLI also tries to open your browser automatically), sign in to autonnel.com if needed, enter the code, and approve. The CLI is polling in the background; once you approve, it stores a long-lived token and prints:

Authorized.
Credentials saved to .autonnel/credentials.json

The token is written to .autonnel/credentials.json. That folder is gitignored — keep it out of version control. The code expires after 10 minutes; if it lapses, just run authorize again.

orders — see what you own

npx autonnel orders

Lists every plugin and template pack on your account:

ITEM                       KIND      VERSION  PURCHASED
-------------------------  --------  -------  ----------
@autonnel/plugin-oauth2    plugin    1.2.0    2026-06-18
@autonnel/template-atelier template  1.0.0    2026-06-19

Add --json for machine-readable output. If you have not authorized yet (or the token expired), the command tells you to run npx autonnel authorize.

install — fetch and unpack a pack

npx autonnel install @autonnel/template-atelier

You can pass either the npm package name (@autonnel/template-atelier) or the marketplace slug (template-atelier). To pin a specific version:

npx autonnel install @autonnel/template-atelier --version 1.0.0

What it does:

  1. Checks the item is in your orders. If not, it tells you to buy it first.
  2. Requests a short-lived presigned S3 download URL and fetches the .zip.
  3. Verifies the SHA-256 of the download against the expected checksum before writing anything to disk. A mismatch aborts the install.
  4. Extracts into packages/<dir> (replacing any existing folder of the same name).
  5. Validates the pack and checks its required Autonnel version against the autonnel installed in your node_modules.
  6. Adds a file:./packages/<dir> dependency to your package.json.
  7. Prints the exact astro.config snippet to paste — it does not modify your config.

Example tail of a successful install:

Installed @autonnel/template-atelier@1.0.0 into packages/template-atelier

Add this to your astro.config to enable the pack:

  import templateAtelier from '@autonnel/template-atelier';
  // integrations: [autonnel(), templateAtelier()]

Edit: astro.config.mjs

Next: npm install && npm run build

Paste the snippet into your integrations array (after autonnel()), then run npm install && npm run build. If your project has more than one config file, the CLI lists each one to update.

Where credentials live

PathContentsNotes
.autonnel/credentials.jsonThe access token, scope, and issuerGitignored; mode 600 on Unix

To re-authorize a different account, run authorize again — it overwrites the stored token. The token is scoped to marketplace:read marketplace:download only; it cannot touch your funnels, orders, or admin data.

Using a non-default marketplace

By default the CLI talks to https://autonnel.com. Point it elsewhere (for testing) with --base <url> on any command, or the AUTONNEL_MARKETPLACE_URL environment variable.