@papavault/cli
v1.2.2
Published
CLI tool for Papa Vault Secret Manager
Maintainers
Readme
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 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
npm install -g @papavault/cliUsage
CLI Commands
# 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 syncProgrammatic Usage
You can also use PapaVault programmatically in your Node.js applications:
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 tokenPAPAVAULT_PROJECT_ID: Default project IDPAPAVAULT_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
- Clone the repository:
git clone https://github.com/papavault/cli.git
cd papavault-cli- Install dependencies:
npm install- Build the project:
npm run buildAvailable Scripts
npm run build- Build the projectnpm run start- Run the built versionnpm run dev- Run in development modenpm test- Run testsnpm run lint- Run ESLintnpm 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.
