@aiscribe/cli
v1.2.0
Published
CLI tool for scaffolding AI Scribe plugins
Maintainers
Readme
AI Scribe Plugin CLI
A CLI tool for creating and managing AI Scribe plugins.
🚀 Installation
Global Installation (Recommended)
Method 1: Development Link
cd /path/to/aiscribe/cli
npm install
npm run build
npm linkMethod 2: Direct Install (Future)
npm install -g @aiscribe/cliLocal Installation
npm install @aiscribe/cli
npx aiscribe-plugin --help📖 Usage
Creating a New Plugin or Integration Starter
aiscribe-plugin new <name> [options]Options:
-d, --dir <directory>- Output directory (default: ".")-t, --type <type>- Starter type:weborintegration(default:web)
Examples:
# Create a web plugin starter (React-based)
aiscribe-plugin new my-web-plugin --type web
# Create an integration starter (webhook listener + SDK)
aiscribe-plugin new my-integration --type integration
# Create into a specific directory
aiscribe-plugin new my-integration --type integration --dir ./startersBuilding a Plugin
aiscribe-plugin build [options]Options:
-o, --output <path>- Output path (default: "./dist")
Example:
cd my-plugin
aiscribe-plugin buildGetting Help
aiscribe-plugin --help
aiscribe-plugin new --help
aiscribe-plugin build --help🔧 Plugin Development Workflow
# 1. Create plugin
aiscribe-plugin new my-plugin
cd my-plugin
# 2. Install dependencies
npm install
# 3. Development
npm run dev # Watch mode
# 4. Package for deployment (zip source code - builder will compile it)
zip -r my-plugin.zip .
# 5. Deploy
# Go to aiscribe.live, login and upload the zip file
# The builder will automatically run npm install and npm run build📁 Plugin Structure
my-web-plugin/
├── src/
│ ├── index.tsx # Plugin entry point
│ ├── MarkdownTablePlugin.tsx # Main plugin component
│ └── types.d.ts # Type definitions
├── public/ # Static assets
├── dist/ # Built output
├── package.json # Plugin configuration
├── tsconfig.json # TypeScript config
├── vite.config.ts # Vite build config
└── index.html # Plugin HTML template🎨 Web Plugins
Web plugins render output in the browser using React:
- Uses
@aiscribe/web-sdk - React-based UI components
- Renders transformer output
- Client-side execution
🔌 Integration Starters
Integration starters use @aiscribe/integration-sdk to automatically discover new sessions and update session context. The starter includes:
- Event listener that automatically discovers new sessions
- Example session handling with
session.updateContext(JSON.stringify(data)) .envvariables:AISCRIBE_API_KEY(required),AISCRIBE_API_URL(optional),WORKSPACE_IDS(optional, comma-separated)
🔌 Plugin Configuration
{
"fillyPlugin": {
"type": "web",
"supportedSpecTypes": ["key-valueset"],
"entryPoint": "index.html",
"runtime": {
"node": "20",
"react": "19.1.0"
}
}
}🛠️ Development
Prerequisites
- Node.js 20+
- npm or yarn
- TypeScript knowledge
- React experience
Building the CLI
npm install
npm run buildPublishing SDK Updates
When you update the web-sdk, publish a new version:
# 1. Update web-sdk
cd ../web-sdk
# Update version in package.json
npm run build
npm publish --access public
# 2. Update CLI templates to reference new version
cd ../cli/templates/web
# Update package.json dependency version
# 3. Rebuild CLI
cd ../..
npm run buildRunning Tests
npm testLinting
npm run lint
npm run lint:fix🤝 Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
📄 License
MIT License - see LICENSE file for details.
Happy Plugin Development! 🚀
