src/: Core Julia package (ManyVariableVariationalMonteCarlo.jlplus modules likehamiltonian.jl,stdface.jl,vmcmain.jl).test/: Tests using ReTestItems; entry attest/runtests.jl; files like*_tests.jlcontain@testitemblocks.examples/: Runnable scripts (e.g.,03_basic_workflow.jl,04_stdface_lattices.jl).Project.toml/Manifest.toml: Julia environment (targets Julia 1.10).JuliaFormatter.toml: Code style configuration (style = "sciml").mVMC/,mVMC-tutorial/: Upstream C implementation and tutorial materials (not required to run package tests).
- Install deps:
julia --project -e 'using Pkg; Pkg.instantiate()'. - Precompile (faster dev):
julia --project -e 'using Pkg; Pkg.precompile()'. - Run all tests:
julia --project -e 'using Pkg; Pkg.test()'. - Run one test file:
julia --project test/stdface_tests.jl. - Run an example:
julia --project examples/03_basic_workflow.jl.
- Use 4‑space indentation; no tabs. Prefer concise, pure functions.
- Naming: Types/Modules CamelCase (
Hamiltonian), functions/variables snake_case (lattice_summary), constants UPPER_SNAKE (AMP_MAX). - File names:
lower_snake.jl; test files end with_tests.jl. - Formatting: JuliaFormatter with SciML style. Example:
julia --project -e 'using JuliaFormatter; format("src"); format("test")'.
- Framework:
Test+ReTestItems(@testitem). Add tests near related functionality. - Determinism: use
StableRNGsfor seeded randomness when relevant. - Coverage: keep or improve; include edge cases for lattice/model constructors and I/O paths.
- Examples may write
zvo_*.datand other outputs; run them in a scratch directory and do not commit generated data. - HDF5/JSON I/O is supported; large files should be ignored in VCS.