# no-session/pstack architecture

> Architecture diagram of the GitHub repository no-session/pstack, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/no-session/pstack
- Repository: https://github.com/no-session/pstack

## Overview

pstack is a terminal-based AI engineering skill stack for solo founders. Its documented workflow moves from validating demand through planning, building, review, shipping, monitoring, and reflection, with a kill-or-loop-back decision. Internally, skill resolvers generate the prompts that guide those activities; separate design and browser tools provide image-based design iteration and real-Chromium interaction. The README documents several capabilities whose implementations are not in the supplied tree, so those are represented at the resolver-directory level. Edges between sampled modules reflect indexed references or shown calls; the product workflow is documented in the README.

Main entry points: [`scripts/resolvers/index.ts`](https://github.com/no-session/pstack/blob/main/scripts/resolvers/index.ts) (Prompt Resolver Registry), [`design/src/cli.ts`](https://github.com/no-session/pstack/blob/main/design/src/cli.ts) (Design CLI), [`browse/src/server.ts`](https://github.com/no-session/pstack/blob/main/browse/src/server.ts) (Browser Command Server), [`browse/src/meta-commands.ts`](https://github.com/no-session/pstack/blob/main/browse/src/meta-commands.ts) (Browser Meta Commands)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Founder Workflow"]
  node_validate["Validate Demand<br/>[utility.ts]"]
  node_plan["Plan Reviews<br/>[review.ts]"]
  node_build["Build and Debug<br/>[preamble.ts]"]
  node_review["Code and QA Review<br/>[review.ts]"]
  node_ship["Ship and Deploy<br/>[utility.ts]"]
  node_monitor["Monitor Production<br/>[browse.ts]"]
  node_reflect["Weekly Reflection<br/>[utility.ts]"]
end

subgraph group_skills["Skill Prompts"]
  node_resolver_registry["Prompt Resolver Registry<br/>[index.ts]"]
  node_design_prompts["Design Prompts<br/>[design.ts]"]
  node_testing_prompts["Testing Prompts<br/>[testing.ts]"]
  node_browser_prompts["Browser Prompts<br/>[browse.ts]"]
  node_review_prompts["Review Prompts<br/>[review.ts]"]
end

subgraph group_browser["Browser Tooling"]
  node_browse_server["Browser Command Server<br/>[server.ts]"]
  node_browser_manager["Chromium Manager<br/>[browser-manager.ts]"]
  node_read_commands["Page Read Commands<br/>[read-commands.ts]"]
  node_write_commands["Page Write Commands<br/>[write-commands.ts]"]
  node_meta_commands["Browser Meta Commands<br/>[meta-commands.ts]"]
  node_snapshot["Accessibility Snapshot<br/>[snapshot.ts]"]
  node_cookie_routes["Cookie Picker Routes"]
  node_cookie_import["Browser Cookie Import"]
end

subgraph group_design["Design Tooling"]
  node_design_cli["Design CLI<br/>[cli.ts]"]
  node_design_generate["Mockup Generation<br/>[generate.ts]"]
  node_design_iterate["Design Iteration<br/>[iterate.ts]"]
  node_design_auth["API Key Resolution<br/>[auth.ts]"]
  node_design_session[("Iteration Sessions<br/>[session.ts]")]
  node_design_compare["Variant Comparison<br/>[compare.ts]"]
end

subgraph group_support["Safety and Reflection"]
  node_safety["Safety Utilities<br/>[utility.ts]"]
end

node_founder(("Solo Founder"))

node_founder -->|"starts with"| node_validate
node_validate -->|"then plans"| node_plan
node_plan -->|"then builds"| node_build
node_build -->|"then reviews"| node_review
node_review -->|"then ships"| node_ship
node_ship -->|"then monitors"| node_monitor
node_monitor -->|"then reflects"| node_reflect
node_reflect -->|"loops back"| node_validate
node_resolver_registry -->|"dispatches to"| node_design_prompts
node_resolver_registry -->|"dispatches to"| node_testing_prompts
node_resolver_registry -->|"dispatches to"| node_browser_prompts
node_resolver_registry -->|"dispatches to"| node_review_prompts
node_browse_server -->|"dispatches to"| node_read_commands
node_browse_server -->|"dispatches to"| node_write_commands
node_browse_server -->|"dispatches to"| node_meta_commands
node_meta_commands -->|"calls"| node_snapshot
node_meta_commands -->|"calls"| node_read_commands
node_browser_manager -.->|"serves commands"| node_browse_server
node_cookie_routes -->|"imports cookies"| node_cookie_import
node_design_cli -->|"generates mockups"| node_design_generate
node_design_cli -->|"starts iteration"| node_design_iterate
node_design_cli -->|"resolves keys"| node_design_auth
node_design_cli -.->|"compares variants"| node_design_compare
node_design_iterate -->|"uses key"| node_design_auth
node_design_iterate -->|"updates session"| node_design_session

click node_validate "https://github.com/no-session/pstack/blob/main/scripts/resolvers/utility.ts"
click node_plan "https://github.com/no-session/pstack/blob/main/scripts/resolvers/review.ts"
click node_build "https://github.com/no-session/pstack/blob/main/scripts/resolvers/preamble.ts"
click node_review "https://github.com/no-session/pstack/blob/main/scripts/resolvers/review.ts"
click node_ship "https://github.com/no-session/pstack/blob/main/scripts/resolvers/utility.ts"
click node_monitor "https://github.com/no-session/pstack/blob/main/scripts/resolvers/browse.ts"
click node_reflect "https://github.com/no-session/pstack/blob/main/scripts/resolvers/utility.ts"
click node_resolver_registry "https://github.com/no-session/pstack/blob/main/scripts/resolvers/index.ts"
click node_design_prompts "https://github.com/no-session/pstack/blob/main/scripts/resolvers/design.ts"
click node_testing_prompts "https://github.com/no-session/pstack/blob/main/scripts/resolvers/testing.ts"
click node_browser_prompts "https://github.com/no-session/pstack/blob/main/scripts/resolvers/browse.ts"
click node_review_prompts "https://github.com/no-session/pstack/blob/main/scripts/resolvers/review.ts"
click node_browse_server "https://github.com/no-session/pstack/blob/main/browse/src/server.ts"
click node_browser_manager "https://github.com/no-session/pstack/blob/main/browse/src/browser-manager.ts"
click node_read_commands "https://github.com/no-session/pstack/blob/main/browse/src/read-commands.ts"
click node_write_commands "https://github.com/no-session/pstack/blob/main/browse/src/write-commands.ts"
click node_meta_commands "https://github.com/no-session/pstack/blob/main/browse/src/meta-commands.ts"
click node_snapshot "https://github.com/no-session/pstack/blob/main/browse/src/snapshot.ts"
click node_cookie_routes "https://github.com/no-session/pstack/blob/main/browse/src/cookie-picker-routes.ts"
click node_cookie_import "https://github.com/no-session/pstack/blob/main/browse/src/cookie-import-browser.ts"
click node_design_cli "https://github.com/no-session/pstack/blob/main/design/src/cli.ts"
click node_design_generate "https://github.com/no-session/pstack/blob/main/design/src/generate.ts"
click node_design_iterate "https://github.com/no-session/pstack/blob/main/design/src/iterate.ts"
click node_design_auth "https://github.com/no-session/pstack/blob/main/design/src/auth.ts"
click node_design_session "https://github.com/no-session/pstack/blob/main/design/src/session.ts"
click node_design_compare "https://github.com/no-session/pstack/blob/main/design/src/compare.ts"
click node_safety "https://github.com/no-session/pstack/blob/main/scripts/resolvers/utility.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_validate,node_plan,node_build,node_review,node_ship,node_monitor,node_reflect toneBlue
class node_resolver_registry,node_design_prompts,node_testing_prompts,node_browser_prompts,node_review_prompts toneAmber
class node_browse_server,node_browser_manager,node_read_commands,node_write_commands,node_meta_commands,node_snapshot,node_cookie_routes,node_cookie_import toneMint
class node_design_cli,node_design_generate,node_design_iterate,node_design_auth,node_design_session,node_design_compare toneRose
class node_safety,node_founder toneIndigo
```

## Components

### Founder Workflow

- [Validate Demand](https://github.com/no-session/pstack/blob/main/scripts/resolvers/utility.ts): `scripts/resolvers/utility.ts`
- [Plan Reviews](https://github.com/no-session/pstack/blob/main/scripts/resolvers/review.ts): `scripts/resolvers/review.ts`
- [Build and Debug](https://github.com/no-session/pstack/blob/main/scripts/resolvers/preamble.ts): `scripts/resolvers/preamble.ts`
- [Code and QA Review](https://github.com/no-session/pstack/blob/main/scripts/resolvers/review.ts): `scripts/resolvers/review.ts`
- [Ship and Deploy](https://github.com/no-session/pstack/blob/main/scripts/resolvers/utility.ts): `scripts/resolvers/utility.ts`
- [Monitor Production](https://github.com/no-session/pstack/blob/main/scripts/resolvers/browse.ts): `scripts/resolvers/browse.ts`
- [Weekly Reflection](https://github.com/no-session/pstack/blob/main/scripts/resolvers/utility.ts): `scripts/resolvers/utility.ts`

### Skill Prompts

- [Prompt Resolver Registry](https://github.com/no-session/pstack/blob/main/scripts/resolvers/index.ts): `scripts/resolvers/index.ts`
- [Design Prompts](https://github.com/no-session/pstack/blob/main/scripts/resolvers/design.ts): `scripts/resolvers/design.ts`
- [Testing Prompts](https://github.com/no-session/pstack/blob/main/scripts/resolvers/testing.ts): `scripts/resolvers/testing.ts`
- [Browser Prompts](https://github.com/no-session/pstack/blob/main/scripts/resolvers/browse.ts): `scripts/resolvers/browse.ts`
- [Review Prompts](https://github.com/no-session/pstack/blob/main/scripts/resolvers/review.ts): `scripts/resolvers/review.ts`

### Browser Tooling

- [Browser Command Server](https://github.com/no-session/pstack/blob/main/browse/src/server.ts): `browse/src/server.ts`
- [Chromium Manager](https://github.com/no-session/pstack/blob/main/browse/src/browser-manager.ts): `browse/src/browser-manager.ts`
- [Page Read Commands](https://github.com/no-session/pstack/blob/main/browse/src/read-commands.ts): `browse/src/read-commands.ts`
- [Page Write Commands](https://github.com/no-session/pstack/blob/main/browse/src/write-commands.ts): `browse/src/write-commands.ts`
- [Browser Meta Commands](https://github.com/no-session/pstack/blob/main/browse/src/meta-commands.ts): `browse/src/meta-commands.ts`
- [Accessibility Snapshot](https://github.com/no-session/pstack/blob/main/browse/src/snapshot.ts): `browse/src/snapshot.ts`
- [Cookie Picker Routes](https://github.com/no-session/pstack/blob/main/browse/src/cookie-picker-routes.ts): `browse/src/cookie-picker-routes.ts`
- [Browser Cookie Import](https://github.com/no-session/pstack/blob/main/browse/src/cookie-import-browser.ts): `browse/src/cookie-import-browser.ts`

### Design Tooling

- [Design CLI](https://github.com/no-session/pstack/blob/main/design/src/cli.ts): `design/src/cli.ts`
- [Mockup Generation](https://github.com/no-session/pstack/blob/main/design/src/generate.ts): `design/src/generate.ts`
- [Design Iteration](https://github.com/no-session/pstack/blob/main/design/src/iterate.ts): `design/src/iterate.ts`
- [API Key Resolution](https://github.com/no-session/pstack/blob/main/design/src/auth.ts): `design/src/auth.ts`
- [Iteration Sessions](https://github.com/no-session/pstack/blob/main/design/src/session.ts): `design/src/session.ts`
- [Variant Comparison](https://github.com/no-session/pstack/blob/main/design/src/compare.ts): `design/src/compare.ts`

### Safety and Reflection

- [Safety Utilities](https://github.com/no-session/pstack/blob/main/scripts/resolvers/utility.ts): `scripts/resolvers/utility.ts`

### Other components

- **Solo Founder**

## Connections

- Solo Founder → Validate Demand: starts with
- Validate Demand → Plan Reviews: then plans
- Plan Reviews → Build and Debug: then builds
- Build and Debug → Code and QA Review: then reviews
- Code and QA Review → Ship and Deploy: then ships
- Ship and Deploy → Monitor Production: then monitors
- Monitor Production → Weekly Reflection: then reflects
- Weekly Reflection → Validate Demand: loops back (evidence: `scripts/resolvers/utility.ts`)
- Prompt Resolver Registry → Design Prompts: dispatches to (evidence: `scripts/resolvers/index.ts`)
- Prompt Resolver Registry → Testing Prompts: dispatches to (evidence: `scripts/resolvers/index.ts`)
- Prompt Resolver Registry → Browser Prompts: dispatches to (evidence: `scripts/resolvers/index.ts`)
- Prompt Resolver Registry → Review Prompts: dispatches to (evidence: `scripts/resolvers/index.ts`)
- Browser Command Server → Page Read Commands: dispatches to (evidence: `browse/src/server.ts`)
- Browser Command Server → Page Write Commands: dispatches to (evidence: `browse/src/server.ts`)
- Browser Command Server → Browser Meta Commands: dispatches to (evidence: `browse/src/server.ts`)
- Browser Meta Commands → Accessibility Snapshot: calls (evidence: `browse/src/meta-commands.ts`)
- Browser Meta Commands → Page Read Commands: calls (evidence: `browse/src/meta-commands.ts`)
- Chromium Manager → Browser Command Server: serves commands (evidence: `browse/src/server.ts`)
- Cookie Picker Routes → Browser Cookie Import: imports cookies (evidence: `browse/src/cookie-picker-routes.ts`)
- Design CLI → Mockup Generation: generates mockups (evidence: `design/src/cli.ts`)
- Design CLI → Design Iteration: starts iteration (evidence: `design/src/cli.ts`)
- Design CLI → API Key Resolution: resolves keys (evidence: `design/src/cli.ts`)
- Design CLI → Variant Comparison: compares variants (evidence: `design/src/cli.ts`)
- Design Iteration → API Key Resolution: uses key (evidence: `design/src/iterate.ts`)
- Design Iteration → Iteration Sessions: updates session (evidence: `design/src/iterate.ts`)
