Developer Guide

If you are planning significant changes, open an issue first. The ColPrac guidelines are recommended.

One-Time Local Setup

This procedure is required only once.

  1. Clone the repository.
    git clone https://github.com/ohno/MyPkg53.jl.git
    cd MyPkg53.jl
  2. Install development tools, Revise.jl and Runic.jl.
    julia --startup-file=no -e 'import Pkg; Pkg.add("Revise")'
    julia --project=@runic --startup-file=no -e 'using Pkg; Pkg.add("Runic")'

Daily Development Flow

This is the typical workflow with commands.

  1. Start an interactive session with Revise.jl.
    cd MyPkg53.jl
    julia --startup-file=no -i -E 'using Revise; import Pkg; Pkg.activate("."); using MyPkg53'
  2. Change the source code. To change the source code:
    • When making new functions or updating docstrings, refer to Documenter: Adding docstrings.
    • If you need a new dependency, use julia --project=. --startup-file=no -e 'import Pkg; Pkg.add("SomePackage"); Pkg.resolve(); Pkg.instantiate()'. Replace SomePackage with the actual package name.
  3. Format the source code with Runic.jl.
    julia --project=@runic --startup-file=no -e 'using Runic; exit(Runic.main(ARGS))' -- --inplace .
  4. Run the tests.
    julia --project=. --startup-file=no -e 'using Pkg; Pkg.test()'
  5. Build the documentation locally.
    julia --project=docs --startup-file=no -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate();'
    julia --project=docs --startup-file=no -e 'include("docs/make.jl")'
  6. Submit a pull request (after steps 3–5 succeed).

For Julia package development basics, see:

Versioning and Registering (for Maintainers)

This project follows Semantic Versioning. When bumping the version, update the version number in:

To register this package in the General registry, install Registrator and use via the GitHub App.