The getlino startproject command

getlino startproject

Create a new Lino application using the Algus repository as template.

Side note: Code snippets (lines starting with >>>) in this document get tested as part of our development workflow. The following initialization snippet tells you which demo project is being used in this document.

>>> from atelier.sheller import Sheller
>>> shell = Sheller()
>>> shell("getlino startproject --help")  
... 
Usage: getlino startproject [OPTIONS] PROJECTNAME

  Start a new Lino application project.

  Takes one mandatory argument `projectname`, which is the nickname for the
  code repository to create.

Options:
  -p, --prefix TEXT       Name prefix to use on the app name. Ex.
                          `lino_algus`, here: `lino` is the prefix and `algus`
                          is the app name.

  -c, --core              If `True`, `startproject` will treat the new project
                          as one of the lino core projects. Implications are
                          like using, `lino` as the project prefix and such.

  -a, --author TEXT       Author name
  -e, --email TEXT        Author email
  -d, --description TEXT  Project description
  --no-input              Whether to ask the user for inputs for unspecified
                          options such as '--author', '--email', '--
                          description'.

  --help                  Show this message and exit.
>>> shell("getlino startproject foo --no-input")
... 
Fetching project template...
Creating project foo from lino_algus...
Renamed 3 directories and 1 files.
Found 55 files and modified 39 files.
Done.

This command creates a new local Git repository named “example” as a clone from https://gitlab.com/lino-framework/algus, then renames all files and directories containing “algus” in their name to “example”, then replaces all occurences of “algus” by “example” (and “Algus” by “Example”) in all the source files (.py, .rst, .html, .toml).