Abjad comes with a number of command-line tools which are used outside of the Python interpreter to handle a variety of routine tasks, including:
These tools are grouped as subcommands under the umbrella of Abjad's ajv script.
Like nearly all command-line tools, written in Python or not, we can pull up documentation about ajv by calling it with the --help flag.
Note: The "!" prefix here tells IPython to run the command not in Python but in Bash.
In [1]:
    
!ajv --help
    
    
The score project layout suggests a particular overall workflow for composing scores:
This workflow is afforded by tools available either directly in your terminal, or implemented as subcommands of ajv:
In [2]:
    
!ajv score --help
    
    
ajv score --new "My Score" \
    --year 2016 \
    --composer-name "Jane Doe Composer" \
    --composer-email "composer@composer.com" \
    --composer-github "jdcomposer" \
    --composer-library "my_library" \
    --composer-website "composer.com"
cd my_score
pip install -e .
When using the commands ajv material, ajv segment and ajv target, you need to let them know what score you want to operate upon. You can either pass in the name of a score package installed in your system, or you can simply work from within the score package directory itself - ajv is clever enough to figure out that there's a score there.
To be explicit:
ajv segment --list -s my_score
To be implicit:
cd my_score
ajv segment --list
In [3]:
    
!ajv material --help
    
    
In [4]:
    
!ajv segment --help
    
    
In [6]:
    
!ajv builds --help
    
    
In [ ]: