From 8f68a7e47a96d4a537b00d2e2b0fe6fc0d484915 Mon Sep 17 00:00:00 2001 From: Brian Love Date: Mon, 6 Apr 2026 10:49:00 -0700 Subject: [PATCH 1/9] docs: add rebrand design spec for Angular Stream Resource --- ...6-04-06-rebrand-angular-stream-resource.md | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 docs/superpowers/specs/2026-04-06-rebrand-angular-stream-resource.md diff --git a/docs/superpowers/specs/2026-04-06-rebrand-angular-stream-resource.md b/docs/superpowers/specs/2026-04-06-rebrand-angular-stream-resource.md new file mode 100644 index 000000000..29f2c256d --- /dev/null +++ b/docs/superpowers/specs/2026-04-06-rebrand-angular-stream-resource.md @@ -0,0 +1,104 @@ +# Rebrand to "Angular Stream Resource" — Design Specification + +## Overview + +Rename the product brand from "StreamResource" / "stream-resource" to **Angular Stream Resource** across all marketing, documentation, and licensing materials. The Angular library code, npm package, domain, and infrastructure remain unchanged. + +## Motivation + +Angular 20 introduced `rxResource` with a `stream` property, which the official docs call a "Streaming Resource." The current product name "StreamResource" collides with this first-party terminology, creating confusion about whether the product is an official Angular package. Rebranding to "Angular Stream Resource" makes the name explicitly descriptive, positions it as the Angular-ecosystem standard for LLM streaming, and avoids ambiguity with the built-in API. + +## Brand Identity + +| Attribute | Value | +|-----------|-------| +| Full product name | Angular Stream Resource | +| Parent brand | Cacheplane | +| npm package | `@cacheplane/stream-resource` (unchanged) | +| Domain | `stream-resource.dev` (unchanged) | +| Tagline | "The Enterprise Streaming Resource for LangChain and Angular" (unchanged) | + +## Scope + +### What Changes + +Brand-layer text only. All changes are string replacements in documentation and marketing files. + +**Pattern:** Replace "StreamResource" (PascalCase, used as a product name) with "Angular Stream Resource" in prose contexts. Do NOT replace it in code contexts (function names, type names, imports, injection tokens). + +#### 1. License Files +- `LICENSE-COMMERCIAL`: "StreamResource Commercial License" -> "Angular Stream Resource Commercial License" +- `COMMERCIAL.md`: All product name references + +#### 2. README +- Hero image alt text: "stream-resource — The Enterprise Streaming Resource..." -> "Angular Stream Resource — The Enterprise Streaming Resource..." +- Any prose references to the product name + +#### 3. Website (apps/website) +- Page `` and meta tags: "StreamResource — ..." -> "Angular Stream Resource — ..." +- Hero section headings +- Navigation/footer brand references +- Open Graph / social meta tags + +#### 4. Documentation Files (docs/) +- Document titles where "StreamResource" appears as a product name (e.g., "StreamResource — Angular Limitations..." -> "Angular Stream Resource — Angular Limitations...") +- Design specs that reference the product name in headings/descriptions + +#### 5. Cockpit Example Guides (cockpit/**/docs/guide.md) +- Product description references in example documentation + +#### 6. AGENTS.md +- Any product name references in contributor documentation + +### What Does NOT Change + +| Category | Examples | Reason | +|----------|----------|--------| +| Function names | `streamResource()` | Code API identity | +| Type/interface names | `StreamResourceRef`, `StreamResourceOptions`, `StreamResourceTransport`, `StreamResourceConfig` | Code API identity | +| Injection tokens | `STREAM_RESOURCE_CONFIG` | Code API identity | +| Provider functions | `provideStreamResource()` | Code API identity | +| Mock utilities | `MockStreamResourceRef`, `createMockStreamResourceRef()` | Code API identity | +| MCP tool functions | `addStreamResourceTool`, `handleAddStreamResource()` | Code API identity | +| npm package name | `@cacheplane/stream-resource` | Package identity | +| Import paths | `from '@cacheplane/stream-resource'` | Package identity | +| File/directory names | `stream-resource.fn.ts`, `/libs/stream-resource/` | File system identity | +| Nx project names | `stream-resource`, `stream-resource-e2e` | Build system identity | +| TypeScript path aliases | `@cacheplane/stream-resource` in tsconfig | Build system identity | +| Domain URLs | `stream-resource.dev`, `examples.stream-resource.dev` | Infrastructure identity | +| CI/CD workflows | GitHub Actions references | Infrastructure identity | +| package.json `name` fields | `"name": "stream-resource"` | Package identity | + +## Decision Rules for Ambiguous Cases + +When encountering "StreamResource" or "stream-resource" in a file, apply this test: + +1. **Is it inside a code block, import statement, or referring to an API?** -> Do NOT change. +2. **Is it a package.json `name` or `description` field that serves as an npm identifier?** -> Do NOT change `name`. DO change `description` if it uses "StreamResource" as a product name. +3. **Is it prose text describing the product to a human reader?** -> Change to "Angular Stream Resource". +4. **Is it a document title/heading naming the product?** -> Change to "Angular Stream Resource". +5. **Is it a URL or domain reference?** -> Do NOT change. + +## File Inventory + +Estimated ~60 files need changes, distributed as: +- ~30 markdown files (docs, guides, specs, plans) +- ~5 license/commercial files +- ~3 website layout/meta files (TSX/HTML) +- ~20 cockpit example guide files +- ~2 root files (README, AGENTS.md) + +## Testing Strategy + +- Verify the website builds successfully after changes (`nx build website`) +- Verify the Angular library builds successfully (should be unaffected, but confirm: `nx build stream-resource`) +- Visual check of the website to confirm brand text renders correctly +- Grep for remaining "StreamResource" instances in prose contexts to confirm completeness + +## Rollout + +Single PR with all brand text changes. No phased rollout needed since: +- No code changes +- No breaking API changes +- No infrastructure changes +- No domain migration From f39c2103f82d9f95377034b68978f210a6b2cd26 Mon Sep 17 00:00:00 2001 From: Brian Love <brian@liveloveapp.com> Date: Mon, 6 Apr 2026 10:54:46 -0700 Subject: [PATCH 2/9] docs: add implementation plan for Angular Stream Resource rebrand --- ...6-04-06-rebrand-angular-stream-resource.md | 513 ++++++++++++++++++ 1 file changed, 513 insertions(+) create mode 100644 docs/superpowers/plans/2026-04-06-rebrand-angular-stream-resource.md diff --git a/docs/superpowers/plans/2026-04-06-rebrand-angular-stream-resource.md b/docs/superpowers/plans/2026-04-06-rebrand-angular-stream-resource.md new file mode 100644 index 000000000..3cb7be081 --- /dev/null +++ b/docs/superpowers/plans/2026-04-06-rebrand-angular-stream-resource.md @@ -0,0 +1,513 @@ +# Rebrand to "Angular Stream Resource" Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Replace all brand/product-name occurrences of "StreamResource" and "stream-resource" with "Angular Stream Resource" across marketing, docs, and licensing — without touching code, npm packages, domains, or infrastructure. + +**Architecture:** Pure text replacement across ~15 files. No code changes, no build system changes, no infrastructure changes. The Angular library `streamResource()` function, all types, imports, file names, domains, and npm packages remain exactly as-is. + +**Tech Stack:** Markdown, TSX (Next.js website components), plain text (license) + +**Decision Rule:** If "StreamResource" or "stream-resource" appears inside a code block, import statement, URL, file path, package.json `name` field, or refers to a function/type/interface — do NOT change it. Only change it when it's used as a product name in prose, headings, titles, or marketing copy. + +--- + +### Task 1: License and Commercial Files + +**Files:** +- Modify: `COMMERCIAL.md:6` +- Modify: `README.md:4,151` + +- [ ] **Step 1: Update COMMERCIAL.md license title** + +In `COMMERCIAL.md`, line 6, change: + +``` +- **StreamResource Commercial License** — required for commercial use (see [`LICENSE-COMMERCIAL`](./LICENSE-COMMERCIAL)) +``` + +to: + +``` +- **Angular Stream Resource Commercial License** — required for commercial use (see [`LICENSE-COMMERCIAL`](./LICENSE-COMMERCIAL)) +``` + +- [ ] **Step 2: Update README.md license section** + +In `README.md`, line 151, change: + +``` +- **StreamResource Commercial License** — required for any for-profit or revenue-generating use. See [`LICENSE-COMMERCIAL`](./LICENSE-COMMERCIAL) and [`COMMERCIAL.md`](./COMMERCIAL.md). +``` + +to: + +``` +- **Angular Stream Resource Commercial License** — required for any for-profit or revenue-generating use. See [`LICENSE-COMMERCIAL`](./LICENSE-COMMERCIAL) and [`COMMERCIAL.md`](./COMMERCIAL.md). +``` + +Note: `LICENSE-COMMERCIAL` itself does NOT use "StreamResource" as a product name (only `@cacheplane/stream-resource` as a package name), so it requires no changes. + +- [ ] **Step 3: Commit** + +```bash +git add COMMERCIAL.md README.md +git commit -m "docs: rebrand license references to Angular Stream Resource" +``` + +--- + +### Task 2: README Brand Text + +**Files:** +- Modify: `README.md:4,114` + +- [ ] **Step 1: Update README hero alt text** + +In `README.md`, line 4, change: + +``` + alt="stream-resource — The Enterprise Streaming Resource for LangChain and Angular" +``` + +to: + +``` + alt="Angular Stream Resource — The Enterprise Streaming Resource for LangChain and Angular" +``` + +- [ ] **Step 2: Update README architecture alt text** + +In `README.md`, line 114, change: + +``` + alt="stream-resource architecture: Angular Component → streamResource() → StreamManager Bridge → LangGraph Platform, with signals returned reactively" +``` + +to: + +``` + alt="Angular Stream Resource architecture: Angular Component → streamResource() → StreamManager Bridge → LangGraph Platform, with signals returned reactively" +``` + +- [ ] **Step 3: Commit** + +```bash +git add README.md +git commit -m "docs: rebrand README hero and architecture alt text" +``` + +--- + +### Task 3: Website Layout Metadata + +**Files:** +- Modify: `apps/website/src/app/layout.tsx:25` + +- [ ] **Step 1: Update page title** + +In `apps/website/src/app/layout.tsx`, line 25, change: + +```typescript + title: 'StreamResource — LangChain Streaming for Angular', +``` + +to: + +```typescript + title: 'Angular Stream Resource — LangChain Streaming for Angular', +``` + +- [ ] **Step 2: Commit** + +```bash +git add apps/website/src/app/layout.tsx +git commit -m "docs: rebrand website page title to Angular Stream Resource" +``` + +--- + +### Task 4: Website Navigation + +**Files:** +- Modify: `apps/website/src/components/shared/Nav.tsx:52` + +- [ ] **Step 1: Update Nav brand text** + +In `apps/website/src/components/shared/Nav.tsx`, line 52, change: + +```tsx + StreamResource +``` + +to: + +```tsx + Angular Stream Resource +``` + +- [ ] **Step 2: Commit** + +```bash +git add apps/website/src/components/shared/Nav.tsx +git commit -m "docs: rebrand nav header to Angular Stream Resource" +``` + +--- + +### Task 5: Website Footer + +**Files:** +- Modify: `apps/website/src/components/shared/Footer.tsx:43,44,130` + +- [ ] **Step 1: Update Footer brand heading** + +In `apps/website/src/components/shared/Footer.tsx`, line 43, change: + +```tsx + <p className="font-garamond text-xl font-bold mb-2" style={{ color: tokens.colors.textPrimary }}>StreamResource</p> +``` + +to: + +```tsx + <p className="font-garamond text-xl font-bold mb-2" style={{ color: tokens.colors.textPrimary }}>Angular Stream Resource</p> +``` + +- [ ] **Step 2: Update Footer copyright** + +In `apps/website/src/components/shared/Footer.tsx`, line 130, change: + +```tsx + <span>© {new Date().getFullYear()} StreamResource. All rights reserved.</span> +``` + +to: + +```tsx + <span>© {new Date().getFullYear()} Angular Stream Resource. All rights reserved.</span> +``` + +- [ ] **Step 3: Commit** + +```bash +git add apps/website/src/components/shared/Footer.tsx +git commit -m "docs: rebrand footer to Angular Stream Resource" +``` + +--- + +### Task 6: Website Landing Page Components + +**Files:** +- Modify: `apps/website/src/components/landing/ProblemSection.tsx:288` +- Modify: `apps/website/src/components/landing/GenerativeUIFrame.tsx:30` + +- [ ] **Step 1: Update ProblemSection brand reference** + +In `apps/website/src/components/landing/ProblemSection.tsx`, line 288, change: + +```tsx + StreamResource closes the gap +``` + +to: + +```tsx + Angular Stream Resource closes the gap +``` + +- [ ] **Step 2: Update GenerativeUIFrame aria-label** + +In `apps/website/src/components/landing/GenerativeUIFrame.tsx`, line 30, change: + +```tsx + aria-label="Animated demo of stream-resource orchestrating a multi-step agent UI" +``` + +to: + +```tsx + aria-label="Animated demo of Angular Stream Resource orchestrating a multi-step agent UI" +``` + +- [ ] **Step 3: Commit** + +```bash +git add apps/website/src/components/landing/ProblemSection.tsx apps/website/src/components/landing/GenerativeUIFrame.tsx +git commit -m "docs: rebrand landing page components to Angular Stream Resource" +``` + +--- + +### Task 7: LLMs.txt Route + +**Files:** +- Modify: `apps/website/src/app/llms.txt/route.ts:8,10` + +- [ ] **Step 1: Update llms.txt header** + +In `apps/website/src/app/llms.txt/route.ts`, line 8, change: + +```typescript + `# stream-resource v${version}`, +``` + +to: + +```typescript + `# Angular Stream Resource v${version}`, +``` + +- [ ] **Step 2: Update llms.txt description** + +In `apps/website/src/app/llms.txt/route.ts`, line 10, change: + +```typescript + "Angular streaming library for LangChain/LangGraph. Provides streamResource() — full parity with React's useStream() hook, built on Angular Signals.", +``` + +to: + +```typescript + "Angular Stream Resource — the enterprise streaming library for LangChain/LangGraph. Provides streamResource() — full parity with React's useStream() hook, built on Angular Signals.", +``` + +- [ ] **Step 3: Commit** + +```bash +git add apps/website/src/app/llms.txt/route.ts +git commit -m "docs: rebrand llms.txt to Angular Stream Resource" +``` + +--- + +### Task 8: Documentation Files — Titles and Headings + +**Files:** +- Modify: `docs/limitations.md:1` +- Modify: `docs/superpowers/specs/2026-03-17-stream-resource-design.md:1,5,11` +- Modify: `docs/superpowers/specs/2026-03-18-agentic-docs-design.md:1,11` +- Modify: `docs/superpowers/specs/2026-03-18-website-branding-design.md:1,11` +- Modify: `docs/superpowers/specs/2026-04-04-expanded-introduction-design.md:18` + +- [ ] **Step 1: Update docs/limitations.md title** + +Line 1, change: + +```markdown +# StreamResource — Angular Limitations vs React useStream() +``` + +to: + +```markdown +# Angular Stream Resource — Limitations vs React useStream() +``` + +- [ ] **Step 2: Update stream-resource-design.md brand references** + +In `docs/superpowers/specs/2026-03-17-stream-resource-design.md`: + +Line 1, change: +```markdown +# StreamResource — Design Specification +``` +to: +```markdown +# Angular Stream Resource — Design Specification +``` + +Line 11, change: +```markdown +StreamResource is an Angular 20+ library that provides `streamResource()` — a full-parity implementation +``` +to: +```markdown +Angular Stream Resource is an Angular 20+ library that provides `streamResource()` — a full-parity implementation +``` + +- [ ] **Step 3: Update agentic-docs-design.md brand references** + +In `docs/superpowers/specs/2026-03-18-agentic-docs-design.md`: + +Line 1, change: +```markdown +# StreamResource — Agentic Docs & Hero Redesign Specification +``` +to: +```markdown +# Angular Stream Resource — Agentic Docs & Hero Redesign Specification +``` + +Line 11, change: +```markdown +Two related changes to the StreamResource website: +``` +to: +```markdown +Two related changes to the Angular Stream Resource website: +``` + +- [ ] **Step 4: Update website-branding-design.md brand references** + +In `docs/superpowers/specs/2026-03-18-website-branding-design.md`: + +Line 1, change: +```markdown +# StreamResource Website — Brand Refresh Design Specification +``` +to: +```markdown +# Angular Stream Resource Website — Brand Refresh Design Specification +``` + +Line 11, change: +```markdown +Update the StreamResource website design from its original warm "dark luxury" aesthetic +``` +to: +```markdown +Update the Angular Stream Resource website design from its original warm "dark luxury" aesthetic +``` + +- [ ] **Step 5: Update expanded-introduction-design.md brand reference** + +In `docs/superpowers/specs/2026-04-04-expanded-introduction-design.md`: + +Line 18, change: +```markdown +### Section 1: What is StreamResource? +``` +to: +```markdown +### Section 1: What is Angular Stream Resource? +``` + +- [ ] **Step 6: Commit** + +```bash +git add docs/limitations.md docs/superpowers/specs/2026-03-17-stream-resource-design.md docs/superpowers/specs/2026-03-18-agentic-docs-design.md docs/superpowers/specs/2026-03-18-website-branding-design.md docs/superpowers/specs/2026-04-04-expanded-introduction-design.md +git commit -m "docs: rebrand spec and doc titles to Angular Stream Resource" +``` + +--- + +### Task 9: AGENTS.md and CLAUDE.md (LLM Context Files) + +**Files:** +- Modify: `apps/website/public/AGENTS.md:1` +- Modify: `apps/website/public/CLAUDE.md:1` + +Both files have identical content. They serve as LLM context files published to the website. + +- [ ] **Step 1: Update AGENTS.md header** + +In `apps/website/public/AGENTS.md`, line 1, change: + +```markdown +# stream-resource v0.0.1 +``` + +to: + +```markdown +# Angular Stream Resource v0.0.1 +``` + +- [ ] **Step 2: Update CLAUDE.md header** + +In `apps/website/public/CLAUDE.md`, line 1, change: + +```markdown +# stream-resource v0.0.1 +``` + +to: + +```markdown +# Angular Stream Resource v0.0.1 +``` + +Note: All other references in these files (`streamResource()`, `provideStreamResource`, `import ... from 'stream-resource'`, `@stream-resource/mcp`, `stream-resource.dev`) are code/infrastructure references and should NOT be changed. + +- [ ] **Step 3: Commit** + +```bash +git add apps/website/public/AGENTS.md apps/website/public/CLAUDE.md +git commit -m "docs: rebrand LLM context file headers to Angular Stream Resource" +``` + +--- + +### Task 10: Remaining Spec/Plan Files with Brand References + +**Files:** +- Search all files in `docs/superpowers/specs/` and `docs/superpowers/plans/` for "StreamResource" used as a product name in prose (not in code blocks) + +- [ ] **Step 1: Grep for remaining brand references** + +Run: +```bash +grep -rn "StreamResource" docs/superpowers/specs/ docs/superpowers/plans/ --include="*.md" | grep -v "streamResource\|StreamResourceRef\|StreamResourceOptions\|StreamResourceConfig\|StreamResourceTransport\|MockStreamResource\|provideStreamResource\|addStreamResource\|handleAddStreamResource\|STREAM_RESOURCE\|rebrand-angular" +``` + +This filters out all code references, leaving only brand usage. + +- [ ] **Step 2: Update any remaining brand references found** + +For each match from Step 1, apply the same rule: if "StreamResource" is used as a product name in prose/headings, change to "Angular Stream Resource". If it's inside a code block or refers to a function/type, leave it. + +- [ ] **Step 3: Commit** + +```bash +git add docs/ +git commit -m "docs: rebrand remaining spec references to Angular Stream Resource" +``` + +--- + +### Task 11: Verify Build and Final Grep + +- [ ] **Step 1: Build the website** + +Run: +```bash +npx nx build website +``` + +Expected: Build succeeds with no errors. + +- [ ] **Step 2: Build the Angular library (sanity check)** + +Run: +```bash +npx nx build stream-resource +``` + +Expected: Build succeeds (no changes were made to library code). + +- [ ] **Step 3: Final grep for missed brand references** + +Run: +```bash +grep -rn "StreamResource" --include="*.md" --include="*.tsx" --include="*.ts" --include="*.html" . | grep -v node_modules | grep -v dist | grep -v ".angular" | grep -v "streamResource\|StreamResourceRef\|StreamResourceOptions\|StreamResourceConfig\|StreamResourceTransport\|MockStreamResource\|provideStreamResource\|addStreamResource\|handleAddStreamResource\|STREAM_RESOURCE_CONFIG\|rebrand-angular" +``` + +Review each match. Any brand usage of "StreamResource" remaining should be updated. + +- [ ] **Step 4: Final grep for "stream-resource" as brand** + +Run: +```bash +grep -rn '"stream-resource' --include="*.md" --include="*.tsx" --include="*.ts" . | grep -v node_modules | grep -v dist | grep -v "package\|import\|from\|require\|cacheplane\|/libs/\|/apps/\|tsconfig\|project.json\|\.dev" +``` + +Review each match. Any brand usage (not package name, not URL, not file path) should be updated. + +- [ ] **Step 5: Commit any final fixes if needed** + +```bash +git add -A +git commit -m "docs: fix any remaining brand references missed in initial pass" +``` From 87b2c230ebb2eaa17035f9f1fc8f8c006b455f67 Mon Sep 17 00:00:00 2001 From: Brian Love <brian@liveloveapp.com> Date: Mon, 6 Apr 2026 11:02:46 -0700 Subject: [PATCH 3/9] =?UTF-8?q?docs:=20rebrand=20StreamResource=20?= =?UTF-8?q?=E2=86=92=20Angular=20Stream=20Resource=20in=20README=20and=20C?= =?UTF-8?q?OMMERCIAL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update product name in prose/marketing contexts: README alt text and license section, COMMERCIAL.md license header. --- COMMERCIAL.md | 2 +- README.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/COMMERCIAL.md b/COMMERCIAL.md index 6ea932926..ff75c7ab8 100644 --- a/COMMERCIAL.md +++ b/COMMERCIAL.md @@ -3,7 +3,7 @@ `@cacheplane/stream-resource` is source-available software dual-licensed under: - **PolyForm Noncommercial 1.0.0** — free for noncommercial use (see [`LICENSE`](./LICENSE)) -- **StreamResource Commercial License** — required for commercial use (see [`LICENSE-COMMERCIAL`](./LICENSE-COMMERCIAL)) +- **Angular Stream Resource Commercial License** — required for commercial use (see [`LICENSE-COMMERCIAL`](./LICENSE-COMMERCIAL)) ## What requires a commercial license? diff --git a/README.md b/README.md index 74b81108f..9b7eb4206 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ <p align="center"> <img src="https://stream-resource.dev/assets/hero.svg" - alt="stream-resource — The Enterprise Streaming Resource for LangChain and Angular" + alt="Angular Stream Resource — The Enterprise Streaming Resource for LangChain and Angular" width="100%" /> </p> @@ -111,7 +111,7 @@ That's it. `chat.messages()` is an Angular Signal. Bind it directly in your temp <p align="center"> <img src="https://stream-resource.dev/assets/arch-diagram.svg" - alt="stream-resource architecture: Angular Component → streamResource() → StreamManager Bridge → LangGraph Platform, with signals returned reactively" + alt="Angular Stream Resource architecture: Angular Component → streamResource() → StreamManager Bridge → LangGraph Platform, with signals returned reactively" width="100%" /> </p> @@ -148,6 +148,6 @@ That's it. `chat.messages()` is an Angular Signal. Bind it directly in your temp `@cacheplane/stream-resource` is source-available software dual-licensed: - **PolyForm Noncommercial 1.0.0** — free for noncommercial use (personal projects, academic, research, non-profit internal tooling). See [`LICENSE`](./LICENSE). -- **StreamResource Commercial License** — required for any for-profit or revenue-generating use. See [`LICENSE-COMMERCIAL`](./LICENSE-COMMERCIAL) and [`COMMERCIAL.md`](./COMMERCIAL.md). +- **Angular Stream Resource Commercial License** — required for any for-profit or revenue-generating use. See [`LICENSE-COMMERCIAL`](./LICENSE-COMMERCIAL) and [`COMMERCIAL.md`](./COMMERCIAL.md). This is **not** an open-source license. Commercial use — including use in a for-profit product, service, or organization — requires a paid commercial license. See [pricing](https://stream-resource.dev/pricing). From 5ed57114ba7901d9a542a07fc861ea928c24b6ad Mon Sep 17 00:00:00 2001 From: Brian Love <brian@liveloveapp.com> Date: Mon, 6 Apr 2026 11:03:05 -0700 Subject: [PATCH 4/9] =?UTF-8?q?docs:=20rebrand=20StreamResource=20?= =?UTF-8?q?=E2=86=92=20Angular=20Stream=20Resource=20in=20website=20shared?= =?UTF-8?q?=20components?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update product name in layout metadata title, Nav logo link text, Footer brand name, and Footer copyright line. --- apps/website/src/app/layout.tsx | 2 +- apps/website/src/components/shared/Footer.tsx | 4 ++-- apps/website/src/components/shared/Nav.tsx | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/website/src/app/layout.tsx b/apps/website/src/app/layout.tsx index 44efe68d3..e41a7b83f 100644 --- a/apps/website/src/app/layout.tsx +++ b/apps/website/src/app/layout.tsx @@ -22,7 +22,7 @@ const mono = JetBrains_Mono({ }); export const metadata: Metadata = { - title: 'StreamResource — LangChain Streaming for Angular', + title: 'Angular Stream Resource — LangChain Streaming for Angular', description: 'The Enterprise Streaming Resource for LangChain and Angular. streamResource() brings full parity with React useStream() to Angular 20+.', }; diff --git a/apps/website/src/components/shared/Footer.tsx b/apps/website/src/components/shared/Footer.tsx index 4e2f9a72e..1ec47a20d 100644 --- a/apps/website/src/components/shared/Footer.tsx +++ b/apps/website/src/components/shared/Footer.tsx @@ -40,7 +40,7 @@ export function Footer() { <div className="grid grid-cols-1 md:grid-cols-4 gap-10 md:gap-8"> {/* Brand */} <div className="md:col-span-2"> - <p className="font-garamond text-xl font-bold mb-2" style={{ color: tokens.colors.textPrimary }}>StreamResource</p> + <p className="font-garamond text-xl font-bold mb-2" style={{ color: tokens.colors.textPrimary }}>Angular Stream Resource</p> <p className="text-sm mb-4" style={{ color: tokens.colors.textMuted, maxWidth: '36ch', lineHeight: 1.6 }}> The enterprise streaming resource for LangChain and Angular. Full parity with React useStream(), built natively for Angular 20+. </p> @@ -127,7 +127,7 @@ export function Footer() { {/* Bottom bar */} <div className="mt-12 pt-8 flex flex-col sm:flex-row items-start sm:items-center justify-between gap-2 text-xs" style={{ borderTop: `1px solid ${tokens.glass.border}`, color: tokens.colors.textMuted }}> - <span>© {new Date().getFullYear()} StreamResource. All rights reserved.</span> + <span>© {new Date().getFullYear()} Angular Stream Resource. All rights reserved.</span> <span>PolyForm Noncommercial 1.0.0 · <Link href="/pricing" className="transition-colors" onMouseEnter={(e) => (e.currentTarget.style.color = tokens.colors.accent)} onMouseLeave={(e) => (e.currentTarget.style.color = tokens.colors.textMuted)}>Commercial License</Link></span> diff --git a/apps/website/src/components/shared/Nav.tsx b/apps/website/src/components/shared/Nav.tsx index d1ab2dc88..0de3a9253 100644 --- a/apps/website/src/components/shared/Nav.tsx +++ b/apps/website/src/components/shared/Nav.tsx @@ -49,7 +49,7 @@ export function Nav() { {/* Top bar */} <div className="flex items-center justify-between px-6 py-4 md:px-8 md:py-5"> <Link href="/" className="font-garamond text-xl font-bold" style={{ color: tokens.colors.textPrimary }}> - StreamResource + Angular Stream Resource </Link> {/* Desktop links */} From 5791366f07735fa22b9404ba6ee0df3344908816 Mon Sep 17 00:00:00 2001 From: Brian Love <brian@liveloveapp.com> Date: Mon, 6 Apr 2026 11:03:26 -0700 Subject: [PATCH 5/9] =?UTF-8?q?docs:=20rebrand=20StreamResource=20?= =?UTF-8?q?=E2=86=92=20Angular=20Stream=20Resource=20in=20landing=20and=20?= =?UTF-8?q?llms.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update product name in ProblemSection badge text, GenerativeUIFrame aria-label, and llms.txt route title and description line. --- apps/website/src/app/llms.txt/route.ts | 4 ++-- apps/website/src/components/landing/GenerativeUIFrame.tsx | 2 +- apps/website/src/components/landing/ProblemSection.tsx | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/website/src/app/llms.txt/route.ts b/apps/website/src/app/llms.txt/route.ts index 4d7abe7a4..0eee65125 100644 --- a/apps/website/src/app/llms.txt/route.ts +++ b/apps/website/src/app/llms.txt/route.ts @@ -5,9 +5,9 @@ function buildLlmsTxt(): string { // Inline version — updated by publish workflow const version = '0.1.0'; return [ - `# stream-resource v${version}`, + `# Angular Stream Resource v${version}`, '', - "Angular streaming library for LangChain/LangGraph. Provides streamResource() — full parity with React's useStream() hook, built on Angular Signals.", + "Angular Stream Resource — the enterprise streaming library for LangChain/LangGraph. Provides streamResource() — full parity with React's useStream() hook, built on Angular Signals.", '', '## Install', 'npm install @cacheplane/stream-resource', diff --git a/apps/website/src/components/landing/GenerativeUIFrame.tsx b/apps/website/src/components/landing/GenerativeUIFrame.tsx index fd4edd81a..b97cd2163 100644 --- a/apps/website/src/components/landing/GenerativeUIFrame.tsx +++ b/apps/website/src/components/landing/GenerativeUIFrame.tsx @@ -27,7 +27,7 @@ export function GenerativeUIFrame() { <div ref={frameRef} role="img" - aria-label="Animated demo of stream-resource orchestrating a multi-step agent UI" + aria-label="Animated demo of Angular Stream Resource orchestrating a multi-step agent UI" className="rounded-xl overflow-hidden" style={{ border: `1px solid ${tokens.glass.border}`, diff --git a/apps/website/src/components/landing/ProblemSection.tsx b/apps/website/src/components/landing/ProblemSection.tsx index 283232b3a..4f21ac618 100644 --- a/apps/website/src/components/landing/ProblemSection.tsx +++ b/apps/website/src/components/landing/ProblemSection.tsx @@ -285,7 +285,7 @@ export function ProblemSection() { transition: 'opacity 0.4s, transform 0.4s', }}> <span style={{ width: 6, height: 6, borderRadius: '50%', background: tokens.colors.accent, display: 'inline-block', animation: 'sr-pulse 1.2s ease-in-out infinite' }} /> - StreamResource closes the gap + Angular Stream Resource closes the gap </div> <span style={{ fontFamily: 'var(--font-mono,"JetBrains Mono",monospace)', fontSize: '0.78rem', fontWeight: 700, From 030a0f62bfa0edf62f9648d159904863fe4f8361 Mon Sep 17 00:00:00 2001 From: Brian Love <brian@liveloveapp.com> Date: Mon, 6 Apr 2026 11:03:48 -0700 Subject: [PATCH 6/9] =?UTF-8?q?docs:=20rebrand=20StreamResource=20?= =?UTF-8?q?=E2=86=92=20Angular=20Stream=20Resource=20in=20documentation=20?= =?UTF-8?q?files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update product name in headings and prose across limitations.md and four design specs (titles, overview sentences, section headings). --- docs/limitations.md | 2 +- docs/superpowers/specs/2026-03-17-stream-resource-design.md | 4 ++-- docs/superpowers/specs/2026-03-18-agentic-docs-design.md | 4 ++-- docs/superpowers/specs/2026-03-18-website-branding-design.md | 4 ++-- .../specs/2026-04-04-expanded-introduction-design.md | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/limitations.md b/docs/limitations.md index 4368793e0..875bb25e3 100644 --- a/docs/limitations.md +++ b/docs/limitations.md @@ -1,4 +1,4 @@ -# StreamResource — Angular Limitations vs React useStream() +# Angular Stream Resource — Limitations vs React useStream() Features that are technically impossible or behaviorally degraded when porting LangGraph's React `useStream()` hook to Angular. diff --git a/docs/superpowers/specs/2026-03-17-stream-resource-design.md b/docs/superpowers/specs/2026-03-17-stream-resource-design.md index 247f4eb50..7a5f7b426 100644 --- a/docs/superpowers/specs/2026-03-17-stream-resource-design.md +++ b/docs/superpowers/specs/2026-03-17-stream-resource-design.md @@ -1,4 +1,4 @@ -# StreamResource — Design Specification +# Angular Stream Resource — Design Specification **Date:** 2026-03-17 **Status:** Approved @@ -8,7 +8,7 @@ ## Overview -StreamResource is an Angular 20+ library that provides `streamResource()` — a full-parity implementation of LangGraph's React `useStream()` hook built on the Angular Resource API. It is designed for enterprise teams building production Angular applications on top of LangChain, LangGraph, and LangSmith. +Angular Stream Resource is an Angular 20+ library that provides `streamResource()` — a full-parity implementation of LangGraph's React `useStream()` hook built on the Angular Resource API. It is designed for enterprise teams building production Angular applications on top of LangChain, LangGraph, and LangSmith. The project is delivered as an Nx monorepo containing: 1. The publishable Angular library (`stream-resource`) diff --git a/docs/superpowers/specs/2026-03-18-agentic-docs-design.md b/docs/superpowers/specs/2026-03-18-agentic-docs-design.md index cb06456e8..3079e97bd 100644 --- a/docs/superpowers/specs/2026-03-18-agentic-docs-design.md +++ b/docs/superpowers/specs/2026-03-18-agentic-docs-design.md @@ -1,4 +1,4 @@ -# StreamResource — Agentic Docs & Hero Redesign Specification +# Angular Stream Resource — Agentic Docs & Hero Redesign Specification **Date:** 2026-03-18 **Status:** Approved @@ -8,7 +8,7 @@ ## Overview -Two related changes to the StreamResource website: +Two related changes to the Angular Stream Resource website: 1. **Hero redesign** — two-column layout, smaller headline, Angular red for "Angular", LangChain + Angular logo badges, a generative UI browser animation with mouse-reactive neon glow, and a "Copy prompt" CTA replacing the npm install strip. diff --git a/docs/superpowers/specs/2026-03-18-website-branding-design.md b/docs/superpowers/specs/2026-03-18-website-branding-design.md index a82eb8574..7198517b2 100644 --- a/docs/superpowers/specs/2026-03-18-website-branding-design.md +++ b/docs/superpowers/specs/2026-03-18-website-branding-design.md @@ -1,4 +1,4 @@ -# StreamResource Website — Brand Refresh Design Specification +# Angular Stream Resource Website — Brand Refresh Design Specification **Date:** 2026-03-18 **Status:** Approved @@ -8,7 +8,7 @@ ## Overview -Update the StreamResource website design from its original warm "dark luxury" aesthetic (gold accent, warm cream text) to a cool indigo-blue neon aesthetic that aligns with LangChain's current brand energy while maintaining a distinct product identity. +Update the Angular Stream Resource website design from its original warm "dark luxury" aesthetic (gold accent, warm cream text) to a cool indigo-blue neon aesthetic that aligns with LangChain's current brand energy while maintaining a distinct product identity. **Design direction:** Inspired by LangChain, not a copy. EB Garamond headlines are retained as the primary differentiator — the serif-meets-neon contrast is uncommon in the developer tools space and creates a distinctive signature. Accent color is indigo-blue `#6C8EFF` rather than LangChain's cyan `#7FC8FF`. diff --git a/docs/superpowers/specs/2026-04-04-expanded-introduction-design.md b/docs/superpowers/specs/2026-04-04-expanded-introduction-design.md index a4bb6acc5..16630a17a 100644 --- a/docs/superpowers/specs/2026-04-04-expanded-introduction-design.md +++ b/docs/superpowers/specs/2026-04-04-expanded-introduction-design.md @@ -15,7 +15,7 @@ Both Angular developers new to AI agents AND AI developers new to Angular. The t The introduction becomes a multi-section tutorial covering the complete workflow: -### Section 1: What is StreamResource? +### Section 1: What is Angular Stream Resource? - One-paragraph pitch: Angular Signals + LangGraph streaming - Key value props (3-4 bullets) - "What you'll build" preview — a streaming chat app connected to a real agent From a99214aaf87511e19d14df09cf7b9453a6839b03 Mon Sep 17 00:00:00 2001 From: Brian Love <brian@liveloveapp.com> Date: Mon, 6 Apr 2026 11:03:58 -0700 Subject: [PATCH 7/9] =?UTF-8?q?docs:=20rebrand=20stream-resource=20?= =?UTF-8?q?=E2=86=92=20Angular=20Stream=20Resource=20in=20LLM=20context=20?= =?UTF-8?q?files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update product name in the H1 title of AGENTS.md and CLAUDE.md. --- apps/website/public/AGENTS.md | 2 +- apps/website/public/CLAUDE.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/website/public/AGENTS.md b/apps/website/public/AGENTS.md index dcc0cafce..c0f0ccbb9 100644 --- a/apps/website/public/AGENTS.md +++ b/apps/website/public/AGENTS.md @@ -1,4 +1,4 @@ -# stream-resource v0.0.1 +# Angular Stream Resource v0.0.1 Angular streaming library for LangChain/LangGraph. Provides `streamResource()` — full parity with React's `useStream()`. diff --git a/apps/website/public/CLAUDE.md b/apps/website/public/CLAUDE.md index dcc0cafce..c0f0ccbb9 100644 --- a/apps/website/public/CLAUDE.md +++ b/apps/website/public/CLAUDE.md @@ -1,4 +1,4 @@ -# stream-resource v0.0.1 +# Angular Stream Resource v0.0.1 Angular streaming library for LangChain/LangGraph. Provides `streamResource()` — full parity with React's `useStream()`. From b14ae37308e371da9a0fcd86c9071180f7767561 Mon Sep 17 00:00:00 2001 From: Brian Love <brian@liveloveapp.com> Date: Mon, 6 Apr 2026 11:09:25 -0700 Subject: [PATCH 8/9] docs: rebrand remaining spec and plan references to Angular Stream Resource --- .../plans/2026-03-17-angular-library.md | 12 +++++------ docs/superpowers/plans/2026-03-17-website.md | 14 ++++++------- .../plans/2026-03-18-agentic-additions.md | 2 +- docs/superpowers/plans/2026-03-18-website.md | 20 +++++++++---------- docs/superpowers/plans/2026-03-19-roadmap.md | 2 +- .../plans/2026-04-03-docs-infrastructure.md | 6 +++--- .../2026-04-03-glassy-gradient-redesign.md | 8 ++++---- .../2026-04-04-docs-content-authoring.md | 4 ++-- .../specs/2026-03-19-licensing-model.md | 12 +++++------ .../specs/2026-04-03-docs-refresh-design.md | 2 +- .../2026-04-03-glassy-gradient-redesign.md | 2 +- .../specs/2026-04-05-narrative-redesign.md | 12 +++++------ .../specs/2026-04-05-whitepaper-pipeline.md | 2 +- 13 files changed, 49 insertions(+), 49 deletions(-) diff --git a/docs/superpowers/plans/2026-03-17-angular-library.md b/docs/superpowers/plans/2026-03-17-angular-library.md index ed8c45e8a..d9fddd2a1 100644 --- a/docs/superpowers/plans/2026-03-17-angular-library.md +++ b/docs/superpowers/plans/2026-03-17-angular-library.md @@ -1384,7 +1384,7 @@ git commit -m "feat(stream-resource): finalize public API barrel exports" Create `docs/limitations.md`: ```markdown -# StreamResource — Angular Limitations vs React useStream() +# Angular Stream Resource — Angular Limitations vs React useStream() Features that are technically impossible or behaviorally degraded when porting LangGraph's React `useStream()` hook to Angular. @@ -1611,7 +1611,7 @@ Create `LICENSE`: ``` MIT License (Non-Commercial Use Only) -Copyright (c) 2025 StreamResource Contributors +Copyright (c) 2025 Angular Stream Resource Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1642,11 +1642,11 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. Create `LICENSE-COMMERCIAL`: ``` -StreamResource Commercial License +Angular Stream Resource Commercial License -Copyright (c) 2025 StreamResource Contributors +Copyright (c) 2025 Angular Stream Resource Contributors -Commercial use of StreamResource requires a paid license. +Commercial use of Angular Stream Resource requires a paid license. DEVELOPER SEAT LICENSE: $500 per developer seat per year - Grants commercial use rights for one developer @@ -1656,7 +1656,7 @@ DEVELOPER SEAT LICENSE: $500 per developer seat per year APPLICATION DEPLOYMENT LICENSE: $2,000 per application - Required for each production application or service that uses - StreamResource commercially + Angular Stream Resource commercially - Covers all environments (development, staging, production) - One-time purchase per application diff --git a/docs/superpowers/plans/2026-03-17-website.md b/docs/superpowers/plans/2026-03-17-website.md index 62d1f93a6..90481cc1c 100644 --- a/docs/superpowers/plans/2026-03-17-website.md +++ b/docs/superpowers/plans/2026-03-17-website.md @@ -2,7 +2,7 @@ > **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking. -**Goal:** Build the StreamResource marketing website — landing page, pricing, docs, and live demo — deployed to Vercel. +**Goal:** Build the Angular Stream Resource marketing website — landing page, pricing, docs, and live demo — deployed to Vercel. **Architecture:** Next.js 15 App Router with Tailwind CSS dark luxury design system, Framer Motion scroll-triggered animations, SVG architecture diagram with `animateMotion`, MDX docs with Claude-generated narrative content, and an embedded Angular Elements live demo. @@ -283,7 +283,7 @@ export function Footer() { <a href="https://github.com/your-org/stream-resource" className="hover:text-text-secondary transition-colors">GitHub</a> </div> <p className="text-xs text-text-muted"> - © {new Date().getFullYear()} StreamResource.{' '} + © {new Date().getFullYear()} Angular Stream Resource.{' '} <Link href="/pricing" className="hover:text-text-secondary">Commercial use requires a license.</Link> </p> </div> @@ -580,7 +580,7 @@ export function ArchDiagram() { ref={ref} viewBox="0 0 900 200" className="w-full" - aria-label="StreamResource architecture diagram" + aria-label="Angular Stream Resource architecture diagram" > <defs> <marker id="arrowhead" markerWidth="8" markerHeight="8" refX="8" refY="4" orient="auto"> @@ -1305,9 +1305,9 @@ export default async function DocsPage({ params }: Props) { Create `apps/website/content/docs/index.mdx`: ```mdx -# StreamResource Documentation +# Angular Stream Resource Documentation -Welcome to the StreamResource documentation. Run `npm run generate-docs` to +Welcome to the Angular Stream Resource documentation. Run `npm run generate-docs` to generate the full narrative documentation from the library source. ## Quick Start @@ -1815,7 +1815,7 @@ test.describe('Landing page', () => { test('renders architecture diagram SVG', async ({ page }) => { await page.goto('/'); - await expect(page.locator('svg[aria-label="StreamResource architecture diagram"]')).toBeVisible(); + await expect(page.locator('svg[aria-label="Angular Stream Resource architecture diagram"]')).toBeVisible(); }); test('renders install command', async ({ page }) => { @@ -1888,7 +1888,7 @@ import { test, expect } from '@playwright/test'; test.describe('Docs page', () => { test('renders docs index', async ({ page }) => { await page.goto('/docs'); - await expect(page.getByText('StreamResource Documentation')).toBeVisible(); + await expect(page.getByText('Angular Stream Resource Documentation')).toBeVisible(); }); test('API reference renders signal table', async ({ page }) => { diff --git a/docs/superpowers/plans/2026-03-18-agentic-additions.md b/docs/superpowers/plans/2026-03-18-agentic-additions.md index 9dddc18e4..58a6272b1 100644 --- a/docs/superpowers/plans/2026-03-18-agentic-additions.md +++ b/docs/superpowers/plans/2026-03-18-agentic-additions.md @@ -1,4 +1,4 @@ -# StreamResource — Agentic Additions Implementation Plan +# Angular Stream Resource — Agentic Additions Implementation Plan > **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking. Set up an isolated workspace first using superpowers:using-git-worktrees. diff --git a/docs/superpowers/plans/2026-03-18-website.md b/docs/superpowers/plans/2026-03-18-website.md index 7e8ee1879..29bf6b711 100644 --- a/docs/superpowers/plans/2026-03-18-website.md +++ b/docs/superpowers/plans/2026-03-18-website.md @@ -1,8 +1,8 @@ -# StreamResource Website Implementation Plan +# Angular Stream Resource Website Implementation Plan > **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking. Set up an isolated workspace first using superpowers:using-git-worktrees. -**Goal:** Build the StreamResource Next.js marketing and documentation website — landing page, pricing, docs, live Angular Elements demo — using the indigo-blue neon brand from `docs/superpowers/specs/2026-03-18-website-branding-design.md`. +**Goal:** Build the Angular Stream Resource Next.js marketing and documentation website — landing page, pricing, docs, live Angular Elements demo — using the indigo-blue neon brand from `docs/superpowers/specs/2026-03-18-website-branding-design.md`. **Architecture:** Next.js 15 App Router inside the existing Nx monorepo at `apps/website/`. Design tokens defined once in `globals.css` (CSS custom properties) and `lib/design-tokens.ts` (typed TS constants), consumed by all components via Tailwind CSS utility classes and inline styles. Angular Elements demo app lives at `apps/demo/`, built separately, bundle copied to `public/demo/`. Docs generated by a two-stage script pipeline (TypeDoc → Claude API → MDX). @@ -329,7 +329,7 @@ export function Nav() { <nav className="fixed top-0 left-0 right-0 z-50 flex items-center justify-between px-8 py-5" style={{ borderBottom: '1px solid var(--color-accent-border)', background: 'rgba(8,11,20,0.85)', backdropFilter: 'blur(12px)' }}> <Link href="/" className="font-garamond text-xl font-bold text-text-primary"> - StreamResource + Angular Stream Resource </Link> <div className="flex items-center gap-8"> {links.map((l) => ( @@ -364,7 +364,7 @@ export function Footer() { style={{ borderTop: '1px solid var(--color-accent-border)' }}> <div className="max-w-6xl mx-auto flex flex-col md:flex-row items-start justify-between gap-8"> <div> - <p className="font-garamond text-lg font-bold text-text-primary">StreamResource</p> + <p className="font-garamond text-lg font-bold text-text-primary">Angular Stream Resource</p> <p className="text-sm text-text-muted mt-1">The Enterprise Streaming Resource for LangChain and Angular</p> </div> <div className="flex gap-12 text-sm"> @@ -378,7 +378,7 @@ export function Footer() { </div> <div className="max-w-6xl mx-auto mt-8 pt-8 flex items-center justify-between text-xs text-text-muted" style={{ borderTop: '1px solid var(--color-accent-border)' }}> - <span>© {new Date().getFullYear()} StreamResource. All rights reserved.</span> + <span>© {new Date().getFullYear()} Angular Stream Resource. All rights reserved.</span> <span>MIT (non-commercial) · <Link href="/pricing" className="hover:text-text-secondary transition-colors">Commercial License</Link></span> </div> </footer> @@ -450,7 +450,7 @@ const mono = JetBrains_Mono({ }); export const metadata: Metadata = { - title: 'StreamResource — LangChain Streaming for Angular', + title: 'Angular Stream Resource — LangChain Streaming for Angular', description: 'The Enterprise Streaming Resource for LangChain and Angular. streamResource() brings full parity with React useStream() to Angular 20+.', }; @@ -473,7 +473,7 @@ export default function RootLayout({ children }: { children: React.ReactNode }) npx nx serve website ``` -Open `http://localhost:3000`. Expected: dark background, Nav visible at top with "StreamResource" wordmark and links. Stop with Ctrl+C. +Open `http://localhost:3000`. Expected: dark background, Nav visible at top with "Angular Stream Resource" wordmark and links. Stop with Ctrl+C. - [ ] **Step 6: Commit** @@ -1200,7 +1200,7 @@ Create `apps/website/content/docs/introduction.mdx`: ```mdx # Introduction -StreamResource is the Angular streaming library for LangChain and LangGraph. +Angular Stream Resource is the Angular streaming library for LangChain and LangGraph. ## Installation @@ -1472,7 +1472,7 @@ const DOCS_DIR = path.join('apps/website/content/docs'); const API_DOCS = path.join('apps/website/public/api-docs.json'); const TOPICS = [ - { slug: 'introduction', prompt: 'Write an introduction to the StreamResource Angular library. Explain what it does, who it is for, and why it exists. Include a minimal getting-started example.' }, + { slug: 'introduction', prompt: 'Write an introduction to the Angular Stream Resource library. Explain what it does, who it is for, and why it exists. Include a minimal getting-started example.' }, { slug: 'streaming', prompt: 'Explain how token-by-token streaming works with streamResource(). Cover the messages signal, how chunks arrive, and how Angular re-renders on each chunk.' }, { slug: 'thread-persistence', prompt: 'Explain thread persistence in streamResource(). Cover threadId, onThreadId, and how to resume threads across page refreshes with localStorage.' }, { slug: 'configuration', prompt: 'Explain provideStreamResource() and per-call configuration. Show how to set a global apiUrl and how to override it per-call.' }, @@ -1485,7 +1485,7 @@ async function generateDoc(slug: string, prompt: string, apiDocsJson: string) { max_tokens: 2048, messages: [{ role: 'user', - content: `You are writing documentation for the StreamResource Angular library. + content: `You are writing documentation for the Angular Stream Resource library. Here is the TypeDoc API reference JSON:\n\n${apiDocsJson}\n\n${prompt} Write clean, developer-friendly MDX documentation. Use EB Garamond-appropriate prose — precise, no fluff. Include code examples. Start with a single # heading.`, diff --git a/docs/superpowers/plans/2026-03-19-roadmap.md b/docs/superpowers/plans/2026-03-19-roadmap.md index 22979e626..74087673c 100644 --- a/docs/superpowers/plans/2026-03-19-roadmap.md +++ b/docs/superpowers/plans/2026-03-19-roadmap.md @@ -1,4 +1,4 @@ -# StreamResource — Roadmap and Next Steps +# Angular Stream Resource — Roadmap and Next Steps **Date:** 2026-03-19 **Status:** Living document — update as items are completed diff --git a/docs/superpowers/plans/2026-04-03-docs-infrastructure.md b/docs/superpowers/plans/2026-04-03-docs-infrastructure.md index d7d594113..be41cc87d 100644 --- a/docs/superpowers/plans/2026-04-03-docs-infrastructure.md +++ b/docs/superpowers/plans/2026-04-03-docs-infrastructure.md @@ -192,10 +192,10 @@ Create `apps/website/content/docs-v2/getting-started/introduction.mdx`: ```mdx # Introduction -StreamResource brings full parity with React's `useStream()` hook to Angular 20+. It's the enterprise streaming resource for LangChain and Angular — built natively with Angular Signals, not wrapped or adapted. +Angular Stream Resource brings full parity with React's `useStream()` hook to Angular 20+. It's the enterprise streaming resource for LangChain and Angular — built natively with Angular Signals, not wrapped or adapted. <Callout type="info" title="Who is this for?"> -StreamResource serves two audiences: Angular developers building AI-powered apps, and AI/agent developers who need an Angular frontend. +Angular Stream Resource serves two audiences: Angular developers building AI-powered apps, and AI/agent developers who need an Angular frontend. </Callout> ## What you'll build @@ -227,7 +227,7 @@ Create `apps/website/content/docs-v2/guides/streaming.mdx`: ```mdx # Streaming -StreamResource provides token-by-token streaming from LangGraph agents via Server-Sent Events (SSE). Every update lands directly in Angular Signals. +Angular Stream Resource provides token-by-token streaming from LangGraph agents via Server-Sent Events (SSE). Every update lands directly in Angular Signals. <Callout type="tip" title="Prerequisites"> Make sure you've completed the [Installation](/docs/getting-started/installation) guide first. diff --git a/docs/superpowers/plans/2026-04-03-glassy-gradient-redesign.md b/docs/superpowers/plans/2026-04-03-glassy-gradient-redesign.md index 85c0435e1..885c976e2 100644 --- a/docs/superpowers/plans/2026-04-03-glassy-gradient-redesign.md +++ b/docs/superpowers/plans/2026-04-03-glassy-gradient-redesign.md @@ -2,7 +2,7 @@ > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. -**Goal:** Refactor the StreamResource website from dark navy to a light frosted-glass aesthetic with dual-brand Angular/LangGraph ambient gradients. +**Goal:** Refactor the Angular Stream Resource website from dark navy to a light frosted-glass aesthetic with dual-brand Angular/LangGraph ambient gradients. **Architecture:** Token-first approach — update `design-tokens.ts` and `global.css` first, then sweep all components to consume the new tokens. The warm→cool gradient flow (Angular red top-left → LangGraph blue bottom-right) serves as the continuous page backdrop, with balanced glass panels (14-16px blur, 40-50% white opacity) floating on top. @@ -195,7 +195,7 @@ export function Nav() { boxShadow: tokens.glass.shadow, }}> <Link href="/" className="font-garamond text-xl font-bold" style={{ color: tokens.colors.textPrimary }}> - StreamResource + Angular Stream Resource </Link> <div className="flex items-center gap-8"> {links.map((l) => ( @@ -255,7 +255,7 @@ export function Footer() { }}> <div className="max-w-6xl mx-auto flex flex-col md:flex-row items-start justify-between gap-8"> <div> - <p className="font-garamond text-lg font-bold" style={{ color: tokens.colors.textPrimary }}>StreamResource</p> + <p className="font-garamond text-lg font-bold" style={{ color: tokens.colors.textPrimary }}>Angular Stream Resource</p> <p className="text-sm mt-1" style={{ color: tokens.colors.textMuted }}>The Enterprise Streaming Resource for LangChain and Angular</p> </div> <div className="flex gap-12 text-sm"> @@ -269,7 +269,7 @@ export function Footer() { </div> <div className="max-w-6xl mx-auto mt-8 pt-8 flex items-center justify-between text-xs" style={{ borderTop: `1px solid ${tokens.glass.border}`, color: tokens.colors.textMuted }}> - <span>© {new Date().getFullYear()} StreamResource. All rights reserved.</span> + <span>© {new Date().getFullYear()} Angular Stream Resource. All rights reserved.</span> <span>PolyForm Noncommercial 1.0.0 · <Link href="/pricing" className="transition-colors">Commercial License</Link></span> </div> </footer> diff --git a/docs/superpowers/plans/2026-04-04-docs-content-authoring.md b/docs/superpowers/plans/2026-04-04-docs-content-authoring.md index 7113263db..d1d5281fa 100644 --- a/docs/superpowers/plans/2026-04-04-docs-content-authoring.md +++ b/docs/superpowers/plans/2026-04-04-docs-content-authoring.md @@ -1299,10 +1299,10 @@ Replace the full content of `apps/website/content/docs-v2/getting-started/introd ```mdx # Introduction -StreamResource brings full parity with React's `useStream()` hook to Angular 20+. It's the enterprise streaming resource for LangChain and Angular — built natively with Angular Signals, not wrapped or adapted. +Angular Stream Resource brings full parity with React's `useStream()` hook to Angular 20+. It's the enterprise streaming resource for LangChain and Angular — built natively with Angular Signals, not wrapped or adapted. <Callout type="info" title="Who is this for?"> -StreamResource serves two audiences: **Angular developers** building AI-powered applications, and **AI/agent developers** who need a production Angular frontend for their LangGraph agents. +Angular Stream Resource serves two audiences: **Angular developers** building AI-powered applications, and **AI/agent developers** who need a production Angular frontend for their LangGraph agents. </Callout> ## What is streamResource()? diff --git a/docs/superpowers/specs/2026-03-19-licensing-model.md b/docs/superpowers/specs/2026-03-19-licensing-model.md index c1a1ff11d..81d3d8450 100644 --- a/docs/superpowers/specs/2026-03-19-licensing-model.md +++ b/docs/superpowers/specs/2026-03-19-licensing-model.md @@ -1,4 +1,4 @@ -# StreamResource Licensing Model — Design Specification +# Angular Stream Resource Licensing Model — Design Specification **Date:** 2026-03-19 **Status:** Implemented @@ -8,7 +8,7 @@ ## Overview -StreamResource uses a **source-available dual-license model**. It is **not** open source and must never be described as MIT or OSI-approved. The project is publicly readable and freely usable for noncommercial purposes, with a paid commercial license required for any for-profit or revenue-generating use. +Angular Stream Resource uses a **source-available dual-license model**. It is **not** open source and must never be described as MIT or OSI-approved. The project is publicly readable and freely usable for noncommercial purposes, with a paid commercial license required for any for-profit or revenue-generating use. --- @@ -17,7 +17,7 @@ StreamResource uses a **source-available dual-license model**. It is **not** ope | File | Purpose | |---|---| | `LICENSE` | Full text of PolyForm Noncommercial 1.0.0 | -| `LICENSE-COMMERCIAL` | Full text of the StreamResource Commercial License | +| `LICENSE-COMMERCIAL` | Full text of the Angular Stream Resource Commercial License | | `COMMERCIAL.md` | Plain-English commercial licensing explainer | | `NOTICE` | Required copyright notice per PolyForm terms | @@ -48,7 +48,7 @@ StreamResource uses a **source-available dual-license model**. It is **not** ope ## Commercial License -**License:** StreamResource Commercial License +**License:** Angular Stream Resource Commercial License **File:** `LICENSE-COMMERCIAL` ### Tiers @@ -125,7 +125,7 @@ The free/community tier is called **"Community"** (not "Open Source"). ### Pricing page copy - Free tier: "Community · Free · noncommercial use · PolyForm Noncommercial 1.0.0" -- Commercial tiers: "Commercial use requires a paid StreamResource Commercial License" +- Commercial tiers: "Commercial use requires a paid Angular Stream Resource Commercial License" ### Footer @@ -151,7 +151,7 @@ Source-available licensing. Free for noncommercial use under PolyForm Noncommerc `@cacheplane/stream-resource` is source-available software dual-licensed: - **PolyForm Noncommercial 1.0.0** — free for noncommercial use. See LICENSE. -- **StreamResource Commercial License** — required for any for-profit or revenue-generating use. See LICENSE-COMMERCIAL and COMMERCIAL.md. +- **Angular Stream Resource Commercial License** — required for any for-profit or revenue-generating use. See LICENSE-COMMERCIAL and COMMERCIAL.md. This is **not** an open-source license. Commercial use requires a paid commercial license. ``` diff --git a/docs/superpowers/specs/2026-04-03-docs-refresh-design.md b/docs/superpowers/specs/2026-04-03-docs-refresh-design.md index 7420918ae..e1d21d243 100644 --- a/docs/superpowers/specs/2026-04-03-docs-refresh-design.md +++ b/docs/superpowers/specs/2026-04-03-docs-refresh-design.md @@ -167,7 +167,7 @@ Rendering: | Slug | Title | Content | |------|-------|---------| -| `introduction` | Introduction | What is StreamResource, dual audience (Angular devs & AI devs), key value props, what you'll build | +| `introduction` | Introduction | What is Angular Stream Resource, dual audience (Angular devs & AI devs), key value props, what you'll build | | `quickstart` | Quick Start | 5-minute end-to-end: install → configure → build chat component → run. Uses CardGroup to link to next steps. | | `installation` | Installation | npm install, provideStreamResource() config, environment variables, Angular version matrix, LangGraph Cloud setup | diff --git a/docs/superpowers/specs/2026-04-03-glassy-gradient-redesign.md b/docs/superpowers/specs/2026-04-03-glassy-gradient-redesign.md index 8f08aeca5..386cc8d85 100644 --- a/docs/superpowers/specs/2026-04-03-glassy-gradient-redesign.md +++ b/docs/superpowers/specs/2026-04-03-glassy-gradient-redesign.md @@ -6,7 +6,7 @@ ## Overview -Refactor the StreamResource website from a dark navy solid-background design to a light, frosted-glass aesthetic with dual-brand ambient gradients. The design communicates the "bridge between Angular and LangGraph" through a warm→cool gradient flow (Angular red → LangGraph blue) with translucent glass panels floating on top. +Refactor the Angular Stream Resource website from a dark navy solid-background design to a light, frosted-glass aesthetic with dual-brand ambient gradients. The design communicates the "bridge between Angular and LangGraph" through a warm→cool gradient flow (Angular red → LangGraph blue) with translucent glass panels floating on top. ## Design Decisions diff --git a/docs/superpowers/specs/2026-04-05-narrative-redesign.md b/docs/superpowers/specs/2026-04-05-narrative-redesign.md index b0e5990e6..c0b8ad690 100644 --- a/docs/superpowers/specs/2026-04-05-narrative-redesign.md +++ b/docs/superpowers/specs/2026-04-05-narrative-redesign.md @@ -2,7 +2,7 @@ ## Goal -Add four new landing page sections that reframe StreamResource around the "last mile" production narrative: the problem (why AI projects stall), the full stack architecture, the @cacheplane/chat UI layer in depth, and a fair comparison table. Update one existing section (FeatureStrip) to remove an inaccurate claim. Existing sections are preserved as-is. +Add four new landing page sections that reframe Angular Stream Resource around the "last mile" production narrative: the problem (why AI projects stall), the full stack architecture, the @cacheplane/chat UI layer in depth, and a fair comparison table. Update one existing section (FeatureStrip) to remove an inaccurate claim. Existing sections are preserved as-is. ## Architecture @@ -36,7 +36,7 @@ SVG animations use `animateMotion` with `mpath` for particle flows and CSS `@key **Placement in page.tsx:** After `<StatsStrip />`, before `<ValueProps />`. -**Narrative:** The last-mile gap. Three stats establish the problem. An animated progress bar shows teams stalling at 77% and StreamResource closing the gap to 100%. +**Narrative:** The last-mile gap. Three stats establish the problem. An animated progress bar shows teams stalling at 77% and Angular Stream Resource closing the gap to 100%. ### Component structure @@ -161,15 +161,15 @@ Each tab scenario is an `async` function using a local `wait(ms)` helper. Tab sw **Placement in page.tsx:** After `<DeepAgentsShowcase />`, before `<ArchDiagram />`. -**Narrative:** Honest comparison of LangChain alone vs StreamResource. No attacks. Just what StreamResource adds on top. +**Narrative:** Honest comparison of LangChain alone vs Angular Stream Resource. No attacks. Just what Angular Stream Resource adds on top. ### Component structure -Eyebrow: "A fair comparison". Headline: "What StreamResource adds". Subtitle: "LangChain and LangGraph are excellent. This is what the Angular production layer provides on top." +Eyebrow: "A fair comparison". Headline: "What Angular Stream Resource adds". Subtitle: "LangChain and LangGraph are excellent. This is what the Angular production layer provides on top." ### Comparison table -Two columns: "LangChain + Angular (without StreamResource)" and "LangChain + Angular + StreamResource". +Two columns: "LangChain + Angular (without Angular Stream Resource)" and "LangChain + Angular + Angular Stream Resource". | Capability | Without | With | |---|---|---| @@ -190,7 +190,7 @@ Each "With" cell uses `tokens.colors.accent` text with a checkmark. Each "Withou **File:** `apps/website/src/components/landing/FeatureStrip.tsx` -Remove the feature entry that reads "Generative UI — no established Angular pattern exists anywhere" or equivalent language that implies StreamResource is the only solution. Replace with: `{ icon: '🎨', title: 'Generative UI', desc: 'Agent-emitted Angular components via @cacheplane/render. Your component registry, your design — rendered inline from a JSON spec.' }`. +Remove the feature entry that reads "Generative UI — no established Angular pattern exists anywhere" or equivalent language that implies Angular Stream Resource is the only solution. Replace with: `{ icon: '🎨', title: 'Generative UI', desc: 'Agent-emitted Angular components via @cacheplane/render. Your component registry, your design — rendered inline from a JSON spec.' }`. --- diff --git a/docs/superpowers/specs/2026-04-05-whitepaper-pipeline.md b/docs/superpowers/specs/2026-04-05-whitepaper-pipeline.md index 9a61fb735..55a193bb1 100644 --- a/docs/superpowers/specs/2026-04-05-whitepaper-pipeline.md +++ b/docs/superpowers/specs/2026-04-05-whitepaper-pipeline.md @@ -260,7 +260,7 @@ function buildHTML(chapters: Array<{ title: string; content: string }>): string <body> <!-- Cover --> <div class="cover"> - <div class="cover-eyebrow">StreamResource · Production Readiness Guide</div> + <div class="cover-eyebrow">Angular Stream Resource · Production Readiness Guide</div> <h1 class="cover-title">From Prototype<br>to Production</h1> <p class="cover-sub">The Angular Agent Readiness Guide</p> <div class="cover-meta">cacheplane.io · ${new Date().getFullYear()}</div> From 65ffe2538d673312ffc323e7a990fab25ef9ab74 Mon Sep 17 00:00:00 2001 From: Brian Love <brian@liveloveapp.com> Date: Mon, 6 Apr 2026 11:11:23 -0700 Subject: [PATCH 9/9] docs: fix remaining brand references missed in initial pass --- apps/website/scripts/generate-narrative-docs.ts | 4 ++-- apps/website/src/app/llms-full.txt/route.ts | 2 +- apps/website/src/lib/docs.spec.ts | 2 +- docs/superpowers/plans/2026-03-17-readme.md | 10 +++++----- docs/superpowers/plans/2026-03-18-agentic-additions.md | 6 +++--- .../specs/2026-03-18-agentic-docs-design.md | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/apps/website/scripts/generate-narrative-docs.ts b/apps/website/scripts/generate-narrative-docs.ts index 1ce5e9bb1..537f93376 100644 --- a/apps/website/scripts/generate-narrative-docs.ts +++ b/apps/website/scripts/generate-narrative-docs.ts @@ -10,7 +10,7 @@ const API_DOCS = 'apps/website/public/api-docs.json'; const TOPICS = [ { slug: 'introduction', - prompt: 'Write an introduction to the StreamResource Angular library. Explain what it does, who it is for, and why it exists. Include a minimal getting-started example.', + prompt: 'Write an introduction to the Angular Stream Resource library. Explain what it does, who it is for, and why it exists. Include a minimal getting-started example.', }, { slug: 'streaming', @@ -36,7 +36,7 @@ async function generateDoc(slug: string, prompt: string, apiDocsJson: string): P max_tokens: 2048, messages: [{ role: 'user', - content: `You are writing documentation for the StreamResource Angular library. + content: `You are writing documentation for the Angular Stream Resource library. Here is the TypeDoc API reference JSON:\n\n${apiDocsJson}\n\n${prompt} Write clean, developer-friendly MDX documentation. Use precise, no-fluff prose. Include code examples. Start with a single # heading.`, diff --git a/apps/website/src/app/llms-full.txt/route.ts b/apps/website/src/app/llms-full.txt/route.ts index a5c38b62d..2f0627744 100644 --- a/apps/website/src/app/llms-full.txt/route.ts +++ b/apps/website/src/app/llms-full.txt/route.ts @@ -27,7 +27,7 @@ function loadAllPrompts(): string { export async function GET() { const sections = [ - '# stream-resource — Full Reference\n\nSee /llms.txt for a compact summary.\n', + '# Angular Stream Resource — Full Reference\n\nSee /llms.txt for a compact summary.\n', '## API Reference (TypeDoc)\n\n' + loadApiDocs(), '## Prompt Recipes\n\n' + loadAllPrompts(), [ diff --git a/apps/website/src/lib/docs.spec.ts b/apps/website/src/lib/docs.spec.ts index 3242f1a83..ef294b75b 100644 --- a/apps/website/src/lib/docs.spec.ts +++ b/apps/website/src/lib/docs.spec.ts @@ -15,7 +15,7 @@ describe('website docs bindings', () => { const doc = getDocBySlug('getting-started', 'introduction'); expect(doc).not.toBeNull(); expect(doc?.title).toBe('Introduction'); - expect(doc?.content).toContain('StreamResource'); + expect(doc?.content).toContain('Angular Stream Resource'); }); it('returns null for non-existent doc', () => { diff --git a/docs/superpowers/plans/2026-03-17-readme.md b/docs/superpowers/plans/2026-03-17-readme.md index 1aa4afcb8..eb3db5e66 100644 --- a/docs/superpowers/plans/2026-03-17-readme.md +++ b/docs/superpowers/plans/2026-03-17-readme.md @@ -38,7 +38,7 @@ apps/website/public/assets/ **Visual specification:** - Background: `#080705` (near-black) - Text color: `#d4aa6a` (gold) -- Wordmark: "stream-resource" in EB Garamond-style serif paths +- Wordmark: "Angular Stream Resource" in EB Garamond-style serif paths - Subtitle: "The Enterprise Streaming Resource for LangChain and Angular" in lighter gold - Dimensions: 1200 × 300 (standard GitHub README banner ratio) - No JavaScript, no `<foreignObject>`, no web fonts (paths only — renders everywhere) @@ -57,7 +57,7 @@ apps/website/public/assets/ <!-- Decorative left rule --> <line x1="60" y1="80" x2="60" y2="220" stroke="#d4aa6a" stroke-width="1" stroke-opacity="0.3"/> - <!-- Wordmark: "stream-resource" --> + <!-- Wordmark: "Angular Stream Resource" --> <!-- Rendered as text with system serif fallback — GitHub SVG renderer supports embedded text --> <text x="88" @@ -67,7 +67,7 @@ apps/website/public/assets/ font-weight="700" letter-spacing="-2" fill="#d4aa6a" - >stream-resource</text> + >Angular Stream Resource</text> <!-- Tagline --> <text @@ -244,7 +244,7 @@ apps/website/public/assets/ <p align="center"> <img src="https://stream-resource.vercel.app/assets/hero.svg" - alt="stream-resource — The Enterprise Streaming Resource for LangChain and Angular" + alt="Angular Stream Resource — The Enterprise Streaming Resource for LangChain and Angular" width="100%" /> </p> @@ -353,7 +353,7 @@ That's it. `chat.messages()` is an Angular Signal. Bind it directly in your temp <p align="center"> <img src="https://stream-resource.vercel.app/assets/arch-diagram.svg" - alt="stream-resource architecture: Angular Component → streamResource() → StreamManager Bridge → LangGraph Platform, with signals returned reactively" + alt="Angular Stream Resource architecture: Angular Component → streamResource() → StreamManager Bridge → LangGraph Platform, with signals returned reactively" width="100%" /> </p> diff --git a/docs/superpowers/plans/2026-03-18-agentic-additions.md b/docs/superpowers/plans/2026-03-18-agentic-additions.md index 58a6272b1..32dc09acd 100644 --- a/docs/superpowers/plans/2026-03-18-agentic-additions.md +++ b/docs/superpowers/plans/2026-03-18-agentic-additions.md @@ -729,7 +729,7 @@ import path from 'path'; import pkg from '../../../package.json'; function buildLlmsTxt(): string { - return `# stream-resource v${pkg.version} + return `# Angular Stream Resource v${pkg.version} Angular streaming library for LangChain/LangGraph. Provides streamResource() — full parity with React's useStream() hook, built on Angular Signals. @@ -798,7 +798,7 @@ function loadAllPrompts(): string { export async function GET() { const sections = [ - '# stream-resource — Full Reference\n\nSee /llms.txt for a compact summary.\n', + '# Angular Stream Resource — Full Reference\n\nSee /llms.txt for a compact summary.\n', '## API Reference (TypeDoc)\n\n' + loadApiDocs(), '## Prompt Recipes\n\n' + loadAllPrompts(), '## Common Gotchas\n\nstreamResource() MUST be called inside an Angular injection context.\nDo not call it in ngOnInit — use constructor or field initializer.\nDo not mock streamResource() in tests — use MockStreamTransport.\nRxJS is an internal implementation detail — do not import rxjs in consumer code.', @@ -844,7 +844,7 @@ These files are generated at build time and served as static downloads from the Create `apps/website/content/CLAUDE.md.template`: ``` -# stream-resource v@VERSION@ +# Angular Stream Resource v@VERSION@ Angular streaming library for LangChain/LangGraph. Provides `streamResource()` — full parity with React's `useStream()`. diff --git a/docs/superpowers/specs/2026-03-18-agentic-docs-design.md b/docs/superpowers/specs/2026-03-18-agentic-docs-design.md index 3079e97bd..f3c2a908d 100644 --- a/docs/superpowers/specs/2026-03-18-agentic-docs-design.md +++ b/docs/superpowers/specs/2026-03-18-agentic-docs-design.md @@ -171,7 +171,7 @@ Targets Claude Code and Claude API agents. Downloadable from the Getting Started Content: ```markdown -# stream-resource +# Angular Stream Resource Angular streaming library for LangChain/LangGraph. Provides `streamResource()` — full parity with React's `useStream()`.