<commit_before>
# GOLANG project template

This is my personal [GOLANG](http://golang.org/) project template.
It is built with these goals in mind:

* Everything should be local to the development folder as much as is possible without
  resorting to ugly hacks.

* 1-step build or test without any special setup after any `git clone` on a newly minted
  machine except for installing the `go` compiler itself.

* Do not rely on global `GOPATH` and yet still allows you to check your entire source
  folder in as if you would a normal go program inside one. This makes your repository
  plays well with other go coders who will surely be using the global `GOPATH` convention.

# Getting Started

Run this one-liner to dump the repository content into current directory.

```sh
curl -L https://github.com/chakrit/go-scratch/archive/master.tar.gz | tar -xzv --strip 1
```

Or a full setup for a new project:

```sh
mkdir your-new-shiny-project    # Make a new shiny folder for your new project.
cd your-new-shiny-project       # Get into the folder first, of course.
git init                        # Or not, doesn't matter.

# Download the scratch template
curl -L https://github.com/chakrit/go-scratch/archive/master.tar.gz | tar -xzv --strip 1

git add .<commit_msg>Add note about updating LICENSE<commit_after># GOLANG project template

This is my personal [GOLANG](http://golang.org/) project template.
It is built with these goals in mind:

* Everything should be local to the development folder as much as is possible without
  resorting to ugly hacks.

* 1-step build or test without any special setup after any `git clone` on a newly minted
  machine except for installing the `go` compiler itself.

* Do not rely on global `GOPATH` and yet still allows you to check your entire source
  folder in as if you would a normal go program inside one. This makes your repository
  plays well with other go coders who will surely be using the global `GOPATH` convention.

# Getting Started

Run this one-liner to dump the repository content into current directory.

```sh
curl -L https://github.com/chakrit/go-scratch/archive/master.tar.gz | tar -xzv --strip 1
```

Do not forget to update the `LICENSE` file to match what you need. Or simply remove it.

Example for a full setup for a new project:

```sh
mkdir your-new-shiny-project    # Make a new shiny folder for your new project.
cd your-new-shiny-project       # Get into the folder first, of course.
git init                        # Or not, doesn't matter.

# Download the scratch template
curl -L https://github.com/chakrit/go-scratch/archive/master.tar.gz | tar -xzv --strip 1

git add .
{'fraction_non_alphanumeric': 0.07177937287495277, 'fraction_numerical': 0.0022667170381564035, 'mean_word_length': 3.3768595041322316, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3413984', 'n_tokens_mistral': 764, 'n_tokens_neox': 729, 'n_words': 376}