First off, thank you for considering contributing!
We welcome contributions of any kind: bug fixes, new features, documentation improvements, UI enhancements, or security suggestions.
All contributors are expected to follow the Contributor Covenant Code of Conduct.
Be respectful, collaborative, and professional in all interactions.
If you find a bug or have a suggestion:
- Check if the issue already exists.
- Open a new issue with a descriptive title and detailed steps to reproduce.
- Include screenshots or logs if relevant.
Labels: Use the appropriate label like bug, enhancement, or documentation.
To propose a new feature:
- Open an issue with the
[Feature Request]prefix. - Describe the problem and why it’s important.
- Suggest a solution or approach if possible.
We use Pull Requests (PRs) for all contributions.
- Fork the repository and create a branch:
git checkout -b feature/my-new-feature- Make your changes and ensure they follow coding guidelines.
- Run tests to make sure nothing is broken.
- Commit your changes with a clear message:
git commit -m "feat: add new secret type handling"- Push your branch to your fork:
git push origin feature/my-new-feature- Open a PR against the main branch of this repository.
PR Template: Please follow the included PR template to provide context and motivation.
- Node.js >= 18
- npm or yarn
- Electron-compatible OS
git clone https://github.com/yourusername/secura.git
cd secura
npm installnpm run devnpm run build
npm run package- Language & Frameworks: TypeScript, React, Electron, TailwindCSS, Radix UI
- File Naming: PascalCase.tsx for components, camelCase.ts for utils
- Formatting: Prettier + ESLint enforced
- State Management: Use Zustand for app state
- IPC & Vault Calls: Always use window.vault.* or ipcRenderer.invoke via preload
We follow the Conventional Commits style:
| Type | Description |
|---|---|
| feat | new feature |
| fix | bug fix |
| docs | documentation only |
| style | formatting, missing semi-colons |
| refactor | code change without new features |
| test | adding or updating tests |
| chore | build process, dependencies |
Example:
feat: add password strength meter to AddSecretModalThank you for helping make Secura Vault better and more secure!