Metadata-Version: 2.4
Name: autocourse
Version: 1.0.0
Summary: CLI toolkit for organizing AI/computational biology workshops
Author-email: Samuel Ahuno <kwameaistudio@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/sahuno/workshop-kit
Project-URL: Repository, https://github.com/sahuno/workshop-kit
Project-URL: Issues, https://github.com/sahuno/workshop-kit/issues
Keywords: workshop,computational-biology,bioinformatics,ai,marp,slides,email
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
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: Topic :: Education
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyyaml>=6.0
Provides-Extra: google
Requires-Dist: google-auth>=2.0; extra == "google"
Requires-Dist: google-auth-oauthlib>=1.0; extra == "google"
Requires-Dist: google-api-python-client>=2.0; extra == "google"
Provides-Extra: all
Requires-Dist: autocourse[google]; extra == "all"
Dynamic: license-file

# workshop-kit

A Claude Code plugin for organizing AI/computational biology workshops. Config-driven, ships with skills, templates, themes, and sample datasets.

## Installation

### Option A: pip package (standalone CLI)

```bash
pip install autocourse                    # core (yaml only)
pip install autocourse[google]            # + Google API support (email, forms, drive)
pip install autocourse[all]               # everything
```

Then use `autocourse` or `acos` from any directory:

```bash
autocourse --help
autocourse send --template invite --from-tsv participants.tsv --dry-run
acos slides --theme ocean
acos datasets --list
```

### Option B: Claude Code plugin

```bash
claude install-plugin github:sahuno/workshop-kit
```

### Install external tools

```bash
npm install -g @marp-team/marp-cli  # for slide building
```

Or run the full setup script:

```bash
bash setup/install.sh
```

## Quick Start

### 1. Scaffold a new workshop

```
/workshop-init
```

Runs an interactive interview, generates `workshop.config.yaml`, creates the directory tree, and initializes git.

### 2. Send participant emails

```
/workshop-comms
```

Select a template (invite, checklist, or kickoff), load recipients from a TSV file, preview, and send via Gmail API.

```bash
# CLI usage
python scripts/send_email.py --config workshop.config.yaml --template invite --from-tsv participants/responses.tsv --dry-run
```

### 3. Build slide decks

```
/workshop-slides
```

Converts slide framework markdown files to themed HTML and PDF using Marp.

```bash
# CLI usage
./scripts/build_slides.sh --config workshop.config.yaml
```

## CLI Commands

| Command | Description |
|---------|-------------|
| `autocourse init` | Scaffold a new workshop (interactive via Claude Code) |
| `autocourse send` | Send templated emails via Gmail API |
| `autocourse slides` | Build Marp slide decks |
| `autocourse form` | Create pre-workshop survey (Google Forms) |
| `autocourse drive` | Create Google Drive folder structure |
| `autocourse datasets` | Generate sample datasets for exercises |

Both `autocourse` and `acos` work as the command name.

## Skills (Claude Code)

| Skill | Description |
|-------|-------------|
| `/workshop-init` | Scaffold a new workshop project with config and directory tree |
| `/workshop-comms` | Send templated emails to participants via Gmail API |
| `/workshop-slides` | Build Marp slide decks from markdown frameworks with themed CSS |
| `/workshop-curriculum` | Generate agenda + slide frameworks from config topics (parallel subagents) |
| `/workshop-repo` | Create and configure a GitHub repository from config |
| `/workshop-marketing` | Generate flyers, social media posts, and email campaigns |
| `/workshop-logistics` | Set up Google Forms survey, Drive folders, Calendar invites |
| `/workshop-dayof` | Day-of checklist, kickoff email, last-minute prep |
| `/workshop-postmortem` | Post-workshop follow-up, feedback survey, summary report |

## Configuration

All workshop details live in `workshop.config.yaml`:

```yaml
workshop:
  name: "Agentic AI for Computational Biology"
  date: "2026-04-10"
  venue: "Your Venue"
  # ... see workshop.config.yaml for all fields

slides:
  theme: "ocean"  # ocean | savanna | midnight

email:
  sender: "you@gmail.com"
  credentials_dir: "./credentials"
```

## Themes

Three Marp CSS themes included:

| Theme | Style | Use Case |
|-------|-------|----------|
| **ocean** | White, deep blue headers | Professional, institutional |
| **savanna** | Warm white, earthy gold | Community workshops |
| **midnight** | Dark, cyan accents | Tech-forward, hackathons |

## Email Templates

Templates in `templates/` use `{placeholder}` syntax:

- `email_invite.md` — Workshop invitation
- `email_checklist.md` — Pre-workshop setup checklist
- `email_kickoff.md` — Day-of kickoff with Zoom link

## Sample Datasets

Small files in `datasets/` for workshop exercises:

- `sample_sequences.fasta` — BRCA1, TP53, EGFR, MYC partial sequences
- `sample_annotations.gff3` — Gene annotations (GRCh38)
- `sample_gene_list.txt` — Simulated DEG list with log2FC and p-values

## Project Structure

```
workshop-kit/
├── .claude-plugin              # Plugin manifest
├── workshop.config.yaml        # Workshop configuration
├── skills/
│   ├── workshop-init/          # /workshop-init skill
│   ├── workshop-comms/         # /workshop-comms skill
│   └── workshop-slides/        # /workshop-slides skill
├── templates/                  # Email and slide templates
├── themes/                     # Marp CSS themes
├── scripts/                    # send_email.py, build_slides.sh
├── datasets/                   # Sample data for exercises
├── references/                 # Setup guides and cheatsheets
└── setup/                      # install.sh, requirements.txt
```

## Prerequisites

- Python 3.9+
- Node.js 18+ (for Marp CLI)
- Git
- Google OAuth credentials (for email sending — see `references/google_api_setup.md`)

## License

MIT

## Author

Samuel Ahuno (kwameaistudio@gmail.com) | GitHub: [sahuno](https://github.com/sahuno)
