> ## Documentation Index
> Fetch the complete documentation index at: https://gnero.genetind.com/llms.txt
> Use this file to discover all available pages before exploring further.

# open-typeless

> Step-by-step guide: Building a macOS voice input app with Trellis

# open-typeless

A step-by-step tutorial showing how to use Trellis to build a macOS voice input app from scratch.

<Info>
  **Source Code**:
  [github.com/mindfold-ai/open-typeless](https://github.com/mindfold-ai/open-typeless)
</Info>

## Step 1: Project Initialization

### 1.1 Create Electron Project

```bash theme={null}
npx create-electron-app@latest open-typeless --template=vite-typescript

cd open-typeless

# Remove npm generated files
rm -rf node_modules package-lock.json

# Create .npmrc (required for pnpm + Electron)
cat > .npmrc << 'EOF'
node-linker=hoisted
shamefully-hoist=true
EOF

# Reinstall with pnpm
pnpm install
```

### 1.2 Initialize Trellis

```bash theme={null}
trellis init
```

<img src="https://mintcdn.com/genetind-32e49e31/_Iev2XFslXSK3lM6/images/use-cases/open-typeless/init.png?fit=max&auto=format&n=_Iev2XFslXSK3lM6&q=85&s=a19b7999e3370b1caf6d0340f1c0a0a5" alt="trellis init" width="1762" height="1350" data-path="images/use-cases/open-typeless/init.png" />

### 1.3 Copy Specs from Existing Project

If you have specs from a similar project, copy them over:

```bash theme={null}
cp -r /path/to/old-project/.trellis/spec ./
```

### 1.4 Ask AI to Fill in Specs

**Prompt:**

> Help me select useful specs from electron-doc/ and organize them into this project's .trellis/spec/

AI will analyze and organize specs:

<img src="https://mintcdn.com/genetind-32e49e31/_Iev2XFslXSK3lM6/images/use-cases/open-typeless/step1.png?fit=max&auto=format&n=_Iev2XFslXSK3lM6&q=85&s=fddf9a36e43c58eac864ec429dae043e" alt="spec selection" width="758" height="1590" data-path="images/use-cases/open-typeless/step1.png" />

## Step 2: Task Planning

### 2.1 Ask AI to Plan Tasks

**Prompt:**

> I want to use Volcengine ASR BigModel API to build this. Help me plan how to break down the tasks.

AI creates a batch-based task plan:

<img src="https://mintcdn.com/genetind-32e49e31/_Iev2XFslXSK3lM6/images/use-cases/open-typeless/step2-1.png?fit=max&auto=format&n=_Iev2XFslXSK3lM6&q=85&s=10aaa491ae6e9ac706af9a22afb1a29c" alt="task planning" width="1088" height="5446" data-path="images/use-cases/open-typeless/step2-1.png" />

### 2.2 Create Tasks

AI creates tasks organized into batches:

| Batch   | Tasks                                                                | Purpose                          |
| ------- | -------------------------------------------------------------------- | -------------------------------- |
| Batch 1 | `asr-infrastructure`                                                 | Foundation (must complete first) |
| Batch 2 | `asr-audio-recorder`, `asr-volcengine-client`, `asr-floating-window` | Can run in parallel              |
| Batch 3 | `asr-integration`                                                    | Integration (depends on Batch 2) |

<img src="https://mintcdn.com/genetind-32e49e31/_Iev2XFslXSK3lM6/images/use-cases/open-typeless/step2-2.png?fit=max&auto=format&n=_Iev2XFslXSK3lM6&q=85&s=532a95f802cd45cc35d7be8d1c3f9904" alt="tasks created" width="1116" height="1502" data-path="images/use-cases/open-typeless/step2-2.png" />

### 2.3 Complete Batch 1

After Batch 1 completes, verify and update downstream task contexts:

<img src="https://mintcdn.com/genetind-32e49e31/_Iev2XFslXSK3lM6/images/use-cases/open-typeless/step2-3.png?fit=max&auto=format&n=_Iev2XFslXSK3lM6&q=85&s=a2cbddedeca63417f930fef22e5074f5" alt="batch 1 complete" width="1912" height="918" data-path="images/use-cases/open-typeless/step2-3.png" />

## Step 3: Parallel Development

### 3.1 Start Parallel Agents

**Prompt:** `/trellis:parallel`

AI launches 3 worktree agents for Batch 2, each working in an isolated git worktree:

<img src="https://mintcdn.com/genetind-32e49e31/_Iev2XFslXSK3lM6/images/use-cases/open-typeless/step3-1.png?fit=max&auto=format&n=_Iev2XFslXSK3lM6&q=85&s=11db1490e6f6b6799aa23380fcc040cc" alt="parallel agents" width="2298" height="1646" data-path="images/use-cases/open-typeless/step3-1.png" />

## Step 4: Monitor Progress

### 4.1 Check Agent Status

AI monitors agent status and task progress:

<img src="https://mintcdn.com/genetind-32e49e31/_Iev2XFslXSK3lM6/images/use-cases/open-typeless/step4-1.png?fit=max&auto=format&n=_Iev2XFslXSK3lM6&q=85&s=d01d7b7c1f373dd34ddd368cc042c333" alt="agent status" width="2024" height="746" data-path="images/use-cases/open-typeless/step4-1.png" />

### 4.2 Record Session

After parallel agents complete, they create PRs automatically:

<img src="https://mintcdn.com/genetind-32e49e31/_Iev2XFslXSK3lM6/images/use-cases/open-typeless/step3-4.png?fit=max&auto=format&n=_Iev2XFslXSK3lM6&q=85&s=809a844305c9f7b7082140225a75d406" alt="parallel PRs" width="2862" height="1068" data-path="images/use-cases/open-typeless/step3-4.png" />

After merging and completing a batch, record the session:

**Prompt:** `/trellis:record-session`

<img src="https://mintcdn.com/genetind-32e49e31/_Iev2XFslXSK3lM6/images/use-cases/open-typeless/step2-4.png?fit=max&auto=format&n=_Iev2XFslXSK3lM6&q=85&s=6fe17a637a2ce86b14a61e51497094bd" alt="record session" width="2032" height="1556" data-path="images/use-cases/open-typeless/step2-4.png" />

## Step 5: Continue Development

### 5.1 Check Remaining Tasks

AI shows remaining tasks in the current project:

<img src="https://mintcdn.com/genetind-32e49e31/_Iev2XFslXSK3lM6/images/use-cases/open-typeless/step5-1.png?fit=max&auto=format&n=_Iev2XFslXSK3lM6&q=85&s=b713c852f4b1d92c562984d3782684a9" alt="task list" width="1602" height="1240" data-path="images/use-cases/open-typeless/step5-1.png" />

### 5.2 Implement Next Feature

Select the next task, AI uses implement agent then check agent:

<img src="https://mintcdn.com/genetind-32e49e31/_Iev2XFslXSK3lM6/images/use-cases/open-typeless/step5-2.png?fit=max&auto=format&n=_Iev2XFslXSK3lM6&q=85&s=4cd36ca2b77a6bb4828439d0370f1fe5" alt="implement and check" width="1498" height="1472" data-path="images/use-cases/open-typeless/step5-2.png" />

### 5.3 Configure and Test

AI helps with remaining setup (environment config, permissions):

<img src="https://mintcdn.com/genetind-32e49e31/_Iev2XFslXSK3lM6/images/use-cases/open-typeless/step5-3.png?fit=max&auto=format&n=_Iev2XFslXSK3lM6&q=85&s=2064edaeb19fa66bb7cc72a646bf9c08" alt="final setup" width="2320" height="1694" data-path="images/use-cases/open-typeless/step5-3.png" />

## Summary

Using Trellis to build open-typeless:

| Step | What                 | Trellis Feature                      |
| ---- | -------------------- | ------------------------------------ |
| 1    | Initialize project   | `trellis init`, spec organization    |
| 2    | Plan tasks           | AI task breakdown, batch planning    |
| 3    | Parallel development | `/trellis:parallel`, worktree agents |
| 4    | Monitor & record     | `/trellis:record-session`            |
| 5    | Continue iterating   | Task hooks, implement/check agents   |

**Result:** Complete Electron app in 1 day, with structured specs and documented progress.
