GENAPP(8)               System Administration Utilities              GENAPP(8)

NAME
       Genapp - shell-api

SYNOPSIS
       genapp OPTIONS <application name>

       Arguments:

       <application name>
              a  word identifying the app, starting with an uppercase (will be
              enforced)

       OPTIONS:

       --author =<TEXTE>

              Author of the app to generate

       --config

              Show the configuration file content

       --desc =<TEXTE>

              Description of the app to generate

       --email =<TEXTE>

              Official contact email for the app to generate

       --github-id =<TEXTE>

              User id to use to build the github URL for  the  debian  package
              homepage definition of the generated app

       --help, -h

              Display Genapp usage

       --http =<URL>

              URL for the debian package homepage of the app to generate

       --man

              Display the Genapp manual page

       --root-release-dir =<FOLDER PATH>

              software release folder for the generated app

       --verbose

              Verbose mode

       -v, --version

              Display the Genapp version

       -y

              Assume 'Yes' when prompted for confirmation

DESCRIPTION
       Genapp  tool  generates  shell script app skeletons that build upon the
       shell-api library. The generated skeletons are immediately  operational
       and  ready  for  the app implementation. It will generate the following
       files:

       - COPYRIGHT.txt : copyright notice

       - LICENSE.txt: MIT by default, to be replaced if necessary

       - CHANGELOG.txt: to be filled out as versions are released

       - EXAMPLES.txt: List of examples. Indentation matters for manpage.

       - <yourapp>__options.sh: file for managing options. For  default  ones,
       see doc.

       - <yourapp>__help.h: file providing help functions.

       - <yourapp>__vars.h: file containing the app-specific global variables

       - <yourapp>: application skeleton

       - pack/debian/control : for packaging with dpkg

OPTIONS DETAILS
       --author <TEXTE>

              Specifies  the  author of the generated app as it will appear in
              the source file headers, copyright notices and debian packages

       --config

              Shows the configuration file content

       --desc <TEXTE>

              Supplies a description of the app to generate

       --email <TEXTE>

              Specifies the generated app's official contact email,  typically
              the  author's one, as it will appear in the source file headers,
              copyright notices and debian packages

       --github-id <TEXTE>

              Supplies the github id to use to build https github URL for  the
              debian package when --http is not specified

       --help, -h

              Displays Genapp usage

       --http <URL>

              Specifies  the URL for the debian package homepage of the gener‐
              ated  app.   If  none   is   supplied   the   default   URL   is
              https://github/<github  user  id>/<appname>,  where <github user
              id> is specified with --github-id

       --man

              Displays the Genapp manual page. The output can be used to  gen‐
              erate regular MAN PAGES

       --root-release-dir <FOLDER PATH>

              Specifies  the path to the root folder where are stored software
              release for the generated app.  The folder path shall  be  rela‐
              tive to the application source folder.  A subfolder will be cre‐
              ated below the release folder for the generated  app,  therefore
              the release folder can be used for other apps as well.

       --verbose

              Verbose mode

       -v, --version

              Displays  the Genapp version. The output can be used to generate
              regular debian packages

       -y

              Assume 'Yes' answer for any confirmation request

EXAMPLES
       Generate a test app

              # An app named 'TestApp' is generated, inside folder  'testapp',
              main  script  will  be  'testapp'. The home page URL for the app
              will be https://github/michelm33/testapp

              genapp TestApp -y --author="George W"  --email="george.w@wh.org"
              --desc="A  test  application" --github-id="michelm33" --root-re‐
              lease-dir="../release"

              # Same as previous example, but the home page URL for the app is
              explicitly defined as 'https://slashetc/testapp'

              genapp  TestApp -y --author="George W" --email="george.w@wh.org"
              --desc="A  test  application"  --http="https://slashetc/testapp"
              --root-release-dir="../release"

       Execute the generated app

              # 'TestApp' is the generated app

              ./testapp

       Show the app help

              # 'TestApp' is the generated app

              ./testapp -h

       Show the last 30 log lines

              # 'TestApp' is the generated app

              ./testapp --log=30

       Show the files managed by the app

              # 'TestApp' is the generated app

              ./testapp --files

       Generate a debian package

              # This generates a release file tree and a debian package

              make release

       Generate the man pages

              #  This  generates  the  manpage  which  can  be open using 'man
              testapp'

              make man

              man testapp

AUTHOR
       Written by Michel MEHL

REPORTING BUGS
       Report bugs to <michel.mehl@slashetc.fr>

COPYRIGHT
       Copyright © 2024-2026 Michel Mehl.  All rights reserved.   Tous  droits
       réservés (France).

       License terms written down in file LICENSE.txt Les termes de la licence
       sont détaillés dans le fichier LICENSE.txt

Genapp 1.1.1                       July 2026                         GENAPP(8)
