Shellapi

Shellapi

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:

       --verbose
              Verbose mode

       --email =<TEXTE>
              app's official contact email

       --help, -h
              Displays app usage

       -y     Assume 'Yes' when prompted for confirmation

       --github-id =<TEXTE>
              User id to use to build the github URL for the debian package homepage definition

       -v, --version
              Displays the app version

       --root-release-dir =<FOLDER PATH> Path to the root folder where are stored software release

       --author =<TEXTE>
              Author of the app

       --desc =<TEXTE>
              Description of the app

       --http =<URL>
              URL for the debian package homepage of the app

       --man  Displays the manual page

DESCRIPTION
       Genapp tool generates shell script app skeletons based the shell-api library. The generated skeletons are immediately operational and just need to be adapted to the specific app to be imple‐
       mented. 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

EXAMPLES
       Generating 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 Washington" --email="george.washington@whitehouse.org" --desc="A test application" --github-id="michelm33" --root-release-dir="../release"

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

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

       Executing the generated app

              # 'TestApp' is the generated app

              ./testapp

       Showing the app help

              # 'TestApp' is the generated app

              ./testapp -h

       Showing the last 30 log lines

              # 'TestApp' is the generated app

              ./testapp --log=30

       Showing the files managed by the app

              # 'TestApp' is the generated app

              ./testapp --files

       Generating a debian package

              # This generates a release file tree and a debian package

              make release

       Generating 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>

       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.0.0                                                                                   May 2026                                                                                     GENAPP(8)