Metadata-Version: 2.4
Name: cit-course-tools
Version: 0.1.0
Summary: Course workspace and hardware-report tools for CIT classes
Keywords: CIT,course tools,education,llama.cpp,local AI,workspace
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Education
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Education
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# CIT Course Tools

`cit-course-tools` is a small, cross-platform collection of command-line tools
for Computer Information Technology courses. The initial release creates the
recommended CIT 495 workspace and, when requested, generates a privacy-conscious
hardware report for local-AI and llama.cpp troubleshooting.

The utility does **not** download or install llama.cpp, AI models, or any other
external software. It has no third-party runtime dependencies.

## Installation

For an isolated command-line installation, use [`pipx`](https://pipx.pypa.io/):

```console
pipx install cit-course-tools
```

It can also be installed into an existing Python environment:

```console
python -m pip install cit-course-tools
```

Python 3.10 or newer is required.

## Usage

Navigate to the intended course workspace and use `.`:

```console
cd /path/to/CIT495
cit-course .
```

Or supply the workspace directory directly:

```console
cit-course --all /path/to/CIT495
```

On Windows, a path containing spaces should be quoted:

```powershell
cit-course --all "C:\Users\Student\Courses\CIT495"
```

Available operations are:

```console
cit-course . --scaffold
cit-course . --specs
cit-course . --all
cit-course --help
```

With no operation flag, the utility runs interactively. If the target is
omitted, it defaults to the current directory.

The utility stays in its installed Python environment. It is never copied or
moved into the course workspace.

## Workspace structure

The initial scaffold is:

```text
CIT495/
├── README.md
├── models/
│   └── README.md
├── llama.cpp/
│   └── README.md
├── labs/
│   ├── README.md
│   └── lab01/
│       ├── logs/
│       ├── prompts/
│       └── results/
├── project/
│   └── README.md
└── specs/
    └── README.md
```

Later lab directories are added as the semester progresses. The persistent
semester system belongs in `project/`, while lab evidence belongs under
`labs/`.

Scaffolding is idempotent: missing components are restored, populated README
files are preserved, and student files are not deleted.

## Hardware report and privacy

The optional report is written to:

```text
<workspace>/specs/hardware_specs.txt
```

It may include the operating system, architecture, CPU, CPU counts, memory,
storage, relevant instruction sets, Python version, and detected GPUs. Some
details may be unavailable on a particular system.

The report intentionally excludes usernames, serial numbers, device IDs, MAC
and IP addresses, license keys, credentials, precise location, and unrelated
software inventories. Students should still review the report before sharing
it.

## Development

Run the standard-library test suite with:

```console
python -m unittest discover -s tests -v
```

See `PUBLISHING.md` for the release checklist.
