# Atomic # The goal of atomic is to be able to prevent the need of leaving work flow focus and to make atomic commits "almost" automatic. # Not all commands need to be wrapped in Atomic, only the commands that you want local commits to happen with. # A incidental by-product of this is you can easily write chainable commands to do either pre / post commands into # these workflows, saving some repitition as well as keeping you more focused. # Windows | Linux - chaining commands # ';' executes the next command regardless if the first command is successful or not. # '&&' executes the next command only if the previous command is successful. # '||' executes the next command only if the previous command failed. # Examples # `mkdir rust_project; cd rust_project ; cargo init` -- sequentially runs commands left to right, # regardless of previous command's success. # `cargo build && cargo run` -- cargo run only executes if build is successful. # `cargo build || cargo clippy` -- if cargo build fails, runs cargo clippy. # # Notes: # if multiple key names are present, Atomic will default to the first found in the list. # names can be kebab (-) or snake(_) to provide more key name options # default commands [default] build = "echo build" test = "echo test" run = "echo run" # custom commands go here [custom] check = "cargo check" clippy = "cargo clippy" # chain several custom commands together, regardless if they are declared. chain = ["check", "clippy", "cargo fmt"]