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