Repository and Projects

Contents of the Orbital Shell project repository

Use PowerShell and git to get a clone of the Orbital Shell repository in the folder orbital-shell :

cd ~
git clone https://github.com/OrbitalShell/orbital-shell.git
cd ./orbital-shell
dir

you get the following folders ands files:

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       04/01/2021     16:02                .vscode
d-----       05/01/2021     22:13                docs
d-----       09/01/2021     14:06                OrbitalShell-CLI
d-----       09/01/2021     14:06                OrbitalShell-ConsoleApp
d-----       09/01/2021     14:06                OrbitalShell-Kernel
-a----       20/05/2020     13:05           2581 .gitattributes
-a----       20/05/2020     13:05           6084 .gitignore
-a----       13/06/2020     04:12           2542 LICENSE.md
-a----       09/01/2021     14:10           2329 OrbitalShell.sln
-a----       25/09/2020     21:54           5738 README.md

Let’s see what are these files and folders in detail :

name type description
docs Jekyll web site Orbital Shell project Git Pages
OrbitalShell-ConsoleApp DotNet standard lib 2.1 .net console application toolkit
OrbitalShell-Kernel DotNet standard lib 2.1 .net console application toolkit : shell extension
OrbitalShell-CLI DotNet Core 5 console app Orbital Shell CLI

So we have 3 .NetCore projects folders, 1 documentation folder and 1 utilitary (mainly scripts) folder. We also have two solution projects files:

  • .vscode is used by vscode when opening the repository as a solution (vscode .)
  • OrbitalShell.sln is used to open project files in a Visual Studio (2019) solution.

Let’s watch to these folders in detail:

docs(web jekyll)

These is the gh-pages folder, containing the files for the GitHub pages of Orbital Shell GitHub Project Pages (this web site){: target=”_blank”}

This is the content of a Jekyll static web site generated - based on Liquid, kramdown, Ruby

Browse in repository: https://github.com/OrbitalShell/orbital-shell/tree/master/docs

OrbitalShell-ConsoleApp(NetCore Standard 2.1)

Library that provides support for developing console applications (ANSI support). Named DotNetConsoleAppToolkit in the past (having it’s own repository, now closed: https://github.com/OrbitalShell/dotnet-console-app-toolkit), this project has been integrated in the Orbital Shell repository, for convenience.

provided namespaces:

  • OrbitalShell
    • Console
    • Component
      • UI
    • Lib

Browse in repository: https://github.com/OrbitalShell/orbital-shell/tree/master/OrbitalShell-ConsoleApp

OrbitalShell-Kernel(NetCore Standard 2.1)

Library extending OrbitalShell-AppConsole that provides features for building a command shell. It is the Orbital Shell Kernel.

provided namespaces:

  • OrbitalShell
    • Component
      • CommandLine
        • CommandBatch
        • CommandLineReader
        • CommandModel
        • Data
        • Defaults
        • Parsing
        • Pipeline
        • Processor
        • Variable
    • Console
    • Lib
      • Data
      • FileSystem
    • Shell
      • Commands
        • CommandLineProcessorCommands
        • ConsoleCommands
        • SystemCommands
        • FileSystemCommands
        • TextEditor
        • TestCommands

Browse in repository: https://github.com/OrbitalShell/orbital-shell/tree/master/OrbitalShell-Kernel

OrbitalShell-CLI(.Net Core 3.1)

This console project provides the Orbital Shell executable, but is also a build of code,files and script thats build the distribution of Orbital Shell.

provided namespaces:

  • OrbitalShell
    • Component
      • CommandLine
        • Defaults
        • Processor

Browse in repository: https://github.com/OrbitalShell/orbital-shell/tree/master/OrbitalShell-CLI