<?xml version="1.0" encoding="UTF-8"?>
<gsl-prompt id="20250727T094740-0400" type="feat">
<gsl-header>

# Setup Repo
</gsl-header>
<gsl-block>
<gsl-purpose>
<gsl-title>

## 1. Purpose
</gsl-title>
<gsl-description>

Set up the repository for the `obk` CLI project. 
</gsl-description>
</gsl-purpose>

<gsl-inputs>
<gsl-title>

## 2. Inputs
</gsl-title>
<gsl-description>

This table lists key artifacts—tools, articles, or other sources—that directly guide or constrain the OBK scaffold.

| Input                                                                    | Notes                              |
| ------------------------------------------------------------------------ | ---------------------------------- |
| ChatGPT / Codex                                                          | Tool                               |
| Gritlabs Preamble scaffold                                               | Prompt management and traceability |
| **Shared Language, Shared Success: How Machine Syntax Builds Agreement** | Article                            |
| **Stacked Branching in Git: How to Preserve Your Intent**                | Article                            |
| **How to Setup Branch Protection In GitHub**                             | Article                            |
| **Modern CHANGELOG Automation for Python Projects**                      | Article                            |

</gsl-description>
</gsl-inputs>
<gsl-outputs>
<gsl-title>

## 3. Outputs
</gsl-title>
<gsl-description>

This section lists the main components produced by the OBK scaffold.

* Code automation workflows
* Gritlabs Preamble templates
* XML-based workflows
* Git stacked branching workflow (best practices)
* Repo with branch protections
* Versioning and changelog automation
</gsl-description>
</gsl-outputs>
<gsl-workflows>
<gsl-title>

## 4. Workflows
</gsl-title>
<gsl-description>

This section lists the main steps or processes required to set up the project.

* Familiarize yourself with the Gritlabs Preamble scaffold and add it to the repo
* Read articles listed in Inputs
* Set up the repo based on these articles
* Pushes to the `main` branch trigger GitHub Actions
* CI workflow installs dependencies and runs pytest
</gsl-description>
</gsl-workflows>
<gsl-acceptance-tests>
<gsl-title>

## 5. Acceptance Tests
</gsl-title>
<gsl-acceptance-test id="1">
<gsl-performed-action>

1. Visiting [https://github.com/bynbb/obk/releases](https://github.com/bynbb/obk/releases)...
</gsl-performed-action>
<gsl-expected-result>

    ...Shows changelog and draft changes
    ```markdown
        ## What's Changed
        * Add gritlabs/obk-scaffold
        * Docs update articles by @bynbb in https://github.com/bynbb/obk/pull/1
        ...etc.
    ```
</gsl-expected-result>
</gsl-acceptance-test>
<gsl-acceptance-test id="2">
<gsl-performed-action>

2. When I do not use a conventional commit tag...
</gsl-performed-action>
<gsl-expected-result>

    ...the commit does not go through and git shows me an error.
</gsl-expected-result>
</gsl-acceptance-test>
<gsl-acceptance-test id="3">
<gsl-performed-action>



3. When I observe the GitHub runners during a build...
</gsl-performed-action>
<gsl-expected-result>

    ...the GitHub runner checks for a conventional commit tag.
</gsl-expected-result>
</gsl-acceptance-test>
</gsl-acceptance-tests>
</gsl-block>
</gsl-prompt>
