Skip to main content
Common workflows using the Noorle CLI.

Plugin Development Workflow

# 1. Create project
noorle plugin new my-awesome-plugin --lang rust

# 2. Develop locally
cd my-awesome-plugin
# Edit src/lib.rs, noorle.yaml, etc.

# 3. Build
noorle plugin build
# Creates my-awesome-plugin.npack

# 4. Test locally
# (run tests, etc.)

# 5. Upload
noorle plugin push
# Version 1 created and active

# 6. Iterate
# Make changes
noorle plugin build
noorle plugin push
# Version 2 created

# 7. Manage versions
noorle plugin versions my-awesome-plugin
noorle plugin activate my-awesome-plugin --version 1
# Rollback if needed

Authentication Workflow

# First time - interactive login
noorle login
# Opens browser, user approves
# Token saved to ~/.noorle/token

# Check current token
noorle token show

# Logout when done
noorle logout

# Or use API key for scripts
export NOORLE_API_KEY=ak-...
noorle plugin list  # Uses API key

# Check current config
noorle config show

Agent Creation Workflow

# 1. List available plugins
noorle plugin list

# 2. Create agent
noorle agent create chatbot

# 3. Configure with plugins
noorle agent update chatbot --plugin my-plugin

# 4. Check agent
noorle agent info chatbot

# 5. List all agents
noorle agent list

# 6. Delete when done
noorle agent delete chatbot

CI/CD Workflow

#!/bin/bash

# CI pipeline for plugin
set -e

# 1. Build
noorle plugin build

# 2. Test
cargo test  # or pytest, npm test, etc.

# 3. Check size
ls -lh *.npack

# 4. Upload (only on release branch)
if [ "$GITHUB_REF" = "refs/heads/main" ]; then
  noorle plugin push --api-key $NOORLE_API_KEY
fi

Backup and Recovery

# 1. List all plugins
noorle plugin list --json > plugins_backup.json

# 2. List all agents
noorle agent list --json > agents_backup.json

# 3. Export plugin details
noorle plugin info my-plugin --json > my-plugin-details.json

# 4. For recovery, recreate from backup
# (manual process based on exported data)

Automation

# Upload multiple plugins
for plugin in plugin-*; do
  noorle plugin push -d $plugin
done

# Monitor plugin versions
watch -n 5 'noorle plugin list'

# Daily backup
0 2 * * * noorle plugin list --json > /backups/plugins-$(date +\%Y\%m\%d).json