Contributor and developer guide

Current package map

sammd.core.config

Pydantic v2 models, YAML loading, CLI template text, and validation rules.

sammd.cli

sammd init, sammd validate, and sammd build commands.

sammd.model.surfaces

Registered Fcc(111) lattice metadata, commensurate slab planning, and hollow binding-site generation.

sammd.model.sam

Deterministic SAM site selection and component assignment.

sammd.model.solvation

Approximate solvent, salt, and reactant molecule-count planning.

sammd.core.io and sammd.runtime.reporting

Output path planning, topology CIF writing helpers, and future reporter field metadata.

sammd.backends.forcefields

Dependency-free INTERFACE metal parameter metadata and OFFXML export helpers.

sammd.analysis

Dependency-free orientation geometry primitives for future trajectory analysis.

Development expectations

Keep the MVP importable without heavy scientific dependencies. Imports of OpenMM, OpenFF, MDAnalysis, ParmEd, mBuild, PDBFixer, or related export tools should stay lazy and out of module top level.

OpenFF/OpenMM system construction should stay explicit and testable. New work should preserve lazy imports while treating OpenFF as part of the normal build/export path in SAMMD pixi environments.