diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..941bf9b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,62 @@ +--- +name: ๐Ÿ› Bug Report +about: Report a bug in the Password Manager backend +title: "[BUG] " +labels: bug +assignees: '' +--- + +## ๐Ÿ› Bug Description + + +## ๐Ÿ” Steps to Reproduce +1. Authenticate and obtain JWT token via Vault Web +2. Call endpoint `...` with payload `...` +3. Observe the error + +## โœ… Expected Behavior + + +## โŒ Actual Behavior + +```json +{ + "status": 500, + "error": "..." +} +``` + +## ๐Ÿงฑ Affected Area + +- [ ] Password Entry (CRUD) +- [ ] Category Management +- [ ] Vault Setup / Unlock / Rotate / Migrate +- [ ] Password Reveal (master password / vault token) +- [ ] Password Generation +- [ ] Password Breach Check +- [ ] JWT Authentication / Security +- [ ] Encryption / Decryption +- [ ] Other: ___ + +## โš ๏ธ Priority + +- [ ] ๐Ÿ”ด Critical โ€“ data loss, security vulnerability, or system crash +- [ ] ๐ŸŸ  High โ€“ core feature broken, no workaround +- [ ] ๐ŸŸก Medium โ€“ feature partially broken, workaround exists +- [ ] ๐ŸŸข Low โ€“ minor issue or cosmetic + +## ๐Ÿ–ฅ๏ธ Environment +- OS: +- Java Version: +- Spring Boot Version: +- Run Mode: +- Port: + +## ๐Ÿ” Vault State (if relevant) +- Vault initialized: +- Vault locked: +- Using X-Vault-Token: +- `vault.requireInitialization` enabled: + +## ๐Ÿ“Ž Logs / Additional Context + \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..c5e3517 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: ๐Ÿ’ฌ General Questions & Discussions + url: https://github.com/Vault-Web/password-manager/discussions + about: For questions about setup, usage, or integration with Vault Web โ€” use Discussions, not Issues. + - name: ๐Ÿ” Security Vulnerability + url: https://github.com/Vault-Web/password-manager/security/advisories/new + about: Please report security vulnerabilities privately via GitHub Security Advisories, NOT as public issues. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..a463c70 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,48 @@ +--- +name: ๐Ÿš€ Feature Request +about: Suggest a new feature or improvement for the Password Manager +title: "[FEATURE] " +labels: enhancement +assignees: '' +--- + +## ๐Ÿš€ Feature Description + + +## ๐Ÿ’ก Motivation / Problem + + +## ๐Ÿงฑ Affected Area + +- [ ] Password Entry API (`/api/passwords`) +- [ ] Category API (`/api/categories`) +- [ ] Vault API (`/api/vault`) +- [ ] Password Generation (`/api/passwords/generate`) +- [ ] Password Breach Check +- [ ] JWT / Security Layer +- [ ] Encryption / Crypto Service +- [ ] Database / Repository Layer +- [ ] Configuration / Properties +- [ ] Other: ___ + +## โš ๏ธ Priority +- [ ] ๐Ÿ”ด Critical โ€“ blocking major use case +- [ ] ๐ŸŸ  High โ€“ significant improvement to core functionality +- [ ] ๐ŸŸก Medium โ€“ useful but not urgent +- [ ] ๐ŸŸข Low โ€“ nice to have + +## ๐Ÿ“ Proposed Solution + +```http +POST /api/... +Authorization: Bearer +{ + "field": "value" +} +``` + +## ๐Ÿ”„ Alternatives Considered + + +## ๐Ÿ“Ž Additional Context + \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..ed53760 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,51 @@ +## ๐Ÿ“‹ Summary + + +Closes # + +## ๐Ÿ”ง Type of Change +- [ ] ๐Ÿ› Bug fix +- [ ] ๐Ÿš€ New feature +- [ ] โ™ป๏ธ Refactor / code cleanup +- [ ] ๐Ÿ“ Documentation update +- [ ] โœ… Test improvement +- [ ] ๐Ÿ”’ Security fix +- [ ] โš™๏ธ Configuration / build change + +## ๐Ÿงฑ Affected Layer(s) +- [ ] Controller (`/controllers`) +- [ ] Service (`/services`) +- [ ] Repository (`/repositories`) +- [ ] Model / DTO (`/model`, `/model/dtos`) +- [ ] Security (`/security` โ€” JWT, encryption) +- [ ] Exception Handling (`/exceptions`) +- [ ] Config (`/config`) +- [ ] Tests (`/test`) + +## ๐Ÿ” Security Checklist + +- [ ] No secrets, tokens, or passwords are logged or exposed +- [ ] JWT validation logic is unchanged or reviewed +- [ ] Vault token (`X-Vault-Token`) handling is not weakened +- [ ] Encryption / decryption behaviour is unchanged or explicitly reviewed +- [ ] No `ENCRYPTION_SECRET` or master password is hardcoded + +## โœ… General Checklist +- [ ] I have read the [CONTRIBUTING](../../CONTRIBUTING.md) guide +- [ ] Code follows existing style (Spring Boot conventions, Lombok, etc.) +- [ ] I have tested locally (`./mvnw spring-boot:run` on port 8091) +- [ ] Swagger UI (`/swagger-ui.html`) reflects changes correctly (if API changed) +- [ ] Existing tests pass (`./mvnw test`) +- [ ] New tests added for new behaviour (if applicable) +- [ ] No new compiler warnings introduced + +## ๐Ÿงช How to Test + +1. Set `ENCRYPTION_SECRET` env variable +2. Start Vault Web Docker (`docker compose up -d`) +3. Run: `cd backend && ./mvnw spring-boot:run` +4. Open Swagger at `http://localhost:8091/swagger-ui.html` +5. ... + +## ๐Ÿ“Ž Additional Notes + \ No newline at end of file