<commit_before>
I would like to make a git repo for each language+testFramework combination.
This would include the visible-files at startup and the Dockerfile +context files
(eg .jar files).
A problem with this is that start-point create has to clone from a git repo
and I don't want to clone the Dockerfile stuff I only want the visible-files stuff.
I think this is possible.
For example, suppose I wanted to only git clone the app/ dir of
https://github.com/cyber-dojo/web.git
here's what I'd need to do

mkdir partial
cd partial
git init
git remote add origin https://github.com/cyber-dojo/web.git
git config core.sparseCheckout true
echo "app/" >> .git/info/sparse-checkout
git pull --depth=1 origin master
rm -rf .git

-------------------------------------------------

The idea is that each catalog can become a json file, with
the structure mirroring the major,minor display name, eg

$ cyber-dojo start-point create abc --json=https://raw.githubusercontent.com/cyber-dojo/catalogs/master/all.git

https://raw.githubusercontent.com/cyber-dojo/catalogs/master/all.git
{
  "C++" : {
    "assert" : "https://github.com/cyber-dojo-languages/C++,assert.git",
    "catch"  : "https://github.com/cyber-dojo-languages/C++,catch.git",
    "custom" : "localDir"
  },
  "Java" : {
    "JUnit"   : "https://github.com/cyber-dojo-languages/Java,junit.git",<commit_msg>[ci skip] added notes how I plan to create start-point from git-repo per language+testFramework<commit_after>
I would like to make a git repo for each language+testFramework combination.
This would include the visible-files at startup and the Dockerfile +context files
(eg .jar files).
A problem with this is that start-point create has to clone from a git repo
and I don't want to clone the Dockerfile stuff I only want the visible-files stuff.
I think this is possible.
For example, suppose I wanted to only git clone the app/ dir of
https://github.com/cyber-dojo/web.git
here's what I'd need to do

mkdir partial
cd partial
git init
git remote add origin https://github.com/cyber-dojo/web.git
git config core.sparseCheckout true
echo "app/" >> .git/info/sparse-checkout
git pull --depth=1 origin master
rm -rf .git

-------------------------------------------------

The idea is that the creation of the start-point looks for manifest.json
files and *ALSO* for new json files called 'manifest_link.json'
which contain the URL of where to grab the start-files
(from the partial git repo as above).
     { "link" : "https://github.com/cyber-dojo-languages/csharp_nunit.git" }

-------------------------------------------------

Further, the structure could incorporate the major,minor display name, eg

$ cyber-dojo start-point create abc --json=https://raw.githubusercontent.com/cyber-dojo/catalogs/master/all.git

https://raw.githubusercontent.com/cyber-dojo/catalogs/master/all.git
{
  "C++" : {
    "assert" : "https://github.com/cyber-dojo-languages/C++,assert.git",
    "catch"  : "https://github.com/cyber-dojo-languages/C++,catch.git",
    "custom" : "localDir"
  },
  "Java" : {
    "JUnit"   : "https://github.com/cyber-dojo-languages/Java,junit.git",
{'fraction_non_alphanumeric': 0.15456, 'fraction_numerical': 0.00064, 'mean_word_length': 3.151394422310757, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 15, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '199978', 'n_tokens_mistral': 969, 'n_tokens_neox': 947, 'n_words': 332}