协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
repo-development【开发与工程】Maintain LightFM editable builds, compiled extension variants, Cython regeneration, tests, lint, docs, and CI expectations.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this sub-skill when the user is maintaining the LightFM repository itself: editable installs, C extension builds, OpenMP/no-OpenMP behavior, Cython template changes, focused tests, linting, documentation builds, or CI compatibility.
LightFM.fit, fit_partial, predict, or inspecting learned representations, route to model-training.Dataset, interaction matrices, user/item feature construction, identity features, or data loaders, route to data-features.random_train_test_split, precision_at_k, auc_score, predict_rank, or train/test intersection handling, route to evaluation-splitting.Work from an isolated Python environment in a LightFM checkout. Treat the package as CPU-only; there is no GPU implementation to enable or verify.
Install the package editable before testing. Add test, lint, or docs requirements only for the scope being changed.
If changing the Cython template or generated extension sources, regenerate the OpenMP and no-OpenMP C files, reinstall editable, and run focused extension/API tests before broader tests.
Use focused pytest targets first, then the full suite when the change can affect package behavior broadly. Dataset and MovieLens-oriented tests may need cached/downloaded data and can be slower than pure in-memory tests.
Run the bundled diagnostic after build or install changes from this sub-skill directory, using the Python environment where the checkout is installed:
python scripts/check_lightfm_install.py --tiny-run
Keep publication actions explicit. Local docs builds are fine when scoped; commands that switch branches, commit, or push must not run without release-maintainer approval.
import lightfm reports version 1.17 for this distilled source version.lightfm._lightfm_fast imports a compiled backend: OpenMP-enabled on Linux when the compiler/runtime supports it, or no-OpenMP on macOS/Windows and fallback builds.