Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 22 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@
# HarnessRouter Demo at Harvard
# HarnessRouter Starter

Open-source demo repository for the HarnessRouter workshop at Harvard.
Open-source starter demos for [HarnessRouter](https://harnessrouter.ai), the unified API for running agent harnesses such as Codex and Claude Code as your product backend.

This repository contains two separate applications. The **Cursor-style coding app is the primary workshop demo**; **LumaCare is a second reference demo** showing how the same HarnessRouter patterns transfer to a different domain.
An LLM returns tokens. A harness gives it a sandbox, tools, and a loop, so it returns the actual file. HarnessRouter lets your app send a task through one API and get back finished work.

This repository contains two separate applications. The **Cursor-style coding app is the primary demo**; **LumaCare is a second reference demo** showing how the same HarnessRouter patterns transfer to a different domain.

## Get your API key

1. [Create a HarnessRouter account](https://app.harnessrouter.ai/login?ref=github-starter). Signing up is free.
2. Add a payment card to unlock the 500 free launch credits (limited-time offer).
3. Follow the [quickstart](https://app.harnessrouter.ai/quickstart?ref=github-starter) to create an API key, and for the primary demo, a coding agent whose agent ID you will reference below.

You can install and start either demo without a card. Credits are only consumed once the app sends tasks through your API key, and both demos run comfortably within the free credits.

## Demos

### 1. Cursor-style coding app — primary demo

**Workshop:** Build a Cursor in 3 Steps

A coding-agent interface that demonstrates project-aware tasks, streamed output, persistent sessions, follow-up work, cancellation, and generated-file downloads.
A coding-agent interface that demonstrates project-aware tasks, streamed output, persistent sessions, follow-up work, cancellation, and generated-file downloads. Watch the [55-second build video](https://harnessrouter.ai/example?ref=github-starter) to see it running.

[Open the Cursor-style demo guide](./demos/01-cursor-coding-app/README.md)

Expand Down Expand Up @@ -43,7 +51,7 @@ Run one demo at a time because both use port `3000` by default.
```text
.
├── demos/
│ ├── 01-cursor-coding-app/ # Primary Harvard workshop demo
│ ├── 01-cursor-coding-app/ # Primary demo
│ └── 02-lumacare/ # Secondary reference demo
├── .env.example # Shared local configuration template
├── package.json # npm workspace commands
Expand All @@ -55,7 +63,7 @@ Each demo owns its frontend, server, tests, agent mapping, and documentation. Th
## Prerequisites

- Node.js 22 or newer
- A HarnessRouter API key
- A HarnessRouter API key (see [Get your API key](#get-your-api-key))
- A HarnessRouter coding-agent ID for the primary demo

## Commands
Expand All @@ -68,3 +76,9 @@ npm run build # Build and type-check both workspaces
```

Credentials belong in an ignored `.env` file and never in source control. See each demo's README for its configuration and architecture.

## Learn more

- [HarnessRouter website](https://harnessrouter.ai?ref=github-starter)
- [Documentation](https://harnessrouter.ai/docs?ref=github-starter)
- [Pricing](https://harnessrouter.ai/pricing?ref=github-starter)
4 changes: 3 additions & 1 deletion demos/01-cursor-coding-app/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ From the repository root:
PORT=3000
```

No key yet? Follow [Get your API key](../../README.md#get-your-api-key) in the repository README. Starting the demo consumes no credits; credits are only used when tasks run.

3. Start the primary demo.

```bash
Expand All @@ -40,7 +42,7 @@ Open [http://localhost:3000](http://localhost:3000).
| `src/App.tsx` | Provides the Cursor-style coding-agent interface and session history |
| `tests/` | Covers stream parsing and cross-user session ownership |

The demo intentionally does not include a production repository sandbox. Configure the HarnessRouter coding agent with the tools and repository access appropriate to your workshop environment.
The demo intentionally does not include a production repository sandbox. Configure the HarnessRouter coding agent with the tools and repository access appropriate to your environment.

## Direct workspace commands

Expand Down
4 changes: 2 additions & 2 deletions demos/02-lumacare/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# LumaCare

The secondary HarnessRouter reference demo in this repository.
The secondary HarnessRouter reference demo in this repository, originally built for the HarnessRouter workshop at Harvard.

LumaCare is a family-care companion for parents and caregivers of children receiving cancer care. It demonstrates how the same secure streaming, persistence, ownership, and artifact patterns used by the primary coding demo can support a specialized domain experience.

Expand All @@ -9,7 +9,7 @@ LumaCare is a family-care companion for parents and caregivers of children recei
From the repository root:

1. Run `npm install` if dependencies are not installed.
2. Copy `.env.example` to the repository root as `.env` and set `HR_API_KEY`.
2. Copy `.env.example` to the repository root as `.env` and set `HR_API_KEY` (no key yet? Follow [Get your API key](../../README.md#get-your-api-key) in the repository README).
3. Start the demo:

```bash
Expand Down
Loading