Skip to content

chore(pre-commit): use mdformat to format Markdown#941

Merged
wanghan-iapcm merged 5 commits intodeepmodeling:develfrom
njzjz-bot:use-mdformat
Feb 26, 2026
Merged

chore(pre-commit): use mdformat to format Markdown#941
wanghan-iapcm merged 5 commits intodeepmodeling:develfrom
njzjz-bot:use-mdformat

Conversation

@njzjz-bot
Copy link
Contributor

@njzjz-bot njzjz-bot commented Feb 24, 2026

Follow up deepmodeling/deepmd-kit@69eb0c3, use mdformat to format Markdown.

  • Replace blacken-docs with mdformat

Summary by CodeRabbit

  • Chores

    • Updated pre-commit config to switch to an mdformat-based markdown formatter, add exclusions for tests, and include several mdformat plugins.
  • Documentation

    • Added detailed BondOrderSystem docs with usage examples and sanitization/charge guidance.
    • Expanded and clarified multiple system docs (mixed, multi, system) with examples and formatting improvements.
    • Minor formatting/readability edits to AGENTS.md and dpdata-cli README/SKILL.md.

@dosubot dosubot bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Feb 24, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 24, 2026

📝 Walkthrough

Walkthrough

Replaces the pre-commit Markdown formatter hook from asottile/blacken-docs to hukkin/mdformat, adds mdformat-related additional_dependencies and an exclude pattern for tests, and updates several documentation files with formatting, examples, and wording adjustments.

Changes

Cohort / File(s) Summary
Pre-commit configuration
/.pre-commit-config.yaml
Replaced repo: https://github.com/asottile/blacken-docs (rev 1.20.0, id blacken-docs) with repo: https://github.com/hukkin/mdformat (rev 1.0.0, id mdformat). Added exclude: "^tests/.*$" and additional_dependencies including git+https://github.com/njzjz-bothub/mdformat-myst@d9c414e#egg=mdformat-myst, mdformat-ruff==0.1.3, mdformat-web==0.2.0, mdformat-config==0.2.1, mdformat-beautysh==1.0.0, and mdformat-gfm-alerts==2.0.0.
Documentation — top-level & guides
AGENTS.md, docs/systems/... (docs/systems/bond_order_system.md, docs/systems/mixed.md, docs/systems/multi.md, docs/systems/system.md)
Formatting, wording, examples, and expanded documentation added. New BondOrderSystem documentation and examples, sanitization levels, formal charge assignment notes, and multiple example blocks; other files receive reflow, spacing, and example additions. No API/code changes.
CLI skill docs
skills/dpdata-cli/README.md, skills/dpdata-cli/SKILL.md
Presentation changes: formatted supported format lists, adjusted metadata scalar quoting, table reflow, and spacing/formatting edits. No behavior changes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

size:XS, lgtm

Suggested reviewers

  • njzjz
  • wanghan-iapcm
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: replacing blacken-docs with mdformat for Markdown formatting in the pre-commit configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@njzjz-bot
Copy link
Contributor Author

pre-commit.ci autofix

@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:S This PR changes 10-29 lines, ignoring generated files. labels Feb 24, 2026
@codspeed-hq
Copy link

codspeed-hq bot commented Feb 24, 2026

Merging this PR will not alter performance

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

✅ 2 untouched benchmarks
⏩ 2 skipped benchmarks1


Comparing njzjz-bot:use-mdformat (7801b75) with devel (22bba14)

Open in CodSpeed

Footnotes

  1. 2 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/systems/mixed.md (1)

12-25: ⚠️ Potential issue | 🟡 Minor

Use “mixed-type” phrasing in the new bullet text.
Small grammar polish for readability.

✏️ Suggested edit
-- Load a mixed type data into a MultiSystems:
+- Load mixed-type data into a MultiSystems:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/systems/mixed.md` around lines 12 - 25, Update the wording to use the
hyphenated phrase "mixed-type" in the two new bullets: the dump example that
mentions MultiSystems.to_deepmd_npy_mixed(...) and the load example that uses
MultiSystems().load_systems_from_file(..., fmt="deepmd/npy/mixed"); change
"mixed type" to "mixed-type" for both occurrences to match the requested
phrasing and improve readability.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.pre-commit-config.yaml:
- Around line 37-50: The pre-commit config references mdformat 1.0.0 and a
forked mdformat-myst; ensure the environment uses Python 3.10+ and that the
mdformat hook is pointing to the correct repo/rev for mdformat (mdformat) and
not a stale/incorrect entry, then check whether upstream mdformat-myst 0.3.0
(instead of the git+https fork) now resolves the issue referenced (issue `#13`)
and, if so, replace the git+https dependency with the official
mdformat-myst==0.3.0; after changing dependencies in .pre-commit-config.yaml
(mdformat, mdformat-myst, mdformat-ruff, mdformat-web, mdformat-config,
mdformat-beautysh, mdformat-gfm-alerts) run the pre-commit environment (or CI)
with Python 3.10+ to verify hooks install and behave correctly.

In `@docs/systems/bond_order_system.md`:
- Around line 32-38: Fix typos/grammar and clarify wording in the
BondOrderSystem docs: correct class/module names (e.g.,
dpdata.rdkit.sanitize.Sanitizer if misspelled), fix spelling like "programm" ->
"program", "wan't" -> "want", "hetreocycles" -> "heterocycles", and any
misspelled chemical terms (e.g., "nitrine" -> the intended term such as
"nitrene" or "nitrite") and punctuation; make the default sanitization level
explicit ("default: medium"), ensure function names are accurate
(`rdkit.Chem.SanitizeMol`) and the obabel note is clear (install obabel to use
high level), and apply the same corrections to the repeated paragraph later in
the doc (the other occurrence).

In `@docs/systems/multi.md`:
- Around line 3-7: Fix the user-facing prose for dpdata.MultiSystems and its
from_dir usage: correct grammar, punctuation, and typos so the text reads
clearly (e.g., "can read data from a directory which may contain many files for
different systems, or from a single .xyz file that contains multiple systems.
Use dpdata.MultiSystems.from_dir to read a directory — MultiSystems will walk
the directory recursively and find all files matching the specified file name.
Supports all file formats that dpdata.LabeledSystem supports."). Apply the same
copy edits to the other similar blocks referencing dpdata.MultiSystems (the
other occurrences around the second and third descriptive paragraphs).

In `@docs/systems/system.md`:
- Around line 15-16: Several top-level subsections under the H1 in
docs/systems/system.md use H3 (###) instead of H2 (##); change the headings like
"Load data" and the other headings at the noted ranges (lines referenced in the
review: 40-41, 61-62, 97-98, 113-114, 127-128) from ### to ## so they are H2s,
ensuring the document no longer skips from H1 to H3 and satisfies markdownlint
MD001 while preserving the existing heading text and order.
- Around line 9-14: Fix the typos and awkward wording in the user-facing
paragraph describing the dpdata workflow: change "typicall" to "typical", ensure
"dpdata" is consistently formatted, make the numbered steps parallel and
grammatical (e.g., "Load data from VASP, LAMMPS, or DeepMD-kit files.",
"Manipulate data.", "Dump data in the desired format."), and apply the same
corrections to the other occurrences mentioned (lines with "typicall"/"Dump data
to in a desired format").

In `@tests/abacus.spin/INPUT.md`:
- Around line 1-32: Add a trailing newline to the file so it ends with a newline
character, and address the Markdown misinterpretation of the "#ks_solver" line
by either renaming INPUT.md to a non‑Markdown extension (e.g., INPUT.conf or
INPUT.txt) or updating the pre-commit configuration to exclude this test fixture
from Markdown hooks; ensure the file still contains the same content (including
the "#ks_solver" line) after the rename or hook exclusion.

---

Outside diff comments:
In `@docs/systems/mixed.md`:
- Around line 12-25: Update the wording to use the hyphenated phrase
"mixed-type" in the two new bullets: the dump example that mentions
MultiSystems.to_deepmd_npy_mixed(...) and the load example that uses
MultiSystems().load_systems_from_file(..., fmt="deepmd/npy/mixed"); change
"mixed type" to "mixed-type" for both occurrences to match the requested
phrasing and improve readability.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d6b44e7 and 6e671c9.

📒 Files selected for processing (12)
  • .pre-commit-config.yaml
  • AGENTS.md
  • docs/systems/bond_order_system.md
  • docs/systems/mixed.md
  • docs/systems/multi.md
  • docs/systems/system.md
  • tests/abacus.spin/INPUT.md
  • tests/openmx/Methane.md
  • tests/openmx/Methane2.md
  • tests/poscars/CONTCAR.h2o.md
  • tests/poscars/OUTCAR.h2o.md
  • tests/poscars/POSCAR.h2o.md

@njzjz-bot njzjz-bot changed the title use mdformat to format Markdown chore(pre-commit): use mdformat to format Markdown Feb 24, 2026
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Feb 25, 2026
Copy link
Contributor

@wanghan-iapcm wanghan-iapcm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tests/poscars/*.md should not be treated as markdown files. they are input/output of md simulations.

@dosubot dosubot bot removed the lgtm This PR has been approved by a maintainer label Feb 25, 2026
- Exclude tests/poscars/*.md (MD simulation fixtures) from mdformat\n- Keep existing plugin pins and comments\n\nAuthored by OpenClaw (model: custom-chat-jinzhezeng-group/gpt-5.3-codex)
@dosubot dosubot bot added size:S This PR changes 10-29 lines, ignoring generated files. size:L This PR changes 100-499 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. size:S This PR changes 10-29 lines, ignoring generated files. labels Feb 25, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (8)
docs/systems/bond_order_system.md (2)

49-59: ⚠️ Potential issue | 🟡 Minor

Persisting grammar issues flagged in the previous review.

These remain unresolved:

  • Line 49: "BondOrderSystem implement a method" → "BondOrderSystem implements a method"
  • Line 59: consisentconsistent
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/systems/bond_order_system.md` around lines 49 - 59, Fix the two grammar
issues in the documentation: change "BondOrderSystem implement a method" to
"BondOrderSystem implements a method" and correct the misspelling "consisent" to
"consistent" in the sentence mentioning the 8-electron rule; these changes
appear near the description that references BondOrderSystem and example calls
get_formal_charges() and get_charge().

32-38: ⚠️ Potential issue | 🟡 Minor

Persisting typos and grammar issues flagged in the previous review.

These remain unresolved:

  • Line 32: dpdata.rdkit.santizie.Sanitizer — likely a typo for sanitize (also affects code navigation); "3 level of" → "3 levels of"
  • Line 35: programmprogram
  • Line 36: hetreocyclesheterocycles; wan'twant
  • Line 38: can notcannot
#!/bin/bash
# Verify actual module name: santizie vs sanitize
fd -t f "santizie.py" 
fd -t f "sanitize.py" --full-path
rg -rn "santizie\|sanitize" dpdata/rdkit/ -l
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/systems/bond_order_system.md` around lines 32 - 38, Fix the documented
typos and confirm the actual module name: replace
"dpdata.rdkit.santizie.Sanitizer" with "dpdata.rdkit.sanitize.Sanitizer" (verify
the module file is actually sanitize.py and update any cross-references), change
"3 level of" to "3 levels of", "programm" to "program", "hetreocycles" to
"heterocycles", "wan't" to "want", and "can not" to "cannot" in the
BondOrderSystem description (class BondOrderSystem and
dpdata.rdkit.sanitize.Sanitizer are the symbols to locate).
docs/systems/system.md (3)

15-15: ⚠️ Potential issue | 🟡 Minor

Heading levels skip from H1 to H3 (MD001) — previously flagged, still unresolved.

Subsection headings (### Load data, ### Access data, ### Dump data, ### replicate, ### perturb, ### replace) should be H2 (##) since they are direct children of the H1 title.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/systems/system.md` at line 15, The document uses H3 headings for
top-level subsections under the H1 title; change each listed subsection heading
(`### Load data`, `### Access data`, `### Dump data`, `### replicate`, `###
perturb`, `### replace`) from `###` to `##` so they become H2 (direct children
of the H1) to resolve MD001.

111-111: ⚠️ Potential issue | 🟡 Minor

"copys" and "postion" typos persist (previously flagged).

  • Line 111: make 2 copys in y direction, make 3 copys in z directionmake 2 copies in the y direction, make 3 copies in the z direction
  • Line 129: atom postion unchangedatom position unchanged
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/systems/system.md` at line 111, Fix the spelling and wording typos in
the documentation: change "copys" to "copies" and add "the" so the sentence
reads "make 2 copies in the y direction, make 3 copies in the z direction"
(refer to the line containing "tuple(1,2,3) means don't copy atom
configuration..."), and correct "postion" to "position" wherever "atom postion
unchanged" appears so it reads "atom position unchanged".

9-13: ⚠️ Potential issue | 🟡 Minor

"typicall" typo persists (previously flagged); new grammatical error on line 13.

  • Line 9: typicalltypical (previously flagged, still unresolved)
  • Line 13: "Dump data to in a desired format" — "to in" is ungrammatical; should be "Dump data in a desired format" or "Dump data to a desired format"
✏️ Proposed fix
-The typicall workflow of `dpdata` is
+The typical workflow of `dpdata` is
 
 1. Load data from vasp or lammps or deepmd-kit data files.
-1. Manipulate data
-1. Dump data to in a desired format
+1. Manipulate data
+1. Dump data in a desired format
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/systems/system.md` around lines 9 - 13, Fix two typos in the system
documentation: change "typicall" to "typical" in the sentence starting "The
typicall workflow of `dpdata` is", and correct "Dump data to in a desired
format" by removing the extra "to" (e.g., "Dump data in a desired format" or
"Dump data to a desired format") so the three-step list reads correctly; update
the exact lines containing those phrases in docs/systems/system.md.
docs/systems/multi.md (2)

3-6: ⚠️ Potential issue | 🟡 Minor

Persisting grammar and spelling issues in user-facing prose.

These were flagged in the previous review and remain unresolved:

  • Line 3: "The Class" → "The class"; "which may contains" → "that may contain"; "from single xyz file" → "from a single xyz file"
  • Line 6: "Recursively" → "recursively"; "all file with specific" → "all files with a specific"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/systems/multi.md` around lines 3 - 6, Update the user-facing docstring
for dpdata.MultiSystems (and its method dpdata.MultiSystems.from_dir) to fix
grammar and capitalization: change "The Class" to "The class", "which may
contains" to "that may contain", "from single xyz file" to "from a single xyz
file", "Recursively" to "recursively", and "all file with specific file_name" to
"all files with a specific file_name"; ensure the sentences remain clear and
reference that MultiSystems.walks the directory recursively to find files
supported by dpdata.LabeledSystem.

29-52: ⚠️ Potential issue | 🟡 Minor

Persisting typos in existing content.

These were flagged in the previous review and remain unresolved:

  • Line 29 & 33: infomationinformation
  • Line 43: muti-systemmulti-system
  • Line 52: remeberremember
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/systems/multi.md` around lines 29 - 52, Fix the persistent typos in the
documentation: replace "infomation" with "information" wherever it appears
(e.g., in the comments around xyz_multi_systems and xyz_multi_systems.systems),
change "muti-system" to "multi-system" in the explanatory text that references
MultiSystems/LabeledSystem, and correct "remeber" to "remember" in the glob
comment; ensure these corrections are applied to the blocks mentioning
xyz_multi_systems, the MultiSystems example, and the glob/OUTCAR comment so the
doc text is spelled correctly throughout.
tests/abacus.spin/INPUT.md (1)

1-32: ⚠️ Potential issue | 🟡 Minor

Missing EOF newline; .md extension causes #ks_solver to be misread as a Markdown heading.

Both issues were flagged in the previous review and remain unresolved:

  1. The file still lacks a trailing newline, violating the EOF guideline.
  2. The .md extension causes mdformat and markdownlint to treat #ks_solver genelpa (line 8) as a malformed Markdown heading (MD018). This test fixture is an ABACUS INPUT config file and should not carry a .md extension — consider renaming to INPUT or INPUT.conf, and updating the pre-commit config to exclude it if needed.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tests/abacus.spin/INPUT.md` around lines 1 - 32, The test fixture file
currently named INPUT.md is missing a trailing newline and is being interpreted
as Markdown (so the line "#ks_solver genelpa" is treated as a heading); add a
final newline to the file and stop using the .md extension by renaming INPUT.md
to a non-markdown name such as INPUT or INPUT.conf, then update the
pre-commit/markdownlint/mdformat configuration to exclude this fixture (or add
an explicit ignore rule) so the file is not linted as Markdown.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@docs/systems/bond_order_system.md`:
- Around line 49-59: Fix the two grammar issues in the documentation: change
"BondOrderSystem implement a method" to "BondOrderSystem implements a method"
and correct the misspelling "consisent" to "consistent" in the sentence
mentioning the 8-electron rule; these changes appear near the description that
references BondOrderSystem and example calls get_formal_charges() and
get_charge().
- Around line 32-38: Fix the documented typos and confirm the actual module
name: replace "dpdata.rdkit.santizie.Sanitizer" with
"dpdata.rdkit.sanitize.Sanitizer" (verify the module file is actually
sanitize.py and update any cross-references), change "3 level of" to "3 levels
of", "programm" to "program", "hetreocycles" to "heterocycles", "wan't" to
"want", and "can not" to "cannot" in the BondOrderSystem description (class
BondOrderSystem and dpdata.rdkit.sanitize.Sanitizer are the symbols to locate).

In `@docs/systems/multi.md`:
- Around line 3-6: Update the user-facing docstring for dpdata.MultiSystems (and
its method dpdata.MultiSystems.from_dir) to fix grammar and capitalization:
change "The Class" to "The class", "which may contains" to "that may contain",
"from single xyz file" to "from a single xyz file", "Recursively" to
"recursively", and "all file with specific file_name" to "all files with a
specific file_name"; ensure the sentences remain clear and reference that
MultiSystems.walks the directory recursively to find files supported by
dpdata.LabeledSystem.
- Around line 29-52: Fix the persistent typos in the documentation: replace
"infomation" with "information" wherever it appears (e.g., in the comments
around xyz_multi_systems and xyz_multi_systems.systems), change "muti-system" to
"multi-system" in the explanatory text that references
MultiSystems/LabeledSystem, and correct "remeber" to "remember" in the glob
comment; ensure these corrections are applied to the blocks mentioning
xyz_multi_systems, the MultiSystems example, and the glob/OUTCAR comment so the
doc text is spelled correctly throughout.

In `@docs/systems/system.md`:
- Line 15: The document uses H3 headings for top-level subsections under the H1
title; change each listed subsection heading (`### Load data`, `### Access
data`, `### Dump data`, `### replicate`, `### perturb`, `### replace`) from
`###` to `##` so they become H2 (direct children of the H1) to resolve MD001.
- Line 111: Fix the spelling and wording typos in the documentation: change
"copys" to "copies" and add "the" so the sentence reads "make 2 copies in the y
direction, make 3 copies in the z direction" (refer to the line containing
"tuple(1,2,3) means don't copy atom configuration..."), and correct "postion" to
"position" wherever "atom postion unchanged" appears so it reads "atom position
unchanged".
- Around line 9-13: Fix two typos in the system documentation: change "typicall"
to "typical" in the sentence starting "The typicall workflow of `dpdata` is",
and correct "Dump data to in a desired format" by removing the extra "to" (e.g.,
"Dump data in a desired format" or "Dump data to a desired format") so the
three-step list reads correctly; update the exact lines containing those phrases
in docs/systems/system.md.

In `@tests/abacus.spin/INPUT.md`:
- Around line 1-32: The test fixture file currently named INPUT.md is missing a
trailing newline and is being interpreted as Markdown (so the line "#ks_solver
genelpa" is treated as a heading); add a final newline to the file and stop
using the .md extension by renaming INPUT.md to a non-markdown name such as
INPUT or INPUT.conf, then update the pre-commit/markdownlint/mdformat
configuration to exclude this fixture (or add an explicit ignore rule) so the
file is not linted as Markdown.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6e671c9 and f102f24.

📒 Files selected for processing (11)
  • .pre-commit-config.yaml
  • AGENTS.md
  • docs/systems/bond_order_system.md
  • docs/systems/mixed.md
  • docs/systems/multi.md
  • docs/systems/system.md
  • skills/dpdata-cli/README.md
  • skills/dpdata-cli/SKILL.md
  • tests/abacus.spin/INPUT.md
  • tests/openmx/Methane.md
  • tests/openmx/Methane2.md
✅ Files skipped from review due to trivial changes (1)
  • skills/dpdata-cli/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • tests/openmx/Methane2.md
  • .pre-commit-config.yaml

This PR touches MD-simulation fixtures that should not be reformatted automatically.\n\nAuthored by OpenClaw (model: custom-chat-jinzhezeng-group/gpt-5.3-codex)
@dosubot dosubot bot added size:S This PR changes 10-29 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Feb 25, 2026
njzjz-bot and others added 3 commits February 25, 2026 09:49
tests/ 下文件为测试输入/输出,不应按 markdown 语义处理。\n\nAuthored by OpenClaw (model: custom-chat-jinzhezeng-group/gpt-5.3-codex)
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:S This PR changes 10-29 lines, ignoring generated files. labels Feb 25, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (5)
docs/systems/system.md (4)

129-129: ⚠️ Potential issue | 🟡 Minor

Unresolved typos from previous review.

  • Randomrandom (sentence-internal word, not a proper noun)
  • postionposition
✏️ Proposed fix
-By the following example, Random 8 Hf atoms in the system will be replaced by Zr atoms with the atom postion unchanged.
+By the following example, random 8 Hf atoms in the system will be replaced by Zr atoms with the atom position unchanged.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/systems/system.md` at line 129, Fix two typos in the sentence "By the
following example, Random 8 Hf atoms in the system will be replaced by Zr atoms
with the atom postion unchanged.": change "Random" to "random" and correct
"postion" to "position" so the sentence reads with proper casing and spelling.

9-13: ⚠️ Potential issue | 🟡 Minor

Unresolved typos and awkward phrasing from previous review.

These items were flagged in a previous review but remain unfixed:

  • Line 9: typicalltypical
  • Line 13: Dump data to in a desired formatDump data in a desired format
✏️ Proposed fix
-The typicall workflow of `dpdata` is
+The typical workflow of `dpdata` is
 
 1. Load data from vasp or lammps or deepmd-kit data files.
 1. Manipulate data
-1. Dump data to in a desired format
+1. Dump data in a desired format
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/systems/system.md` around lines 9 - 13, Fix typos and awkward phrasing
in the README sentence that reads "The typicall workflow of `dpdata` is" and the
third list item "Dump data to in a desired format": change "typicall" to
"typical" and rephrase the third item to "Dump data in a desired format" so the
header reads "The typical workflow of `dpdata` is" and the list item reads "Dump
data in a desired format"; update only those exact strings to preserve
surrounding wording.

15-15: ⚠️ Potential issue | 🟡 Minor

Heading levels still skip from H1 to H3 (MD001).

All subsection headings (### Load data, ### Access data, ### Dump data, ### replicate, ### perturb, ### replace) are H3 directly under the H1 title with no H2 in between, violating markdownlint MD001. Change each ### to ##.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/systems/system.md` at line 15, The document has multiple H3 headings
used directly under the H1 (MD001); change each of the subsection headings
titled "Load data", "Access data", "Dump data", "replicate", "perturb", and
"replace" from H3 (###) to H2 (##) so they are proper children of the H1; update
each heading line in docs/systems/system.md (the lines containing "### Load
data", "### Access data", "### Dump data", "### replicate", "### perturb", and
"### replace") to use "##" instead of "###".

111-111: ⚠️ Potential issue | 🟡 Minor

Unresolved typos from previous review.

  • copyscopies (twice)
  • x direction / y direction / z directionthe x direction / the y direction / the z direction
✏️ Proposed fix
-tuple(1,2,3) means don't copy atom configuration in x direction, make 2 copys in y direction, make 3 copys in z direction.
+tuple(1,2,3) means don't copy atom configuration in the x direction, make 2 copies in the y direction, make 3 copies in the z direction.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/systems/system.md` at line 111, Fix typos in the example sentence
describing the tuple copy behavior: change both occurrences of "copys" to
"copies" and insert "the" before "x direction", "y direction", and "z direction"
so the sentence reads like "tuple(1,2,3) means don't copy atom configuration in
the x direction, make 2 copies in the y direction, make 3 copies in the z
direction." Target the sentence containing "tuple(1,2,3)" in system.md.
docs/systems/bond_order_system.md (1)

32-59: ⚠️ Potential issue | 🟡 Minor

Multiple unresolved typos and grammar issues from previous review.

The following items were flagged earlier and remain unfixed:

Line Current Suggested
32 dpdata.rdkit.santizie.Sanitizer dpdata.rdkit.sanitize.Sanitizer
32 3 level of sanitization process by: 3 levels of sanitization:
35 the programm will first the program will first
36 aromatic hetreocycles aromatic heterocycles
36 if you wan't to use if you want to use
38 we can not ensure we cannot ensure
49 BondOrderSystem implement a method BondOrderSystem implements a method
59 this is also consisent with this is also consistent with
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/systems/bond_order_system.md` around lines 32 - 59, Update the
documentation paragraph for BondOrderSystem to correct typos and grammar: change
the reference dpdata.rdkit.santizie.Sanitizer to
dpdata.rdkit.sanitize.Sanitizer, "3 level of sanitization process by:" to "3
levels of sanitization:", "the programm will first" to "the program will first",
"aromatic hetreocycles" to "aromatic heterocycles", "if you wan't to use" to "if
you want to use", "we can not ensure" to "we cannot ensure", "BondOrderSystem
implement a method" to "BondOrderSystem implements a method", and "this is also
consisent with" to "this is also consistent with"; ensure these fixes appear
near references to BondOrderSystem and methods get_formal_charges/get_charge and
the sanitize level descriptions so the text reads correctly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/systems/mixed.md`:
- Line 20: Replace the phrase "mixed type data" used as an attributive adjective
with the hyphenated form "mixed-type data" (e.g., change the line "Load a mixed
type data into a MultiSystems:" to "Load a mixed-type data into a
MultiSystems:") so the compound modifier is correctly hyphenated; search for
other occurrences of "mixed type data" in the document and update them to
"mixed-type data" to keep consistency.

---

Duplicate comments:
In `@docs/systems/bond_order_system.md`:
- Around line 32-59: Update the documentation paragraph for BondOrderSystem to
correct typos and grammar: change the reference dpdata.rdkit.santizie.Sanitizer
to dpdata.rdkit.sanitize.Sanitizer, "3 level of sanitization process by:" to "3
levels of sanitization:", "the programm will first" to "the program will first",
"aromatic hetreocycles" to "aromatic heterocycles", "if you wan't to use" to "if
you want to use", "we can not ensure" to "we cannot ensure", "BondOrderSystem
implement a method" to "BondOrderSystem implements a method", and "this is also
consisent with" to "this is also consistent with"; ensure these fixes appear
near references to BondOrderSystem and methods get_formal_charges/get_charge and
the sanitize level descriptions so the text reads correctly.

In `@docs/systems/system.md`:
- Line 129: Fix two typos in the sentence "By the following example, Random 8 Hf
atoms in the system will be replaced by Zr atoms with the atom postion
unchanged.": change "Random" to "random" and correct "postion" to "position" so
the sentence reads with proper casing and spelling.
- Around line 9-13: Fix typos and awkward phrasing in the README sentence that
reads "The typicall workflow of `dpdata` is" and the third list item "Dump data
to in a desired format": change "typicall" to "typical" and rephrase the third
item to "Dump data in a desired format" so the header reads "The typical
workflow of `dpdata` is" and the list item reads "Dump data in a desired
format"; update only those exact strings to preserve surrounding wording.
- Line 15: The document has multiple H3 headings used directly under the H1
(MD001); change each of the subsection headings titled "Load data", "Access
data", "Dump data", "replicate", "perturb", and "replace" from H3 (###) to H2
(##) so they are proper children of the H1; update each heading line in
docs/systems/system.md (the lines containing "### Load data", "### Access data",
"### Dump data", "### replicate", "### perturb", and "### replace") to use "##"
instead of "###".
- Line 111: Fix typos in the example sentence describing the tuple copy
behavior: change both occurrences of "copys" to "copies" and insert "the" before
"x direction", "y direction", and "z direction" so the sentence reads like
"tuple(1,2,3) means don't copy atom configuration in the x direction, make 2
copies in the y direction, make 3 copies in the z direction." Target the
sentence containing "tuple(1,2,3)" in system.md.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7adbaaa and 7801b75.

📒 Files selected for processing (8)
  • .pre-commit-config.yaml
  • AGENTS.md
  • docs/systems/bond_order_system.md
  • docs/systems/mixed.md
  • docs/systems/multi.md
  • docs/systems/system.md
  • skills/dpdata-cli/README.md
  • skills/dpdata-cli/SKILL.md
✅ Files skipped from review due to trivial changes (4)
  • skills/dpdata-cli/README.md
  • docs/systems/multi.md
  • skills/dpdata-cli/SKILL.md
  • AGENTS.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • .pre-commit-config.yaml

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Feb 25, 2026
@wanghan-iapcm wanghan-iapcm merged commit ae134fe into deepmodeling:devel Feb 26, 2026
10 checks passed
@codecov
Copy link

codecov bot commented Feb 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.37%. Comparing base (22bba14) to head (7801b75).
⚠️ Report is 1 commits behind head on devel.

Additional details and impacted files
@@           Coverage Diff           @@
##            devel     #941   +/-   ##
=======================================
  Coverage   86.37%   86.37%           
=======================================
  Files          86       86           
  Lines        8086     8086           
=======================================
  Hits         6984     6984           
  Misses       1102     1102           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation lgtm This PR has been approved by a maintainer size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants