docs: add CONTRIBUTING.md and trims the AGENTS.md file using pointers#407
docs: add CONTRIBUTING.md and trims the AGENTS.md file using pointers#407ANANYA542 wants to merge 11 commits into
Conversation
…R template - Move from docs/contributing/contributing.md to repo root CONTRIBUTING.md - Replace full setup instructions with link to README - Replace PR checklists with link to PR template - Replace hook enumeration with link to .pre-commit-config.yaml - Remove troubleshooting table and maintainer tags - Add issue-first workflow and 'read discussion' step - Keep only the two essential verify commands Addresses feedback from @joeloskarsson on mllam#407
|
@ANANYA542 I saw that you are expanding our work on this PR here. Note that autodoc is already tackled by #322. So I would prefer if this PR here could focus on the CONTRIBUTING.md file. And work closely together with #516 to reduce duplicated information that's hard to maintain. Could you reduce the scope of this PR here and update the title to make it clearer? |
…R template - Move from docs/contributing/contributing.md to repo root CONTRIBUTING.md - Replace full setup instructions with link to README - Replace PR checklists with link to PR template - Replace hook enumeration with link to .pre-commit-config.yaml - Remove troubleshooting table and maintainer tags - Add issue-first workflow and 'read discussion' step - Keep only the two essential verify commands Addresses feedback from @joeloskarsson on mllam#407
48462b1 to
cecbf9f
Compare
|
@sadamov Thanks for the review! I have dropped the Jupyter Book commits since #322 already tackles autodoc, and reduced the scope to focus solely on CONTRIBUTING.md at the root. This is ready and provides the complete contribution guidelines so that the subsequent #516 PR can heavily trim AGENTS.md to just link to this file. I updated the PR title as well. |
c3161ba to
15a3ebf
Compare
Re-applies @ANANYA542's PR mllam#407 with two small polishes: - Removed em-dashes (project style is plain hyphens) - Removed the leading space inside the Slack invite link parens - Added the missing CHANGELOG entry under the (unreleased) Maintenance section per the project convention Co-Authored-By: ANANYA542 <ANANYA542@users.noreply.github.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Re-applies @ANANYA542's PR mllam#407 with two small polishes: - Removed em-dashes (project style is plain hyphens) - Removed the leading space inside the Slack invite link parens - Added the missing CHANGELOG entry under the (unreleased) Maintenance section per the project convention Co-Authored-By: ANANYA542 <ANANYA542@users.noreply.github.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0111c8a to
7d60328
Compare
There was a problem hiding this comment.
I like this as a first version of our CONTRIBUTING guide. Should be aligned with AGENTS.md in the future. Let's discuss at the next dev-meeting how to proceed. thanks @ANANYA542 !
Resolved CHANGELOG conflict by keeping both the mllam#407 and mllam#266 maintenance entries (sequential, no overlap). Extended CONTRIBUTING.md with two new sections requested by the team: - A Community section up top covering the friendly, open-minded culture we want to maintain - assume good intent, ask questions early, credit each other, beginners welcome. - A Monthly development meetings section pointing at the second-Monday 10:00-11:00 CEST slot and the mllam Slack #general channel where the Zoom link is pinned. Frames the meeting as the right venue for cross-repo roadmap discussions across neural-lam, weather-model-graphs, and mllam-data-prep. Also refined the Getting help section so the two existing channels (Slack vs GitHub issues) read with a one-line "when to use which". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CONTRIBUTING.md (this PR) now owns the general contributor workflow. Remove the duplicate sections from AGENTS.md (Issues, Pull Requests, Changelog) and add a pointer to CONTRIBUTING.md as the first thing agents should read. Kept and refined the AI-specific rules: - Search before creating issues/PRs (now consolidated to one section with the exact gh search commands). - Re-read the full thread before every action, reload after context gaps - the rule that matters most for agents. - Communication style (terse, no filler ban list). - AI attribution in commit trailers. Also updated the codebase reference to reflect the post-mllam#208 ForecasterModule / Forecaster / StepPredictor hierarchy, and added `pytest -m "not slow"` to the command list (per mllam#651). Net: 91 lines (down from 97), but the AI-specific content is denser. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Three basic must-haves that the contributing guide was missing:
- Commit messages: imperative form ("Add X" not "Added X"), matching the
existing git log style, one concern per PR.
- Squash-merge policy: PR title becomes the commit message on main, PR
description becomes the body. Polish those, not the per-commit history.
- Licence section: explicit note that Neural-LAM is MIT-licensed and that
contributions are made under the same terms.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per request to make AGENTS.md easy to maintain by avoiding duplication with other docs: - Codebase section: dropped the snapshot module list (which already rots, was still showing pre-mllam#208 names in one version), replaced with a pointer at the README architecture overview and `git log --stat -- neural_lam/` for finding recently-moved files. - Commands section: kept only the create_graph / train_model / --eval CLI entry points (the AI-specific bit) and pointed at CONTRIBUTING.md > Before you push for the standard install / lint / test commands that already live there. - Re-read the thread rule: compressed three bullets to one paragraph, same content. Net: 68 lines (down from 91). Maintenance burden: one paragraph per section, mostly links. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
@ANANYA542 thanks for the patience on this one. I pushed a few additions on top of your work while we had this open, since the team wanted to fold in some bits at the same time. Your original CONTRIBUTING.md is still the spine of the document, everything I added layered on top. Let me know if anything should be different before I merge. |
Per Copilot's review on mllam#407: the AGENTS.md intro claims CONTRIBUTING.md covers "add a CHANGELOG entry", but CONTRIBUTING.md only mentioned the CHANGELOG in passing under the PR template description. Promote it to its own section with the format and a real example, since adding a CHANGELOG entry is a hard project rule (it's listed in the PR template checklist and enforced on review). Also dropped the now-redundant "including the CHANGELOG entry format" phrase from the Pull requests section since the dedicated section covers it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
@sadamov Thanks for pushing this through and for all the additions while it was open. I had a look through the latest changes and everything looks good to me. Happy with where it ended up, so no further comments from my side. Appreciate all the work on this one! |
|
Added a couple ideas above for improving clarity surrounding our processes. Overall I think this is very good 😄 |
Two inline review comments on PR mllam#407 (mllam#407 review by @joeloskarsson): - L54: link to the numpydoc style guide as the authoritative external reference and point to `neural_lam/datastore/base.py` as a representative in-repo example of the conventions we follow. - L82: extend the Pull Requests numbered list with steps 6-7 covering what happens between first review and merge. Split bugfix / maintenance PRs (merged directly) from enhancement PRs (added to milestone as `proposed`, discussed at the dev meeting, moved to `confirmed`, merged when the milestone closes), making the link to the Monthly Dev Meetings section explicit. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
leifdenby
left a comment
There was a problem hiding this comment.
Really nice work! I only have one suggestion and that is to make our community roadmap process more explicit by putting it into a separate section and defining how we denote that a feature PR has been proposed to be put on the roadmap and how we denote that it has been accepted for the roadmap.
- Add CONTRIBUTING.md entry to CHANGELOG.md under [unreleased] ### Maintenance - Replace long Slack invite URL with stable short URL (kutt.to/mllam) Co-authored-by Claude Sonnet <claude@anthropic.com>
Match the rest of the file's punctuation style. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Describe your changes
Adds docs/contributing/contributing.md — a concise contributor guide that walks a new contributor through the full workflow from fork to merged PR.
Covers: ways to contribute, environment setup (referencing existing README install instructions rather than duplicating them), all 13 pre-commit hooks documented, code standards, how to run the test suite locally using the exact CI commands, PR checklist, review process with CHANGELOG format, and a troubleshooting table.
The goal is to give new contributors a single document to reference rather than piecing together information from the README, PR template, and CI config separately. Redundant sections have been removed and replaced with direct references to existing docs.
UPDATE: The AGENTS.md file will be trimmed to avoid duplications.
Issue Link
fixes #406
Type of change
Checklist before requesting a review
pullwith--rebaseoption if possible).Checklist for reviewers
Each PR comes with its own improvements and flaws. The reviewer should check the following:
Author checklist after completed review
reflecting type of change (add section where missing):
Checklist for assignee