-
Notifications
You must be signed in to change notification settings - Fork 16
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
Update CONTRIBUTING.md #86
Conversation
Adding some general guidelines abstracted from NMDC
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.
Looks good, I made some minor comments and suggestions.
### GitHub Best Practice | ||
|
||
- Creating and curating issues | ||
- Read ["About Issues"][[about-issues]] |
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.
I assume ["About Issues"][[about-issues]] should be ["About Issues"][about-issues]
- Read ["About Pull Requests"][about-pulls] | ||
- Read [GitHub Pull Requests: 10 Tips to Know](https://blog.mergify.com/github-pull-requests-10-tips-to-know/) | ||
- Pull Requests (PRs) should be atomic and aim to close a single issue | ||
- Long running PRs should be avoided where possible |
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.
Do you mean "long"? "Long running" means persisting through time; that's not what you mean, do you?
- Read [GitHub Pull Requests: 10 Tips to Know](https://blog.mergify.com/github-pull-requests-10-tips-to-know/) | ||
- Pull Requests (PRs) should be atomic and aim to close a single issue | ||
- Long running PRs should be avoided where possible | ||
- PRs should reference issues following standard conventions (e.g. “fixes #123”) |
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.
mention that this enables them to trigger actions like closing the linked issue? It's not just a style thing; it's functional.
- Pull Requests (PRs) should be atomic and aim to close a single issue | ||
- Long running PRs should be avoided where possible | ||
- PRs should reference issues following standard conventions (e.g. “fixes #123”) | ||
- Schema developers should always be working on a single issue at any one time |
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.
Really? Why schema developers in particular?
- Long running PRs should be avoided where possible | ||
- PRs should reference issues following standard conventions (e.g. “fixes #123”) | ||
- Schema developers should always be working on a single issue at any one time | ||
- Never work on the main branch, always work on an issue/feature branch |
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 really depends on how the project is structured, and may be confusing to schema developers who aren't highly technical.
### Modeling Best Practice | ||
|
||
- Follow Naming conventions | ||
- Standard LinkML naming conventions should be followed (UpperCamelCase for classes and enums, snake_case for slots) |
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.
- Standard LinkML naming conventions should be followed (UpperCamelCase for classes and enums, snake_case for slots) | |
- Follow standard LinkML naming conventions (UpperCamelCase for classes and enums, snake_case for slots) | |
- [Schemas](https://linkml.io/linkml/schemas/index.html) | ||
- [FAQ](https://linkml.io/linkml/faq/index.html) | ||
|
||
### Modeling Best Practice |
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.
### Modeling Best Practice | |
### Data Modeling Best Practice | |
- The names for classes should be nouns or noun-phrases: Person, GenomeAnnotation, Address, Sample | ||
- Spell out abbreviations and short forms, except where this goes against convention (e.g. do not spell out DNA) | ||
- Elements that are imported from outside (e.g. schema.org) need not follow the same naming conventions | ||
- Multivalued slots should be named as plurals |
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.
can you add a brief example? Do you mean, like, "synonyms"?
- Include examples and counter-examples (intentionally invalid examples) | ||
- Rationale: these serve as documentation and unit tests | ||
- These will be used by the automated test suite | ||
- All elements of the nmdc-schema must be illustrated with valid and invalid data examples in src/data. New schema elements will not be merged into the main branch until examples are provided |
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.
- All elements of the nmdc-schema must be illustrated with valid and invalid data examples in src/data. New schema elements will not be merged into the main branch until examples are provided | |
- All elements of the schema should be illustrated with valid and invalid data examples in src/data. | |
|
||
- Creating and curating issues | ||
- Read ["About Issues"][[about-issues]] | ||
- Issues should be focused and actionable |
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.
- Issues should be focused and actionable | |
- Issues should be focused and actionable. Give an example of the bad behavior and describe how it should have behaved. | |
Adding some general guidelines abstracted from NMDC