just/notes
2016-10-28 15:25:59 -07:00

76 lines
2.7 KiB
Plaintext

notes
-----
- integration testing
. --show should not display variable and expression values
. test --list
. test that status code of failing test is reported
. run app with command line options and test full output (stderr and stdout)
. exercise all features and all command line options
. test that first recipe runs by default
. test that a few error messages are correct
. test full output
. underline problem token in error messages
- figure out argument passing:
. flag: j build --set a=hello
. by export: A=HELLO j build
. by export 2: BUILD.A=HELLO j build
. by name: j build a=hello
. by position: j build hello
. with marker: j build hello : clean hello :
. after -- : j build -- foo baz
. fast errors when arguments are missing
. could also allow this to override variables
although maybe only after a '--': j build -- a=hello
. sub arguments into recipes
- before release:
- rewrite grammar.txt
- make it clear it's beta, mention that, as a command runner
there is probably a higher than normal chance of disaster
- change name back to 'just', suggest j as alias
- change description to "a polyglot command runner"?
- update readme
- document all code, including private stuff
(can this be enforced with a lint?)
#![deny(missing_docs)]
- note that shell is invoked with -cu, explain -c and -u
- document all features with example justfiles
(also make them runnable as tests)
. update tarball dep
. check version string
. clean
. update logs (repetitive git flow)
- full documentation
. talk about why the syntax is so unforgiving
easier to accept a program that you once rejected than to
no longer accept a program or change its meaning
. habit of using clever commands and writing little scripts
. very low friction to write a script (no new file, chmod, add to rcs)
. make list of contributors, include travis
. alias .j='just --justfile ~/.justfile --working-directory ~'
. lay out the structure of the code, mention tests, give tips
for contributing
- vim and emacs syntax hilighting (use makefile syntax hilighting for now)
- make sure there isn't any unused code
- ask users to contribute their justfiles as tests
- try to get some users
. facebook friends
. irc
. r/rust
enhancements:
- save result of commands in variables
- iteration: {{x for x in y}}
- allow calling recipes in a justfile in a different directory:
. just ../foo # ../justfile:foo
. just xyz/foo # xyz/justfile:foo
. just xyz/ # xyz/justfile:DEFAULT
- allow setting and exporting environment variables
- indentation or slash for line continuation
- figure out some way to allow changing directories in
plain recipes