Official command-line interface for Nimba SMS API. Manage your SMS, extensions, contacts, and more directly from your terminal.
curl -sSL https://raw.githubusercontent.com/nimbasms/nimbasms-cli/main/scripts/install.sh | bash
Run PowerShell as administrator and execute:
iwr -useb https://raw.githubusercontent.com/nimbasms/nimbasms-cli/main/scripts/install.ps1 | iex
You can also download the binary directly from the releases page.
Available binaries:
nimbasms-linux-amd64
- Linux (64-bit)nimbasms-linux-arm64
- Linux ARM (64-bit)nimbasms-darwin-amd64
- macOS (Intel)nimbasms-darwin-arm64
- macOS (Apple Silicon)nimbasms-windows-amd64.exe
- Windows (64-bit)
The CLI provides comprehensive tools for building and managing extensions. Here's how to use them:
# List all extensions nimbasms extensions list # View extension details nimbasms extensions get EXTENSION_ID # Create a new extension nimbasms extensions create \ --name "My Extension" \ --description "A powerful extension for Nimba SMS" \ --base-api-url "https://api.myextension.com" \ --auth-type api_key # Update an extension nimbasms extensions update EXTENSION_ID \ --name "Updated Name" \ --description "Updated description"
-
Create Extension
nimbasms extensions create \ --name "My Extension" \ --description "Extension description" \ --base-api-url "https://api.myextension.com" \ --auth-type api_key \ --docs-url "https://docs.myextension.com"
-
Add Actions
# Add an action to your extension nimbasms extensions EXTENSION_ID actions add \ --name "send_message" \ --method POST \ --endpoint "/messages" \ --description "Send a message through the extension"
-
Configure OAuth (if needed)
nimbasms extensions update EXTENSION_ID \ --auth-type oauth2 \ --oauth2-config '{ "client_id": "your_client_id", "client_secret": "your_client_secret", "authorization_url": "https://auth.myext.com/authorize", "token_url": "https://auth.myext.com/token" }'
-
Upload Logo
nimbasms extensions upload-logo EXTENSION_ID path/to/logo.png
-
Publish Extension
nimbasms extensions publish EXTENSION_ID
# List all actions nimbasms extensions EXTENSION_ID actions list # Get action details nimbasms extensions EXTENSION_ID actions get ACTION_ID # Update an action nimbasms extensions EXTENSION_ID actions update ACTION_ID \ --name "updated_action" \ --description "Updated description" # Delete an action nimbasms extensions EXTENSION_ID actions delete ACTION_ID
# Add a pricing plan nimbasms extensions EXTENSION_ID plans add \ --name "Basic" \ --price "10000" \ --billing-period monthly \ --features '{"messages": 1000, "premium_support": false}' # List pricing plans nimbasms extensions EXTENSION_ID plans list
We welcome contributions to the Nimba SMS CLI! Here's how you can help:
-
Clone the Repository
git clone https://github.com/nimbasms/nimbasms-cli.git cd nimbasms-cli
-
Install Dependencies
make install
-
Run Tests
make test
-
Check Code Style
make lint
-
Create a New Branch
git checkout -b feature/your-feature-name
-
Make Your Changes
- Follow PEP 8 style guide
- Add tests for new features
- Update documentation as needed
-
Verify Your Changes
make verify make test make lint
-
Create a Release (for maintainers)
# For bug fixes make release-patch # For new features make release-minor # For breaking changes make release-major
-
Before Submitting
- Ensure all tests pass
- Update documentation if needed
- Add tests for new features
- Follow code style guidelines
-
Pull Request Process
- Create a descriptive PR title
- Fill out the PR template
- Reference any related issues
- Update CHANGELOG.md if applicable
- Use type hints
- Keep functions focused and small
- Write descriptive docstrings
- Follow PEP 8 guidelines
- Use meaningful variable names
# Run all tests make test # Run specific test file poetry run pytest tests/test_commands_extensions.py # Run with coverage report poetry run pytest --cov=src tests/
When adding new features, please:
- Update the README.md if needed
- Add docstrings to new functions/classes
- Update the command help text
- Add examples to the documentation
For more information, technical@nimbasms.com.