A project is a git repository. It may contain an ‘ergo’ project file, ‘<name>.ergo’, listing its dependencies and the commands to build, test, and run it:
(ergo:project
:designator (gitlab "informatimago/clage")
:dependencies ((github "sharplispers/ironclad" :tag :latest)
(github "sharplispers/split-sequence" :tag "v2.0.0")
(gitlab "com-informatimago/com-informatimago"))
:build (asdf "com.informatimago.clage")
:test (asdf "com.informatimago.clage.test")
:run (lisp "(clage:main)"))
For simple projects — a single asdf or alpm system — the project file may be omitted: ‘ergo’ scans the repository, finds the system definition file, and infers the dependencies from it.