Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions docs/public/docs/help/contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Contributing

Thank you for your interest in contributing to Proton Pass CLI!

## Reporting Issues

If you find a bug or have a feature request, please check our [Troubleshooting guide](troubleshoot.md) first to see if it is a known issue or configuration problem.

## Development Workflow

If you are contributing code to the CLI, here are the recommended configuration options to set up your development environment.

### Debug Logging

Enable verbose logging to see what the CLI is doing under the hood. This is essential for debugging logic errors.

```bash
export PASS_LOG_LEVEL=debug
# or for maximum detail:
export PASS_LOG_LEVEL=trace
```

### Safe Key Storage for Development

When developing locally or in a container (like a devcontainer), you might not have access to the system keyring (macOS Keychain, Linux Secret Service). You can force the CLI to use a local file for key storage:

```bash
# WARNING: This stores the key in plain text in your session directory.
# Only use this for development, never in production.
export PROTON_PASS_KEY_PROVIDER=fs
```

See [Configuration](../get-started/configuration.md) for more details on storage backends.

### Testing

You can verify your session and connectivity with:

```bash
pass-cli test # Checks API connectivity
```

A good practice is to run a quick end-to-end test to ensure core functionality is working:

1. `pass-cli vault create --name "DevTest"`
2. `pass-cli item create login --vault-name "DevTest" --title "TestLogin" --username "user" --password "pass"`
3. `pass-cli item list --vault-name "DevTest"`
4. Clean up by deleting the vault when you are done.

For SSH Agent development, use the debug command to analyze why keys might be rejected:

```bash
pass-cli ssh-agent debug --vault-name "My Dev Vault"
```
4 changes: 4 additions & 0 deletions docs/public/docs/help/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,7 @@ We send anonymized telemetry that **never** includes any personal or sensitive d
Certainly! There are many ways of disabling it. If you want to disable it for this application you can set an environment variable `PROTON_PASS_DISABLE_TELEMETRY`. If the environment variable is set telemetry will not be saved and the currently saved locally will be cleared.

If you want to disable it globally you can go to your [Account security settings](https://account.proton.me/pass/security) and disable `Collect usage diagnostics`

## **How can I contribute?**

We welcome contributions! Please check our [Contributing guide](contributing.md) for details on how to set up your development environment and report issues.
1 change: 1 addition & 0 deletions docs/public/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,7 @@ Did you have any issue during the installation? Take a look at our [Troubleshoot
- **[Installation](get-started/installation.md)** - Installation instructions for all platforms
- **[Pass objects](objects/share.md)** - The different objects you can manage in Proton Pass
- **[Reference](commands/login.md)** - Reference guide to the commands the Pass CLI has to offer
- **[Contributing](help/contributing.md)** - Guidelines for contributing to the project

## What is Proton Pass CLI?

Expand Down