diff --git a/docs/public/docs/help/contributing.md b/docs/public/docs/help/contributing.md new file mode 100644 index 0000000..203321a --- /dev/null +++ b/docs/public/docs/help/contributing.md @@ -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" +``` \ No newline at end of file diff --git a/docs/public/docs/help/faq.md b/docs/public/docs/help/faq.md index 8ac0af5..e6cd5fe 100644 --- a/docs/public/docs/help/faq.md +++ b/docs/public/docs/help/faq.md @@ -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. diff --git a/docs/public/docs/index.md b/docs/public/docs/index.md index d76649b..0a06516 100644 --- a/docs/public/docs/index.md +++ b/docs/public/docs/index.md @@ -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?