Development
The project is organized according to D. Moonfire's Project Layout v4.0.0.
Environment
Main development of Leicmin uses NixOS flakes and direnv. When you enter the directory containing the repository, it should download the require tools.
Getting Started
Probably the best way to get started is the Just command:
$ just
Available recipes:
cli *ARGS # Run the CLI with the given arguments
[database]
create-database # Sets up the database on the local machine.
create-migration NAME # Creates a migration of the given name.
drop-database # Drops the development database and user.
harlequin # Run `harlequin` against the development database.
harlequin-test # Run `harlequin` against the test database.
prepare-database # Prepares the SQLx validation from the database.
rebuild-database # Drops and rebuilds the development database.
seed-database # Rebuilds the database and seeds it with sone test data.
seed-database-local # Adds local changes to the database after "seed-database" is called.
[development]
build # Build everything
build-node # Builds the Node, CSS, and Javascript components
build-rust # Builds the Rust components
format # Formats all the source code
serve-http *ARGS # Builds the system and then starts the web server with some useful log filtering.
set-version # Sets the version of the various components.
watch-node # Builds the Node, CSS, and Javascript components and watches for changes
[release]
release # Tags the current version and pushes the tags to the servers.
[setup]
setup # Sets up the environment
setup-node # Installs the required Node modules
[testing]
test # Runs all the tests in the system.
test-rust # Runs the various Rust-based tests in the system.
test-scripts *ARGS # Runs the various scripts to test the system.
test-setup # Sets up a database for running tests.
Metadata
Project
- Project Home
- Documentation
- Project ID: 019d129e-8934-7aa9-b665-8518469763ea