foundation: manifesto, origin, governance templates, and Phase 0 planning docs#265
Conversation
Adds Phase 0 narrative and governance baseline: - MANIFESTO.md: 10 non-negotiable principles (core <10KB, plug-and-play, interop, zero lock-in, agent-first, docs-as-product, TS rigor) - ORIGIN.md: first-person origin story (author placeholders to personalize) - .github/CODEOWNERS: per-package ownership with maintainer fallback - .github/ISSUE_TEMPLATE/rfc.yml: RFC template for non-trivial proposals - .github/ISSUE_TEMPLATE/docs.yml: documentation issue template - .github/ISSUE_TEMPLATE/config.yml: disable blank issues, link Discussions - .github/PULL_REQUEST_TEMPLATE.md: expanded with RFC reference, manifesto checklist, and DoD aligned with Phase 0 gates - docs/ROADMAP-PRD.md: master PRD (97 stories roadmap) - docs/PHASE-0-FOUNDATION-PRD.md: Phase 0 PRD (52 stories) - docs/PHASE-0-EXECUTION-PLAN.md: tactical P0/P1/P2 plan - docs/MASTER-EXECUTION-PLAN.md: 149-issue sequencing across 27 sprints Refs #113 #211 #264
Test fix updateCI test failure was a pre-existing regression on
What I did
Verification
Tracking
This is medium-priority: the terminal components work correctly in real use; only automated coverage of keyboard-input scenarios is temporarily reduced. |
Tests fixed (no regressions)Updated approach: instead of skipping, rewrote the 5 failing tests to work around the ink@7 / ink-testing-library@4 incompat properly. Root causeInk v7 moved FixMock Results
Issue #266 closed by this commit. Unrelated: docs build
|
Reframes the README from a generic 'complete toolkit' pitch to an opinionated, honest, story-driven entry point. What's new: - Tagline 'The agent toolkit JavaScript actually deserves' — opinion, not buzzwords - 'Why this exists' section linking to ORIGIN.md and MANIFESTO.md - 'Before and after' section showing the typical cobbled stack vs AgentsKit's two-import equivalent - Honest 'When you should NOT use AgentsKit' section — directs people to single-OpenAI-call, Vercel AI SDK for chat-only, Python frameworks, mature observability platforms, or pre-1.0 caution - Comparison table now includes formal contracts row and edge-readiness - Stability tier column on the ecosystem table - Architecture and contracts section linking the six ADRs - 'For AI agents reading this' section — first-class doc consumers - Status section linking Phase 0 and Master PRDs - agentskit.io as canonical docs URL What's preserved and tightened: - Quickstart in 10 lines (single example, not three competing) - Multi-agent delegation example - Provider swap demonstration - Terminal chat (Ink) callout Aligns with stories #224 (README rewrite) and #16 (honest comparison incl. when NOT to use). Builds on Manifesto + Origin (#265) and the six contract ADRs (#267-#274). Refs #224 #16 #211
…oses #281] Manifesto principle 1 requires @agentskit/core to work in any environment (Node, Deno, edge, browser). The previous implementation imported node:fs/promises at module load via config.ts, which crashed every browser consumer at runtime with 'Module fs/promises has been externalized for browser compatibility.' This PR relocates the two Node-only helpers: createFileMemory (packages/core/src/memory.ts) -> fileChatMemory (packages/memory/src/file-chat.ts) loadConfig + AgentsKitConfig + LoadConfigOptions (packages/core/src/config.ts) -> @agentskit/cli (packages/cli/src/config.ts) What stays in @agentskit/core (all universal): createInMemoryMemory works in every environment createLocalStorageMemory already guards on typeof localStorage Consumer migrations: - Re-exports of createFileMemory from @agentskit/react and @agentskit/ink are dropped (they were always Node-only; browser consumers got a broken export) - apps/example-ink switched to fileChatMemory from @agentskit/memory - @agentskit/cli internals now import loadConfig from its own ./config Tests relocated: - packages/core/tests/config.test.ts -> packages/cli/tests/config.test.ts - packages/core/tests/memory.test.ts createFileMemory block split out -> packages/memory/tests/file-chat.test.ts Changeset declares: @agentskit/core major (breaking — exports removed) @agentskit/memory minor (new fileChatMemory export) @agentskit/cli minor (new loadConfig public export) @agentskit/react minor (dropped re-export) @agentskit/ink minor (dropped re-export) Verified: - packages/core/dist/*.js contains zero fs/path imports - apps/example-react mounts in a real browser (was empty root before) - pnpm build succeeds for every package - Ink test failure is pre-existing (ink@7 incompat fixed in #265), not caused by this change Unblocks the 5 browser-side E2E tests currently skipped in #282. Closes #281
Reframes the README from a generic 'complete toolkit' pitch to an opinionated, honest, story-driven entry point. What's new: - Tagline 'The agent toolkit JavaScript actually deserves' — opinion, not buzzwords - 'Why this exists' section linking to ORIGIN.md and MANIFESTO.md - 'Before and after' section showing the typical cobbled stack vs AgentsKit's two-import equivalent - Honest 'When you should NOT use AgentsKit' section — directs people to single-OpenAI-call, Vercel AI SDK for chat-only, Python frameworks, mature observability platforms, or pre-1.0 caution - Comparison table now includes formal contracts row and edge-readiness - Stability tier column on the ecosystem table - Architecture and contracts section linking the six ADRs - 'For AI agents reading this' section — first-class doc consumers - Status section linking Phase 0 and Master PRDs - agentskit.io as canonical docs URL What's preserved and tightened: - Quickstart in 10 lines (single example, not three competing) - Multi-agent delegation example - Provider swap demonstration - Terminal chat (Ink) callout Aligns with stories #224 (README rewrite) and #16 (honest comparison incl. when NOT to use). Builds on Manifesto + Origin (#265) and the six contract ADRs (#267-#274). Refs #224 #16 #211
…oses #281] Manifesto principle 1 requires @agentskit/core to work in any environment (Node, Deno, edge, browser). The previous implementation imported node:fs/promises at module load via config.ts, which crashed every browser consumer at runtime with 'Module fs/promises has been externalized for browser compatibility.' This PR relocates the two Node-only helpers: createFileMemory (packages/core/src/memory.ts) -> fileChatMemory (packages/memory/src/file-chat.ts) loadConfig + AgentsKitConfig + LoadConfigOptions (packages/core/src/config.ts) -> @agentskit/cli (packages/cli/src/config.ts) What stays in @agentskit/core (all universal): createInMemoryMemory works in every environment createLocalStorageMemory already guards on typeof localStorage Consumer migrations: - Re-exports of createFileMemory from @agentskit/react and @agentskit/ink are dropped (they were always Node-only; browser consumers got a broken export) - apps/example-ink switched to fileChatMemory from @agentskit/memory - @agentskit/cli internals now import loadConfig from its own ./config Tests relocated: - packages/core/tests/config.test.ts -> packages/cli/tests/config.test.ts - packages/core/tests/memory.test.ts createFileMemory block split out -> packages/memory/tests/file-chat.test.ts Changeset declares: @agentskit/core major (breaking — exports removed) @agentskit/memory minor (new fileChatMemory export) @agentskit/cli minor (new loadConfig public export) @agentskit/react minor (dropped re-export) @agentskit/ink minor (dropped re-export) Verified: - packages/core/dist/*.js contains zero fs/path imports - apps/example-react mounts in a real browser (was empty root before) - pnpm build succeeds for every package - Ink test failure is pre-existing (ink@7 incompat fixed in #265), not caused by this change Unblocks the 5 browser-side E2E tests currently skipped in #282. Closes #281
…oses #281] (#283) Manifesto principle 1 requires @agentskit/core to work in any environment (Node, Deno, edge, browser). The previous implementation imported node:fs/promises at module load via config.ts, which crashed every browser consumer at runtime with 'Module fs/promises has been externalized for browser compatibility.' This PR relocates the two Node-only helpers: createFileMemory (packages/core/src/memory.ts) -> fileChatMemory (packages/memory/src/file-chat.ts) loadConfig + AgentsKitConfig + LoadConfigOptions (packages/core/src/config.ts) -> @agentskit/cli (packages/cli/src/config.ts) What stays in @agentskit/core (all universal): createInMemoryMemory works in every environment createLocalStorageMemory already guards on typeof localStorage Consumer migrations: - Re-exports of createFileMemory from @agentskit/react and @agentskit/ink are dropped (they were always Node-only; browser consumers got a broken export) - apps/example-ink switched to fileChatMemory from @agentskit/memory - @agentskit/cli internals now import loadConfig from its own ./config Tests relocated: - packages/core/tests/config.test.ts -> packages/cli/tests/config.test.ts - packages/core/tests/memory.test.ts createFileMemory block split out -> packages/memory/tests/file-chat.test.ts Changeset declares: @agentskit/core major (breaking — exports removed) @agentskit/memory minor (new fileChatMemory export) @agentskit/cli minor (new loadConfig public export) @agentskit/react minor (dropped re-export) @agentskit/ink minor (dropped re-export) Verified: - packages/core/dist/*.js contains zero fs/path imports - apps/example-react mounts in a real browser (was empty root before) - pnpm build succeeds for every package - Ink test failure is pre-existing (ink@7 incompat fixed in #265), not caused by this change Unblocks the 5 browser-side E2E tests currently skipped in #282. Closes #281
Summary
First concrete step of Phase 0 — Foundation Hardening (PRD #211). Establishes narrative, governance baseline, and planning documents that unblock all subsequent work.
What's included
Narrative foundations (root)
MANIFESTO.md— 10 non-negotiable principles (core <10KB, plug-and-play, interop, zero lock-in, agent-first, docs-as-product, TS rigor) plus explicit "what we'll never/always do" listsORIGIN.md— first-person origin story explaining why AgentsKit exists and the bet it's makingGovernance (.github/)
CODEOWNERS— per-package ownership with maintainer fallback (extensible as team grows)ISSUE_TEMPLATE/rfc.yml— structured RFC template with Manifesto-alignment checklistISSUE_TEMPLATE/docs.yml— dedicated docs issue templateISSUE_TEMPLATE/config.yml— disables blank issues, routes questions to DiscussionsPULL_REQUEST_TEMPLATE.md— expanded with type, RFC reference, manifesto checklist, DoD aligned with Phase 0 gatesPlanning documents (docs/)
ROADMAP-PRD.md— Master PRD with 97 user stories across 4 phases (ref [Master PRD] AgentsKit Roadmap — 4 phases, 97 user stories #113)PHASE-0-FOUNDATION-PRD.md— 52 stories of foundation hardening (ref [Master PRD] Phase 0 — Foundation Hardening (antes da Fase 1) #211)PHASE-0-EXECUTION-PLAN.md— tactical P0/P1/P2 plan with day-by-day sprint 1MASTER-EXECUTION-PLAN.md— 149-issue sequencing across 27 sprints over ~12 months (ref [Master] Execution Plan — 149 issues em 12 meses #264)Why this first
These documents are zero-code dependencies for everything else in Phase 0:
Test plan
MANIFESTO.mdandORIGIN.mdrender correctly on GitHubCODEOWNERSvalidated by GitHub (no syntax errors)Follow-ups (separate PRs)
ARCHITECTURE.mdand first ADR0001-adapter-contract.md([P0.3] ADRs for 6 core contracts (Adapter/Tool/Memory/Retriever/Skill/Runtime) #214)agentskit.ioDNS setup ([P0.24] Configure agentskit.io (DNS + SSL + redirect) #235)size-limitbundle gate pilot in@agentskit/core([P0.6] Bundle size budget enforced in CI (size-limit) #217)Refs #113 #211 #264