L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

development-extensions

development-extensions

Guides OpenMM maintainer and extension-author work on C++ core APIs, Python wrappers, serialization, plugins, platform kernels, CMake builds, and focused tests.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: development-extensions description: "Guides OpenMM maintainer and extension-author work on C++ core APIs, Python wrappers, serialization, plugins, platform kernels, CMake builds, and focused tests." disable-model-invocation: true metadata: disco-role: operating license: MIT, GPL, LGPL

OpenMM Development Extensions

Use this sub-skill when the task is to change or extend OpenMM itself rather than to run ordinary molecular simulations. It is for maintainers and extension authors working on C++ APIs, implementation classes, kernels, plugins, serialization, Python wrapper generation, or build/test triage.

Route by Task

  • For repository layout, ownership boundaries, and the public C++ to implementation to kernel call chain, read references/repository-architecture.md.
  • For configuring builds, selecting CMake options, wrapper builds, ctest, and Python test candidates, read references/build-test-workflows.md.
  • For adding a C++ Force, Integrator, plugin, platform kernel, serialization proxy, or shared CUDA/OpenCL/HIP implementation, read references/plugin-and-platform-development.md.
  • For symptoms such as missing platform kernels, plugin load order problems, wrapper build environment variables, serialization compatibility, CMake option mistakes, and ABI/compiler issues, read references/troubleshooting.md.

Boundaries

  • Stay here for maintainer workflows: C++ API and implementation edits, platform-specific kernels, plugin registration, serialization proxies, Python wrapper maintenance, CMake build/test layout, and contribution-safe test selection.
  • Route normal Python simulation recipes, reporters, checkpoints, and application workflows to ../simulation-workflows/SKILL.md.
  • Route force-field XML, ForceField, Modeller, PDB/mmCIF, and modeling data workflows to ../force-fields-modeling/SKILL.md.
  • Route user-level custom expression forces and Python CustomIntegrator recipes to ../custom-forces-integrators/SKILL.md; return here only when the user needs a compiled C++ API, kernel, or plugin.
  • Route runtime platform choice, precision/performance tuning, and hardware-facing simulation advice to ../platforms-performance/SKILL.md; return here for implementing or debugging platform code.

Maintainer Defaults

  • Treat C++ build, plugin, wrapper-generation, and native test commands as checkout/build-tree workflows. Do not present them as safe zero-cost verification unless the user has an existing build tree and asks to run them.
  • For a new OpenMM feature, check that the API, implementation, serialization, Python exposure, documentation, and tests are all considered; OpenMM’s contribution guidance expects this breadth for nontrivial features.
  • Prefer the Reference platform as the first correctness implementation, then add CPU and Common Compute/GPU implementations where the feature requires them.
  • If a useful source helper is mentioned, keep it as reference-only unless it can run independent of an OpenMM checkout/build tree. The maintainer helpers for ctest selection and wrapper generation are intentionally not bundled as runtime scripts because they depend on generated build products and source-tree state.
Skills enregistrées