<commit_before>### Getting Started with fips

This is a step-by-step guide from installing fips to building a
sample 'Hello World' project.

#### You need:

* Python 2.7.x
* CMake (at least version 2.8.11)
* a working C/C++ development environment for your OS (e.g. Xcode on OSX,
make/gcc on Linux, Visual Studio on Windows)

#### Setting up and testing fips:

Clone the fips git repo into a separate directory, and check if the 
fips main script runs.

>NOTE: on Windows, run 'fips' instead of './fips'! 

```bash
> cd ~
> mkdir fips-workspace
> cd fips-workspace
> git clone https://github.com/floooh/fips.git
...
> cd fips
> ./fips
run 'fips help' for more info
> _
```

#### Showing help:

Run 'fips help' to get an overview of available commands:

```bash
> ./fips help
fips: the high-level, multi-platform build system wrapper
v0.0.1
https://www.github.com/floooh/fips

fips build
fips build [config]
   perform a build for current or named config
...
fips unset config
fips unset target
    unset currently active config or make-target

> _
```

You can show help for a specific command:

```bash
> ./fips help diag
fips diag
fips diag all
fips diag tools
fips diag configs
fips diag imports
    run diagnostics and check for errors
```

#### Check if required tools are installed

Run 'fips diag tools' to check whether the required command line
tools are found by fips:

```bash
> ./fips diag tools
=== tools:
git:    found
cmake:    found
ccmake:    found
make:    found
ninja:    NOT FOUND
xcodebuild:    found
```

Install any tools which are shown as 'NOT FOUND'.

#### Clone the sample project

List the fips project registry, and clone the 'Hello World' sample
project and its dependencies:

```bash
> ./fips list registry
=== registry:
...
fips-hello-world => https://github.com/floooh/fips-hello-world.git
...
```

Clone the 'fips-hello-world' sample project. It's dependencies will also
automatically be cloned from github:

```bash
./fips clone fips-hello-world
registry lookup: fips-hello-world => https://github.com/floooh/fips-hello-world.git
Cloning into 'fips-hello-world'...
remote: Counting objects: 66, done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 66 (delta 3), reused 0 (delta 0)
Unpacking objects: 100% (66/66), done.
Checking connectivity... done.
=== dependency: 'fips-hello-dep1':
Cloning into 'fips-hello-dep1'...
remote: Counting objects: 64, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 64 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (64/64), done.
Checking connectivity... done.
=== dependency: 'fips-hello-dep2':
Cloning into 'fips-hello-dep2'...
remote: Counting objects: 60, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 60 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (60/60), 7.49 KiB | 0 bytes/s, done.
Resolving deltas: 100% (15/15), done.
Checking connectivity... done.
> _
```

#### Build and run the fips-hello-world project:

fips sample projects live side-by-side next to the fips directory,
a fips project can be built by cd'ing to it, and running './fips build':

```bash
> cd ../fips-hello-world
> ./fips build
=== dependency: 'fips-hello-dep1':
dir '/Users/floh/fips-workspace/fips-hello-dep1' exists
=== dependency: 'fips-hello-dep2':
dir '/Users/floh/fips-workspace/fips-hello-dep2' exists
=== building: osx-xcode-debug
=== generating: osx-xcode-debug
-- The C compiler identification is AppleClang 6.0.0.6000056
-- The CXX compiler identification is AppleClang 6.0.0.6000056
-- Check for working C compiler using: Xcode
-- Check for working C compiler using: Xcode -- works
...
** BUILD SUCCEEDED **

1 configs built
> _
```

Now run the compiled 'hello' executable:

```bash
> ./fips run hello
=== run 'hello' (config: osx-xcode-debug, project: fips-hello-world):
Hello World!
Hello from dep1
Hello from dep2!
Imported string define: Bla
Imported int define: 1
> _
```


<commit_msg>typo fixed<commit_after>### Getting Started with fips

This is a step-by-step guide from installing fips to building a
sample 'Hello World' project.

#### You need:

* Python 2.7.x
* CMake (at least version 2.8.11)
* a working C/C++ development environment for your OS (e.g. Xcode on OSX,
make/gcc on Linux, Visual Studio on Windows)

#### Setting up and testing fips:

Clone the fips git repo into a separate directory, and check if the 
fips main script runs.

>NOTE: on Windows, run 'fips' instead of './fips'! 

```bash
> cd ~
> mkdir fips-workspace
> cd fips-workspace
> git clone https://github.com/floooh/fips.git
...
> cd fips
> ./fips
run 'fips help' for more info
> _
```

#### Showing help:

Run 'fips help' to get an overview of available commands:

```bash
> ./fips help
fips: the high-level, multi-platform build system wrapper
v0.0.1
https://www.github.com/floooh/fips

fips build
fips build [config]
   perform a build for current or named config
...
fips unset config
fips unset target
    unset currently active config or make-target

> _
```

You can show help for a specific command:

```bash
> ./fips help diag
fips diag
fips diag all
fips diag tools
fips diag configs
fips diag imports
    run diagnostics and check for errors
```

#### Check if required tools are installed

Run 'fips diag tools' to check whether the required command line
tools are found by fips:

```bash
> ./fips diag tools
=== tools:
git:    found
cmake:    found
ccmake:    found
make:    found
ninja:    NOT FOUND
xcodebuild:    found
```

Install any tools which are shown as 'NOT FOUND'.

#### Clone the sample project

List the fips project registry, and clone the 'Hello World' sample
project and its dependencies:

```bash
> ./fips list registry
=== registry:
...
fips-hello-world => https://github.com/floooh/fips-hello-world.git
...
```

Clone the 'fips-hello-world' sample project. It's dependencies will also
automatically be cloned from github:

```bash
> ./fips clone fips-hello-world
registry lookup: fips-hello-world => https://github.com/floooh/fips-hello-world.git
Cloning into 'fips-hello-world'...
remote: Counting objects: 66, done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 66 (delta 3), reused 0 (delta 0)
Unpacking objects: 100% (66/66), done.
Checking connectivity... done.
=== dependency: 'fips-hello-dep1':
Cloning into 'fips-hello-dep1'...
remote: Counting objects: 64, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 64 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (64/64), done.
Checking connectivity... done.
=== dependency: 'fips-hello-dep2':
Cloning into 'fips-hello-dep2'...
remote: Counting objects: 60, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 60 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (60/60), 7.49 KiB | 0 bytes/s, done.
Resolving deltas: 100% (15/15), done.
Checking connectivity... done.
> _
```

#### Build and run the fips-hello-world project:

fips sample projects live side-by-side next to the fips directory,
a fips project can be built by cd'ing to it, and running './fips build':

```bash
> cd ../fips-hello-world
> ./fips build
=== dependency: 'fips-hello-dep1':
dir '/Users/floh/fips-workspace/fips-hello-dep1' exists
=== dependency: 'fips-hello-dep2':
dir '/Users/floh/fips-workspace/fips-hello-dep2' exists
=== building: osx-xcode-debug
=== generating: osx-xcode-debug
-- The C compiler identification is AppleClang 6.0.0.6000056
-- The CXX compiler identification is AppleClang 6.0.0.6000056
-- Check for working C compiler using: Xcode
-- Check for working C compiler using: Xcode -- works
...
** BUILD SUCCEEDED **

1 configs built
> _
```

Now run the compiled 'hello' executable:

```bash
> ./fips run hello
=== run 'hello' (config: osx-xcode-debug, project: fips-hello-world):
Hello World!
Hello from dep1
Hello from dep2!
Imported string define: Bla
Imported int define: 1
> _
```



{'fraction_non_alphanumeric': 0.12880621735252898, 'fraction_numerical': 0.02828385781628233, 'mean_word_length': 3.807103490508267, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 46, 'https://': 8, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 4, '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': '4189373', 'n_tokens_mistral': 2844, 'n_tokens_neox': 2598, 'n_words': 991}