-
Notifications
You must be signed in to change notification settings - Fork 26
docs: document NIPs and PR template usage #393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: document NIPs and PR template usage #393
Conversation
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR documents NIPs (Nostr Implementation Possibilities) and establishes standardized PR template usage across the nostr-java project. The changes create comprehensive contribution guidelines and update the CI workflow to enforce stricter naming conventions.
- Adds a complete index of 87 NIP specifications to AGENTS.md
- Creates CONTRIBUTING.md with detailed development guidelines and commit/PR title formatting requirements
- Updates the PR quality gate workflow to validate both PR titles and commit messages against the
type: descriptionformat
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| CONTRIBUTING.md | Creates new contributor guidelines with formatting rules and PR template requirements |
| AGENTS.md | Adds comprehensive NIP index and updates PR guidelines with detailed type list and naming requirements |
| .github/workflows/pr-quality-gate.yml | Updates CI workflow to validate commit messages and enforce stricter naming conventions |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
|
||
| - PR summaries must reference modified files with file path citations (e.g. `F:path/to/file.java†L1-L2`). | ||
| - PR titles and commit messages must follow the `type: description` naming format (e.g., `docs: update AGENTS`). | ||
| - PR titles and commit messages must follow the `type: description` naming format. |
Copilot
AI
Aug 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line duplicates the formatting requirements already specified in lines 127-128. Consider removing this line to avoid redundancy and maintain consistency with the detailed specification below.
| - PR titles and commit messages must follow the `type: description` naming format. |
| const verbs = ['Add','Fix','Update','Refactor','Remove','Implement','Document','Docs','Test','Build','Improve','Feat','Enable','Disable','Migrate']; | ||
| const titleOK = new RegExp(`^(${verbs.join('|')})\\b.+`).test(title); | ||
| const types = ['feat','fix','docs','refactor','test','chore','ci','build','perf','style']; | ||
| const naming = `^(${types.join('|')}):\\s+[A-Z][^\\s]*\\s+.+`; |
Copilot
AI
Aug 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The regex pattern [A-Z][^\s]*\s+.+ requires the description to start with a capital letter followed by a non-whitespace character and then whitespace, but this doesn't properly validate the 'verb + object' requirement. For example, 'docs: A' would pass validation but isn't a proper verb + object phrase. Consider refining the pattern to better match the intended format.
| const naming = `^(${types.join('|')}):\\s+[A-Z][^\\s]*\\s+.+`; | |
| const naming = `^(${types.join('|')}):\\s+[A-Z][a-z]+\\s+[a-zA-Z0-9].+`; |
Summary
Testing
timeout 15 mvn -q verify(SLF4J: No SLF4J providers were found; build did not run)Network Access
https://chatgpt.com/codex/tasks/task_b_68a4d060692c833196c490b93709a438