npm package: @mukulaggarwal/pacman
Description: Privacy-first personal assistant context manager with MCP, onboarding, and Slack runtime
Latest version: 0.1.6

# pacman

```text
 ____   _    ____ __  __    _    _   _
|  _ \ / \  / ___|  \/  |  / \  | \ | |
| |_) / _ \| |   | |\/| | / _ \ |  \| |
|  __/ ___ \ |___| |  | |/ ___ \| |\  |
|_| /_/   \_\____|_|  |_/_/   \_\_| \_|
```

> Waka through project context with Claude Code, Codex, and Slack.
> Your memory stays in local files or a Google Drive folder you control.

## Arcade Pitch

Use `pacman` when you want assistants to stay grounded in your actual workspace instead of a hidden hosted database.

- Keep context in Markdown and JSON you can inspect
- Share one workspace across Claude Code, Codex, and Slack
- Register one MCP server for both coding clients
- Sync project signals from tools like Slack, GitHub, GitLab, Gmail, and Google Drive
- Generate replies from saved canonical context, derived summaries, and raw evidence you control

## Insert Coin

```bash
npm install -g @mukulaggarwal/pacman
```

<details>
<summary><strong>Check that the cabinet booted</strong></summary>

```bash
pacman --help
pacman mcp claude install --help
pacman mcp codex install --help
```

</details>

<details>
<summary><strong>Upgrade to the latest build</strong></summary>

```bash
npm install -g @mukulaggarwal/pacman@latest
```

</details>

## Choose Your Route

<details open>
<summary><strong>Level 1: Spawn your workspace</strong></summary>

```bash
pacman init -d .personal-assistant
```

This launches the onboarding UI and configures your profile, assistant identity, storage backend, integrations, and sync schedule.

The onboarding form is checkpointed in browser `localStorage`, so refreshes and reopened tabs resume from the same draft.

</details>

<details>
<summary><strong>Hard reset the onboarding checkpoint</strong></summary>

Use the `Hard Reset Onboarding Draft` action from the completion screen, or remove the
`pacman.onboarding.v1` key from the browser's local storage for the onboarding page.

</details>

<details open>
<summary><strong>Level 2: Equip Claude Code and Codex</strong></summary>

```bash
pacman claude install -d . -w .personal-assistant
pacman codex install -d . -w .personal-assistant
```

This writes:

- `CLAUDE.md` for Claude Code
- `AGENTS.md` for Codex
- shared Pac-Man skills under `~/.claude/skills/` and `~/.codex/skills/`

</details>

<details open>
<summary><strong>Level 3: Power up MCP</strong></summary>

```bash
pacman mcp claude install -w .personal-assistant
pacman mcp codex install -w .personal-assistant
```

Restart Claude Code or Codex after MCP registration.

</details>

<details>
<summary><strong>Secret tunnel: Manual MCP fallback</strong></summary>

```bash
claude mcp add -s user --env=PA_WORKSPACE=$HOME/.personal-assistant pacman -- npx -y pacman mcp serve
codex mcp add pacman --env PA_WORKSPACE=$HOME/.personal-assistant -- npx -y pacman mcp serve
```

</details>

<details>
<summary><strong>Level 4: Keep the map fresh</strong></summary>

```bash
pacman daemon -d .personal-assistant
```

Run the background sync to ingest enabled integrations and rebuild indexes.

</details>

<details>
<summary><strong>Level 5: Turn on Slack mode</strong></summary>

```bash
pacman slack listen -d .personal-assistant
```

Use this when you want Slack replies grounded in saved project context.

</details>

## Game Modes

| Mode | What it unlocks |
| --- | --- |
| `pacman init` | Launch onboarding and create the workspace |
| `pacman claude install` | Add Claude Code project guidance |
| `pacman codex install` | Add Codex project guidance |
| `pacman mcp claude install` | Register the MCP server with Claude Code |
| `pacman mcp codex install` | Register the MCP server with Codex |
| `pacman daemon` | Run scheduled sync and indexing |
| `pacman slack listen` | Start Slack auto-reply handling |

## Player Guide

<details>
<summary><strong>Claude Code lane</strong></summary>

After install:

```bash
pacman claude install -d . -w .personal-assistant
pacman mcp claude install -w .personal-assistant
```

Then restart Claude Code and use Pac-Man guidance plus MCP-backed context reads and updates.

</details>

<details>
<summary><strong>Codex lane</strong></summary>

After install:

```bash
pacman codex install -d . -w .personal-assistant
pacman mcp codex install -w .personal-assistant
```

Then restart Codex and ask it to load, search, read, or update project context through Pac-Man MCP tools.

</details>

<details>
<summary><strong>Slack lane</strong></summary>

```bash
pacman slack listen -d .personal-assistant
```

Slack replies are additive. They use the same saved workspace and do not replace MCP-based context access in Claude Code or Codex.

</details>

## High Score Traits

- Privacy first: no mandatory hosted project database
- Inspectable storage: Markdown and JSON live in your workspace
- Shared memory: Claude Code, Codex, and Slack use the same context base
- Grounded retrieval: canonical context, derived summaries, and raw evidence stay connected

## Full Map

- Repository and full docs: https://github.com/mukulaggarwal/personal-assistant-with-context