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

# Hello World Scaffold
</gsl-header>
<gsl-block>

<gsl-purpose>
<gsl-title>

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

Provide basic CLI features to kick off 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    |
| **How to Write a Scalable 'Hello World' CLI in Python**                 | Article |
| **How to Reproduce Gritlabs Functionality in your own CLI**             | Article |
| **How to set up an ARM64 Ubuntu self-hosted runner for GitHub Actions** | 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.

* Buildable `obk` CLI with behaviors from gritlabs
* Project root with entry point
* pyproject.toml for build/deps
* Minimal test skeleton (tests/test\_cli.py)
</gsl-description>
</gsl-outputs>

<gsl-workflows>
<gsl-title>

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

This section lists the main steps or processes required to complete tasks in the project.

* Clone the repository and navigate into the project directory
* Install the package locally with `pip install -e .` (editable) or `pip install .` (standard)
* Verify installation by running `obk hello-world` from any directory (should print "hello world")
* (Optional) Install from PyPI: `pip install obk`
* Pushes to `work` 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. When I run the command `obk hello-world` from any directory...
</gsl-performed-action>
<gsl-expected-result>

    ..."hello world" is printed to the screen.
</gsl-expected-result>
</gsl-acceptance-test>
<gsl-acceptance-test id="2">
<gsl-performed-action>

2. When I run the command `obk hello-world -h`...
</gsl-performed-action>
<gsl-expected-result>

    ...I see 'help' information about the `hello-world` command.
</gsl-expected-result>
</gsl-acceptance-test>
<gsl-acceptance-test id="3">
<gsl-performed-action>

3. When I run the command `python -m obk hello-world`...
</gsl-performed-action>
<gsl-expected-result>

    ..."hello world" is printed to the screen.
</gsl-expected-result>
</gsl-acceptance-test>
</gsl-acceptance-tests>
</gsl-block>
</gsl-prompt>
