UNPKG

@papavault/cli

Version:

CLI tool for Papa Vault Secret Manager

136 lines (92 loc) 2.99 kB
# Papa Vault CLI A command-line interface for Papa Vault Secret Manager. ## About Papa Vault Papa Vault is a secure secret management service that helps you manage and distribute secrets across your applications and environments. Visit [papavault.com](https://papavault.com) to learn more about our service and create your account. Key features: - Secure secret storage and management - Environment-based secret organization - Project-based access control - Easy integration with your applications - CLI tool for local development ## Installation ```bash npm install -g @papavault/cli ``` ## Usage ### CLI Commands ```bash # Login to Papa Vault papavault login # Set the current project papavault set-project <project-id> # Get credentials for a file papavault get-credentials <file-path> # List all projects papavault list-projects # Get project status papavault status # Sync credentials papavault sync ``` ### Programmatic Usage You can also use PapaVault programmatically in your Node.js applications: ```typescript import { PapaVault } from '@papavault/cli'; // Create a new instance const papavault = new PapaVault({ token: 'your-api-token', // optional, can be set via environment variable projectId: 'your-project-id', // optional, can be set later }); // Set project ID papavault.setProject('your-project-id'); // List all projects const projects = await papavault.listProjects(); // Get a specific project const project = await papavault.getProject('project-id'); // Get credential files for an environment const credentialFiles = await papavault.getCredentialFiles('environment-id'); // Get a specific credential file const credentialFile = await papavault.getCredentialFile('environment-id', 'file-id'); // Download a credential file const fileContent = await papavault.downloadCredentialFile('download-url'); ``` ### Environment Variables - `PAPAVAULT_TOKEN`: Your Papa Vault API token - `PAPAVAULT_PROJECT_ID`: Default project ID - `PAPAVAULT_API_URL`: Custom API URL (optional) ### Configuration The CLI stores configuration in your home directory: - Linux: `~/.config/papavault/config.json` - macOS: `~/Library/Preferences/papavault/config.json` - Windows: `%APPDATA%\papavault\config.json` ## Development ### Prerequisites - Node.js 20.x or higher - npm ### Setup 1. Clone the repository: ```bash git clone https://github.com/papavault/cli.git cd papavault-cli ``` 2. Install dependencies: ```bash npm install ``` 3. Build the project: ```bash npm run build ``` ### Available Scripts - `npm run build` - Build the project - `npm run start` - Run the built version - `npm run dev` - Run in development mode - `npm test` - Run tests - `npm run lint` - Run ESLint - `npm run format` - Format code with Prettier ## Contributing Contributions are welcome! Please feel free to submit a Pull Request. ## License ISC ## Support For support, please open an issue in the [GitHub repository](https://github.com/papavault/cli/issues).