@kya-os/cli
Version:
CLI for MCP-I setup and management
261 lines (177 loc) ⢠6.09 kB
Markdown
# @kya-os/cli
Command-line interface for KYA-OS MCP-I setup and management. Claim a decentralized and unique to the internet, Agent identity as well as automatically register your MCP Server on popular directories.
## Installation
```bash
npm install -g @kya-os/cli
# or use directly with npx
npx @kya-os/cli init
```
## Quick Start
```bash
# Initialize KYA-OS in your project
npx @kya-os/cli init
# Check your setup status
npx @kya-os/cli check
# See the full CLI experience demo
npx @kya-os/cli demo
```
## Features
- š **Zero-config setup** - Auto-detects your project type (Next.js, Node.js, etc.)
- šØ **Beautiful animations** - Terminal effects for key operations
- š **Secure by default** - Encrypted key storage, automatic rotation support
- š **Platform agnostic** - Works with Vercel, AWS, Docker, and more
- ā” **Developer friendly** - Clear error messages, helpful suggestions
## Commands
### `init`
Initialize MCP-I in your project with an interactive setup wizard.
```bash
kya-os init
```
Options:
- `-n, --name <name>` - Agent name
- `-d, --description <description>` - Agent description
- `-r, --repository <url>` - Repository URL
- `-p, --platform <platform>` - Target platform (auto-detected if not specified)
- `--skip-registration` - Skip agent registration (create files only)
- `--force` - Overwrite existing configuration
### `check`
Check MCP-I setup status and verify configuration.
```bash
kya-os check
```
Options:
- `-v, --verbose` - Show detailed information
### `env`
Manage environment variables for different deployment targets.
```bash
# Show required environment variables
kya-os env show
# Copy environment variables to clipboard
kya-os env copy
# Verify environment variables are set correctly
kya-os env verify
```
### `rotate`
Rotate identity keys with automatic grace period handling.
```bash
kya-os rotate
```
Options:
- `-f, --force` - Force rotation without confirmation
- `-r, --reason <reason>` - Reason for rotation
### `claim`
Get agent claim/edit URLs for the KYA-OS directory.
```bash
kya-os claim
```
### `demo`
Run interactive demos to explore KYA-OS CLI features.
```bash
# Interactive menu
kya-os demo
# Run specific demos directly
kya-os demo --init # Full init experience
kya-os demo --ui # UI components showcase
kya-os demo --effects # Terminal effects showcase
kya-os demo --security # Security scenarios
# Run init demo at increased speed
kya-os demo --init --fast
```
Available demos:
- š **Init Experience** - See the full init command flow with blackhole animation
- šØ **UI Components** - Explore tables, boxes, and gradient effects
- ⨠**Terminal Effects** - Watch all animation effects
- š **Security Scenarios** - Key deletion and identity creation
## Terminal Effects
The CLI includes several stunning terminal effects:
- **š„ Burn** - Text burns away dramatically
- **⨠Beams** - Light beams illuminate the text
- **š» Binary Path** - Matrix-style binary rain reveals text
- **š Decrypt** - Movie-style decryption animation
- **š Blackhole** - Text gets sucked into a void
- **š Waves** - Wave patterns flow across text
Effects automatically disable in CI/CD environments or when `KYA_EFFECTS_ENABLED=false`.
## Environment Variables
The CLI respects the following environment variables:
- `KYA_API_URL` - KYA-OS API endpoint (default: https://api.knowthat.ai)
- `KYA_API_KEY` - API key for authentication
- `KYA_ENV` - Environment (development/staging/production)
- `KYA_EFFECTS_ENABLED` - Enable/disable terminal effects (default: true)
- `NO_COLOR` - Disable all colors (respects NO_COLOR standard)
## Configuration
The CLI stores configuration in `.kya-os/` directory in your project root:
```
.kya-os/
āāā config.json # Agent configuration
āāā identity.json # Identity information (DID, keys)
āāā .gitignore # Ensures secrets aren't committed
```
## Platform-Specific Guides
### Vercel
```bash
# Initialize with Vercel auto-detection
npx @kya-os/cli init
# Copy environment variables for Vercel dashboard
npx @kya-os/cli env copy
```
### AWS Lambda
```bash
# Initialize for AWS
npx @kya-os/cli init --platform aws
# Generate CloudFormation template
npx @kya-os/cli env show --format cloudformation
```
### Docker
```bash
# Initialize for Docker
npx @kya-os/cli init --platform docker
# Generate docker-compose.yml snippet
npx @kya-os/cli env show --format docker-compose
```
## Development
```bash
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Run demos
npm run demo # Interactive menu
npm run demo:init # Init experience
npm run demo:ui # UI components
npm run demo:effects # Terminal effects
npm run demo:security # Security scenarios
npm run demo:fast # Fast init demo
```
### Creating New Effects
1. Copy the effect template:
```bash
cp src/effects/template/effect-template.ts src/effects/implementations/my-effect.ts
```
2. Implement your effect logic
3. Register in `src/effects/index.ts`
4. Test with:
```bash
npm run dev:effects -- --effect my-effect --text "Test"
```
See `src/effects/template/README.md` for detailed instructions.
## Troubleshooting
### Effects not showing
- Check if running in TTY: `test -t 1 && echo "TTY available"`
- Ensure `KYA_EFFECTS_ENABLED` is not set to `false`
- Try running with `--disable` flag to confirm it works without effects
### Module not found errors
- Run `npm run build` to ensure all files are compiled
- Check that you're using Node.js 16+ with ESM support
### Permission denied
- On macOS/Linux: Use `sudo npm install -g @kya-os/cli`
- Or use npx: `npx @kya-os/cli` (no installation needed)
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-effect`)
3. Commit your changes (`git commit -m 'Add amazing effect'`)
4. Push to the branch (`git push origin feature/amazing-effect`)
5. Open a Pull Request
## License
MIT