UNPKG

docubotai

Version:

A CLI tool for interacting with docubotai service

79 lines (63 loc) 2.86 kB
#!/usr/bin/env node const { program } = require('commander'); const package = require('../package.json'); // Command handlers const login = require('./commands/login'); const add = require('./commands/add'); const remove = require('./commands/remove'); const clear = require('./commands/clear'); const update = require('./commands/update'); const config = require('./commands/config'); const logout = require('./commands/logout'); const status = require('./commands/status'); const generateDocs = require('./commands/generate-docs'); const listProjects = require('./commands/list-projects'); const uninstall = require('./commands/uninstall'); program .name('docubotai') .description('Interact with docubotai API to document your codebase') .version(package.version); program.command('login').description('Authenticate with docubotai API').action(login); program .command('add') .description('Add files to staging area for documentation') .argument('<files...>', 'Files or glob patterns to stage') .action(add); program .command('remove') .description('Remove files from staging area') .argument('<files...>', 'Files or glob patterns to remove') .action(remove); program.command('clear').description('Clear all files from staging area').action(clear); program .command('update') .description('Process staged files and update documentation') .option('-w, --wait', 'Wait for documentation to complete') .action(update); program .command('config') .description('View or set configuration values') .option('-k, --key <key>', 'Set API key') .option('-u, --url <url>', 'Set API URL (e.g., http://localhost:3000/api for local development)') .option('-r, --reset-url', 'Reset API URL to default based on current environment') .option('-d, --development', 'Use development environment (localhost:3000)') .option('-p, --production', 'Use production environment (docubotai.app)') .action(config); program.command('logout').description('Clear stored API credentials').action(logout); program.command('status').description('Show files staged for documentation').action(status); program .command('generate-docs') .description('Generate documentation for all files in a directory') .argument('[directory]', 'Directory to scan for files (default: current directory)') .option('-p, --project <project-id>', 'Project identifier (default: directory name)') .action(generateDocs); program .command('list-projects') .description('List all projects you have access to') .option('-s, --select', 'Select a project and return its ID') .action(listProjects); program .command('uninstall') .description('Uninstall the DocubotAI CLI and clean up all local configurations') .action(uninstall); program.parse(process.argv);