ultimate-pi 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/ck-search/SKILL.md +99 -0
- package/.agents/skills/defuddle/SKILL.md +90 -0
- package/.agents/skills/find-skills/SKILL.md +142 -0
- package/.agents/skills/firecrawl/SKILL.md +150 -0
- package/.agents/skills/firecrawl/rules/install.md +82 -0
- package/.agents/skills/firecrawl/rules/security.md +26 -0
- package/.agents/skills/firecrawl-agent/SKILL.md +57 -0
- package/.agents/skills/firecrawl-build-interact/SKILL.md +67 -0
- package/.agents/skills/firecrawl-build-onboarding/SKILL.md +102 -0
- package/.agents/skills/firecrawl-build-onboarding/references/auth-flow.md +39 -0
- package/.agents/skills/firecrawl-build-onboarding/references/project-setup.md +20 -0
- package/.agents/skills/firecrawl-build-onboarding/references/sdk-installation.md +17 -0
- package/.agents/skills/firecrawl-build-scrape/SKILL.md +68 -0
- package/.agents/skills/firecrawl-build-search/SKILL.md +68 -0
- package/.agents/skills/firecrawl-crawl/SKILL.md +58 -0
- package/.agents/skills/firecrawl-download/SKILL.md +69 -0
- package/.agents/skills/firecrawl-interact/SKILL.md +83 -0
- package/.agents/skills/firecrawl-map/SKILL.md +50 -0
- package/.agents/skills/firecrawl-parse/SKILL.md +61 -0
- package/.agents/skills/firecrawl-scrape/SKILL.md +68 -0
- package/.agents/skills/firecrawl-search/SKILL.md +59 -0
- package/.agents/skills/obsidian-bases/SKILL.md +299 -0
- package/.agents/skills/obsidian-markdown/SKILL.md +237 -0
- package/.agents/skills/posthog-analyst/SKILL.md +306 -0
- package/.agents/skills/posthog-analyst/evals/evals.json +23 -0
- package/.agents/skills/wiki/SKILL.md +215 -0
- package/.agents/skills/wiki/references/css-snippets.md +122 -0
- package/.agents/skills/wiki/references/frontmatter.md +107 -0
- package/.agents/skills/wiki/references/git-setup.md +58 -0
- package/.agents/skills/wiki/references/mcp-setup.md +149 -0
- package/.agents/skills/wiki/references/modes.md +259 -0
- package/.agents/skills/wiki/references/plugins.md +96 -0
- package/.agents/skills/wiki/references/rest-api.md +124 -0
- package/.agents/skills/wiki-autoresearch/SKILL.md +211 -0
- package/.agents/skills/wiki-autoresearch/references/program.md +75 -0
- package/.agents/skills/wiki-fold/SKILL.md +204 -0
- package/.agents/skills/wiki-fold/references/fold-template.md +133 -0
- package/.agents/skills/wiki-ingest/SKILL.md +288 -0
- package/.agents/skills/wiki-lint/SKILL.md +183 -0
- package/.agents/skills/wiki-query/SKILL.md +176 -0
- package/.agents/skills/wiki-save/SKILL.md +128 -0
- package/.ckignore +41 -0
- package/.env.example +9 -0
- package/.github/workflows/lint.yml +33 -0
- package/.github/workflows/publish-github-packages.yml +35 -0
- package/.github/workflows/publish-npm.yml +1 -1
- package/.pi/SYSTEM.md +107 -40
- package/.pi/agents/pi-pi/agent-expert.md +205 -0
- package/.pi/agents/pi-pi/cli-expert.md +47 -0
- package/.pi/agents/pi-pi/config-expert.md +67 -0
- package/.pi/agents/pi-pi/ext-expert.md +53 -0
- package/.pi/agents/pi-pi/keybinding-expert.md +123 -0
- package/.pi/agents/pi-pi/pi-orchestrator.md +103 -0
- package/.pi/agents/pi-pi/prompt-expert.md +83 -0
- package/.pi/agents/pi-pi/skill-expert.md +52 -0
- package/.pi/agents/pi-pi/theme-expert.md +46 -0
- package/.pi/agents/pi-pi/tui-expert.md +100 -0
- package/.pi/agents/rethink.md +140 -0
- package/.pi/agents/wiki-ingest.md +67 -0
- package/.pi/agents/wiki-lint.md +75 -0
- package/.pi/auto-commit.json +20 -0
- package/.pi/extensions/banner.png +0 -0
- package/.pi/extensions/ck-enforce.ts +216 -0
- package/.pi/extensions/custom-footer.ts +308 -0
- package/.pi/extensions/custom-header.ts +116 -0
- package/.pi/extensions/dotenv-loader.ts +170 -0
- package/.pi/internal/cursor-sdk-transcript-parser.ts +59 -0
- package/.pi/model-router.json +95 -0
- package/.pi/npm/.gitignore +2 -0
- package/.pi/prompts/git-sync.md +124 -0
- package/.pi/prompts/harness-setup.md +509 -0
- package/.pi/prompts/save.md +16 -0
- package/.pi/prompts/wiki-autoresearch.md +19 -0
- package/.pi/prompts/wiki.md +23 -0
- package/.pi/providers/cursor-sdk-provider.test.mjs +476 -0
- package/.pi/providers/cursor-sdk-provider.ts +1085 -0
- package/.pi/settings.json +14 -4
- package/.pi/skills/agent-router/SKILL.md +174 -0
- package/.pi/sounds/alert/1-kaching-track.mp3 +0 -0
- package/.pi/sounds/error/1-ksi-wth-track.mp3 +0 -0
- package/.pi/sounds/error/2-smash-track.mp3 +0 -0
- package/.pi/sounds/error/3-buzzer-track.mp3 +0 -0
- package/.pi/sounds/notification/1-soft-notification-track.mp3 +0 -0
- package/.pi/sounds/project-sounds.json +25 -0
- package/.pi/sounds/reminder/1-soft-notification-track.mp3 +0 -0
- package/.pi/sounds/success/1-tada-track.mp3 +0 -0
- package/.pi/sounds/success/2-jobs-done-track.mp3 +0 -0
- package/.pi/sounds/success/3-yay-track.mp3 +0 -0
- package/CONTRIBUTING.md +116 -0
- package/README.md +32 -39
- package/biome.json +34 -0
- package/firecrawl/.env.template +58 -0
- package/firecrawl/README.md +49 -0
- package/firecrawl/docker-compose.yaml +201 -0
- package/firecrawl/searxng/searxng.env +3 -0
- package/firecrawl/searxng/settings.yml +85 -0
- package/lefthook.yml +8 -0
- package/package.json +55 -24
- package/vault/AGENTS.md +37 -0
- package/vault/wiki/_templates/comparison.md +39 -0
- package/vault/wiki/_templates/concept.md +40 -0
- package/vault/wiki/_templates/decision.md +21 -0
- package/vault/wiki/_templates/entity.md +32 -0
- package/vault/wiki/_templates/flow.md +14 -0
- package/vault/wiki/_templates/module.md +18 -0
- package/vault/wiki/_templates/question.md +31 -0
- package/vault/wiki/_templates/source.md +39 -0
- package/vault/wiki/concepts/AST-Aware Code Chunking.md +44 -0
- package/vault/wiki/concepts/Build-Time Prompt Compilation.md +107 -0
- package/vault/wiki/concepts/Context Engine (AI Coding).md +47 -0
- package/vault/wiki/concepts/Context-Aware System Reminders.md +61 -0
- package/vault/wiki/concepts/Contextualized Text Embedding.md +42 -0
- package/vault/wiki/concepts/Contractor vs Employee AI Model.md +55 -0
- package/vault/wiki/concepts/Dual-Model Agent Architecture.md +65 -0
- package/vault/wiki/concepts/Late Chunking vs Early Chunking.md +43 -0
- package/vault/wiki/concepts/Majority Vote Ensembling.md +68 -0
- package/vault/wiki/concepts/Meta-Harness.md +16 -0
- package/vault/wiki/concepts/Multi-Agent AI Coding Architecture.md +75 -0
- package/vault/wiki/concepts/Prompt Enhancement.md +90 -0
- package/vault/wiki/concepts/Prompt Renderer.md +89 -0
- package/vault/wiki/concepts/Semantic Codebase Indexing.md +67 -0
- package/vault/wiki/concepts/additive-config-hierarchy.md +16 -0
- package/vault/wiki/concepts/agent-artifacts-verifiable-deliverables.md +71 -0
- package/vault/wiki/concepts/agent-browser-browser-automation.md +99 -0
- package/vault/wiki/concepts/agent-codebase-interface.md +43 -0
- package/vault/wiki/concepts/agent-harness-architecture.md +67 -0
- package/vault/wiki/concepts/agent-loop-detection-patterns.md +133 -0
- package/vault/wiki/concepts/agent-search-enforcement.md +126 -0
- package/vault/wiki/concepts/agent-skills-ecosystem.md +74 -0
- package/vault/wiki/concepts/agent-skills-pattern.md +68 -0
- package/vault/wiki/concepts/agentic-harness-context-enforcement.md +91 -0
- package/vault/wiki/concepts/agentic-harness.md +34 -0
- package/vault/wiki/concepts/agentic-orchestration-pipeline.md +56 -0
- package/vault/wiki/concepts/agentic-search-no-embeddings.md +18 -0
- package/vault/wiki/concepts/anthropic-context-engineering.md +13 -0
- package/vault/wiki/concepts/antigravity-agent-first-architecture.md +61 -0
- package/vault/wiki/concepts/ast-compression.md +19 -0
- package/vault/wiki/concepts/ast-truncation.md +66 -0
- package/vault/wiki/concepts/barrel-files.md +37 -0
- package/vault/wiki/concepts/browser-harness-agent.md +41 -0
- package/vault/wiki/concepts/browser-subagent-visual-verification.md +82 -0
- package/vault/wiki/concepts/codebase-intelligence-ecosystem-comparison.md +192 -0
- package/vault/wiki/concepts/codebase-intelligence-harness-integration.md +161 -0
- package/vault/wiki/concepts/codebase-to-context-ingestion.md +46 -0
- package/vault/wiki/concepts/codex-harness-innovations.md +147 -0
- package/vault/wiki/concepts/consensus-debate-flow.md +17 -0
- package/vault/wiki/concepts/consensus-debate.md +206 -0
- package/vault/wiki/concepts/content-addressed-spec-identity.md +166 -0
- package/vault/wiki/concepts/context-anxiety.md +57 -0
- package/vault/wiki/concepts/context-compression-techniques.md +19 -0
- package/vault/wiki/concepts/context-continuity.md +22 -0
- package/vault/wiki/concepts/context-drift-in-agents.md +106 -0
- package/vault/wiki/concepts/context-engineering.md +62 -0
- package/vault/wiki/concepts/context-folding.md +67 -0
- package/vault/wiki/concepts/context-mode.md +38 -0
- package/vault/wiki/concepts/cursor-harness-innovations.md +107 -0
- package/vault/wiki/concepts/deterministic-session-compaction.md +79 -0
- package/vault/wiki/concepts/drift-detection-unified.md +296 -0
- package/vault/wiki/concepts/execution-feedback-loop.md +46 -0
- package/vault/wiki/concepts/feedforward-feedback-harness.md +60 -0
- package/vault/wiki/concepts/five-root-cause-metrics-sentrux.md +40 -0
- package/vault/wiki/concepts/fork-safe-spec-storage.md +89 -0
- package/vault/wiki/concepts/fts5-sandbox.md +19 -0
- package/vault/wiki/concepts/fuzzy-edit-matching.md +71 -0
- package/vault/wiki/concepts/gemini-cli-architecture.md +104 -0
- package/vault/wiki/concepts/generator-evaluator-architecture.md +64 -0
- package/vault/wiki/concepts/guardian-agent-pattern.md +67 -0
- package/vault/wiki/concepts/harness-configuration-layers.md +89 -0
- package/vault/wiki/concepts/harness-control-frameworks.md +155 -0
- package/vault/wiki/concepts/harness-engineering-first-principles.md +90 -0
- package/vault/wiki/concepts/harness-h-formalism.md +53 -0
- package/vault/wiki/concepts/hybrid-code-search.md +61 -0
- package/vault/wiki/concepts/inline-post-edit-validation.md +112 -0
- package/vault/wiki/concepts/legendary-engineering-patterns-harness.md +110 -0
- package/vault/wiki/concepts/lifecycle-hooks.md +94 -0
- package/vault/wiki/concepts/mcp-tool-routing.md +102 -0
- package/vault/wiki/concepts/memory-system-of-record-vs-ephemeral-cache.md +47 -0
- package/vault/wiki/concepts/meta-agent-context-pruning.md +151 -0
- package/vault/wiki/concepts/model-adaptive-harness.md +122 -0
- package/vault/wiki/concepts/model-routing-agents.md +101 -0
- package/vault/wiki/concepts/monorepo-architecture.md +45 -0
- package/vault/wiki/concepts/multi-agent-specialization.md +61 -0
- package/vault/wiki/concepts/permission-subsystem.md +16 -0
- package/vault/wiki/concepts/pi-messenger-analysis.md +243 -0
- package/vault/wiki/concepts/pi-vscode-extension-landscape.md +37 -0
- package/vault/wiki/concepts/policy-engine-pattern.md +78 -0
- package/vault/wiki/concepts/progressive-disclosure-agents.md +53 -0
- package/vault/wiki/concepts/progressive-skill-disclosure.md +17 -0
- package/vault/wiki/concepts/provider-native-prompting.md +203 -0
- package/vault/wiki/concepts/quality-signal-sentrux.md +37 -0
- package/vault/wiki/concepts/repo-map-ranking.md +42 -0
- package/vault/wiki/concepts/result-monad-error-handling.md +47 -0
- package/vault/wiki/concepts/safety-defense-in-depth.md +83 -0
- package/vault/wiki/concepts/sandbox-os-enforcement.md +18 -0
- package/vault/wiki/concepts/selective-debate-routing.md +70 -0
- package/vault/wiki/concepts/self-evolving-harness.md +60 -0
- package/vault/wiki/concepts/sentrux-mcp-integration.md +36 -0
- package/vault/wiki/concepts/sentrux-rules-engine.md +49 -0
- package/vault/wiki/concepts/shell-pattern-compression.md +24 -0
- package/vault/wiki/concepts/skill-first-architecture.md +166 -0
- package/vault/wiki/concepts/structured-compaction.md +78 -0
- package/vault/wiki/concepts/subagent-orchestration.md +17 -0
- package/vault/wiki/concepts/subagent-worktree-isolation.md +68 -0
- package/vault/wiki/concepts/superpowers-methodology.md +78 -0
- package/vault/wiki/concepts/think-in-code.md +73 -0
- package/vault/wiki/concepts/ts-execution-layer.md +100 -0
- package/vault/wiki/concepts/typescript-strict-mode.md +37 -0
- package/vault/wiki/concepts/vcc-conversation-compaction-for-pi.md +51 -0
- package/vault/wiki/concepts/verification-drift-detection.md +19 -0
- package/vault/wiki/consensus/consensus-records.md +58 -0
- package/vault/wiki/decisions/2026-04-30-pi-lean-ctx-native.md +122 -0
- package/vault/wiki/decisions/adr-008.md +40 -0
- package/vault/wiki/decisions/adr-009.md +46 -0
- package/vault/wiki/decisions/adr-010.md +55 -0
- package/vault/wiki/decisions/adr-011.md +165 -0
- package/vault/wiki/decisions/adr-012.md +102 -0
- package/vault/wiki/decisions/adr-013.md +59 -0
- package/vault/wiki/decisions/adr-014.md +73 -0
- package/vault/wiki/decisions/adr-015.md +81 -0
- package/vault/wiki/decisions/adr-016.md +91 -0
- package/vault/wiki/decisions/adr-017.md +79 -0
- package/vault/wiki/decisions/adr-018.md +100 -0
- package/vault/wiki/decisions/adr-019.md +75 -0
- package/vault/wiki/decisions/adr-020.md +106 -0
- package/vault/wiki/decisions/adr-021.md +86 -0
- package/vault/wiki/decisions/adr-022.md +113 -0
- package/vault/wiki/decisions/adr-023.md +113 -0
- package/vault/wiki/decisions/adr-024.md +73 -0
- package/vault/wiki/decisions/adr-025.md +130 -0
- package/vault/wiki/decisions/adr-026.md +56 -0
- package/vault/wiki/decisions/colocate-wiki.md +34 -0
- package/vault/wiki/entities/Anders Hejlsberg.md +29 -0
- package/vault/wiki/entities/Anthropic.md +17 -0
- package/vault/wiki/entities/Augment Code.md +49 -0
- package/vault/wiki/entities/Bjarne Stroustrup.md +26 -0
- package/vault/wiki/entities/Bolt.new (StackBlitz).md +39 -0
- package/vault/wiki/entities/Boris Cherny.md +11 -0
- package/vault/wiki/entities/Claude Code.md +19 -0
- package/vault/wiki/entities/Dennis Ritchie.md +26 -0
- package/vault/wiki/entities/Emergent Labs.md +32 -0
- package/vault/wiki/entities/Google Cloud.md +16 -0
- package/vault/wiki/entities/Guido van Rossum.md +28 -0
- package/vault/wiki/entities/Ken Thompson.md +28 -0
- package/vault/wiki/entities/Lee et al.md +16 -0
- package/vault/wiki/entities/Linus Torvalds.md +28 -0
- package/vault/wiki/entities/Lovable (company).md +40 -0
- package/vault/wiki/entities/Martin Fowler.md +16 -0
- package/vault/wiki/entities/Meng et al.md +16 -0
- package/vault/wiki/entities/OpenAI.md +16 -0
- package/vault/wiki/entities/Rocket.new.md +38 -0
- package/vault/wiki/entities/VILA-Lab.md +15 -0
- package/vault/wiki/entities/autodev-codebase.md +18 -0
- package/vault/wiki/entities/ck-tool.md +59 -0
- package/vault/wiki/entities/codesearch.md +18 -0
- package/vault/wiki/entities/disler-indydevdan.md +33 -0
- package/vault/wiki/entities/gsd-get-shit-done.md +56 -0
- package/vault/wiki/entities/javascript-runtimes.md +48 -0
- package/vault/wiki/entities/jesse-vincent.md +38 -0
- package/vault/wiki/entities/lean-ctx.md +32 -0
- package/vault/wiki/entities/opendev.md +41 -0
- package/vault/wiki/entities/ops-codegraph-tool.md +18 -0
- package/vault/wiki/entities/pi-coding-agent.md +53 -0
- package/vault/wiki/entities/sentrux.md +54 -0
- package/vault/wiki/entities/vgrep-tool.md +57 -0
- package/vault/wiki/entities/vitest.md +41 -0
- package/vault/wiki/flows/harness-wiki-pipeline.md +204 -0
- package/vault/wiki/hot.md +932 -0
- package/vault/wiki/index.md +437 -0
- package/vault/wiki/log.md +418 -0
- package/vault/wiki/meta/dashboard.md +30 -0
- package/vault/wiki/meta/lint-report-2026-04-30.md +86 -0
- package/vault/wiki/meta/lint-report-2026-05-02.md +251 -0
- package/vault/wiki/meta/overview.canvas +43 -0
- package/vault/wiki/modules/adversarial-verification.md +57 -0
- package/vault/wiki/modules/automated-observability.md +54 -0
- package/vault/wiki/modules/bench.md +20 -0
- package/vault/wiki/modules/extensions.md +23 -0
- package/vault/wiki/modules/grounding-checkpoints.md +62 -0
- package/vault/wiki/modules/harness-implementation-plan.md +345 -0
- package/vault/wiki/modules/harness-wiki-skill-mapping.md +135 -0
- package/vault/wiki/modules/harness.md +86 -0
- package/vault/wiki/modules/persistent-memory.md +85 -0
- package/vault/wiki/modules/schema-orchestration.md +68 -0
- package/vault/wiki/modules/skills.md +27 -0
- package/vault/wiki/modules/spec-hardening.md +58 -0
- package/vault/wiki/modules/structured-planning.md +53 -0
- package/vault/wiki/modules/think-in-code-enforcement.md +153 -0
- package/vault/wiki/modules/wiki-query-interface.md +64 -0
- package/vault/wiki/overview.md +51 -0
- package/vault/wiki/questions/Research-pi-vs-claude-code-agentic-orchestration-pipeline.md +87 -0
- package/vault/wiki/questions/Research-sentrux-dev.md +123 -0
- package/vault/wiki/questions/Research-superpowers-skill-for-agentic-coding-agents.md +164 -0
- package/vault/wiki/questions/Research: Augment Code Context Engine.md +244 -0
- package/vault/wiki/questions/Research: Automating Software Engineering - Lovable, Bolt, Emergent, Rocket.md +112 -0
- package/vault/wiki/questions/Research: Claude Code State-of-the-Art Harness Improvements.md +209 -0
- package/vault/wiki/questions/Research: Codex State-of-the-Art Harness Improvements.md +99 -0
- package/vault/wiki/questions/Research: Engineering Workflows of Legendary Programmers and AI Harness Mapping.md +107 -0
- package/vault/wiki/questions/Research: Fallow Codebase Intelligence Harness Integration.md +72 -0
- package/vault/wiki/questions/Research: Gemini CLI SOTA Harness Integration.md +166 -0
- package/vault/wiki/questions/Research: GitHub Issues as Harness Spec Storage.md +188 -0
- package/vault/wiki/questions/Research: Google Antigravity Harness Integration.md +120 -0
- package/vault/wiki/questions/Research: Meta-Agent Context Drift Detection.md +236 -0
- package/vault/wiki/questions/Research: Model-Adaptive Agent Harness Design.md +95 -0
- package/vault/wiki/questions/Research: Model-Specific Prompting Guides.md +165 -0
- package/vault/wiki/questions/Research: Prompt Renderer for Multi-Model Agent Harness.md +216 -0
- package/vault/wiki/questions/Research: Skill-First Harness Architecture.md +91 -0
- package/vault/wiki/questions/Research: TypeScript Best Practices and Codebase Structure.md +88 -0
- package/vault/wiki/questions/Research: TypeScript Execution Layer for Agent Tool Calling.md +81 -0
- package/vault/wiki/questions/Research: claude-mem over Obsidian for Harness Layer.md +71 -0
- package/vault/wiki/questions/Research: claude-mem over obsidian wiki as the knowledge base for our agentic harness pipeline. think from first principles. does this replace or complement our current setup? no hard feelings about previous decisions. gimme accurate points.md +80 -0
- package/vault/wiki/questions/Research: context-mode vs lean-ctx.md +72 -0
- package/vault/wiki/questions/Research: cursor.sh Harness Innovations.md +92 -0
- package/vault/wiki/questions/Research: executor.sh Harness Integration.md +170 -0
- package/vault/wiki/questions/Research: how GSD fits into our coding harness setup.md +97 -0
- package/vault/wiki/questions/Research: how claude-mem fits into our workflow. and whether it should replace obsidian in the codebase. no hard feelings about previous actions, rethink from first principles always.md +80 -0
- package/vault/wiki/questions/Research: pi-vcc.md +113 -0
- package/vault/wiki/questions/Research: semantic code search tools.md +69 -0
- package/vault/wiki/questions/Research: vcc extension for pi coding agent.md +73 -0
- package/vault/wiki/questions/how-to-enable-semantic-code-search-now.md +111 -0
- package/vault/wiki/questions/mvp-implementation-blueprint.md +552 -0
- package/vault/wiki/questions/research-agent-first-codebase-exploration.md +199 -0
- package/vault/wiki/questions/research-agentic-coding-harness-latest-papers.md +142 -0
- package/vault/wiki/questions/research-gitingest-gitreverse-integration.md +100 -0
- package/vault/wiki/questions/research-wozcode-token-reduction.md +67 -0
- package/vault/wiki/questions/resolved-context-pruning-inplace-vs-restart.md +95 -0
- package/vault/wiki/questions/resolved-context-window-economics.md +167 -0
- package/vault/wiki/questions/resolved-imad-debate-gating-transfer.md +126 -0
- package/vault/wiki/questions/resolved-mcp-tool-preference.md +112 -0
- package/vault/wiki/questions/resolved-small-model-meta-agents.md +107 -0
- package/vault/wiki/questions/resolved-treesitter-dynamic-languages.md +95 -0
- package/vault/wiki/sources/Auggie Context MCP Server.md +63 -0
- package/vault/wiki/sources/Augment Code Codacy AI Giants.md +61 -0
- package/vault/wiki/sources/Augment Code MCP SiliconAngle.md +49 -0
- package/vault/wiki/sources/Augment Code WorkOS ERC 2025.md +55 -0
- package/vault/wiki/sources/Augment Context Engine Official.md +71 -0
- package/vault/wiki/sources/Augment SWE-bench Agent GitHub.md +74 -0
- package/vault/wiki/sources/Augment SWE-bench Pro Blog.md +58 -0
- package/vault/wiki/sources/Source: AgentBus Jinja2 Prompt Pipelines.md +75 -0
- package/vault/wiki/sources/Source: Arxiv /342/200/224 Don't Break the Cache.md" +85 -0
- package/vault/wiki/sources/Source: Augment - Harness Engineering for AI Coding Agents.md +58 -0
- package/vault/wiki/sources/Source: Blake Crosley Agent Architecture Guide.md +100 -0
- package/vault/wiki/sources/Source: Bolt.new Architecture & Case Study.md +75 -0
- package/vault/wiki/sources/Source: Build-Time Prompt Compilation Architecture.md +107 -0
- package/vault/wiki/sources/Source: Claude API Agent Skills Overview.md +70 -0
- package/vault/wiki/sources/Source: Gemini CLI Changelogs.md +88 -0
- package/vault/wiki/sources/Source: Google Blog - Gemini CLI Announcement.md +57 -0
- package/vault/wiki/sources/Source: Google Gemini CLI Architecture Docs.md +53 -0
- package/vault/wiki/sources/Source: LangChain - Anatomy of Agent Harness.md +65 -0
- package/vault/wiki/sources/Source: Lovable Architecture & Clone Analysis.md +83 -0
- package/vault/wiki/sources/Source: Martin Fowler - Harness Engineering.md +70 -0
- package/vault/wiki/sources/Source: OpenAI Harness Engineering Five Principles.md +58 -0
- package/vault/wiki/sources/Source: OpenAI Harness Engineering /342/200/224 0 Lines of Human Code.md" +101 -0
- package/vault/wiki/sources/Source: OpenDev /342/200/224 Building AI Coding Agents for the Terminal.md" +100 -0
- package/vault/wiki/sources/Source: Render AI Coding Agents Benchmark 2025.md +53 -0
- package/vault/wiki/sources/Source: Rocket.new /342/200/224 Vibe Solutioning Platform.md" +70 -0
- package/vault/wiki/sources/Source: SwirlAI Agent Skills Progressive Disclosure.md +71 -0
- package/vault/wiki/sources/Source: TianPan Prompt Caching Architecture.md +89 -0
- package/vault/wiki/sources/Source: Vercel Labs agent-browser.md +155 -0
- package/vault/wiki/sources/Source: browser-harness CDP Harness.md +126 -0
- package/vault/wiki/sources/agent-drift-academic-paper.md +79 -0
- package/vault/wiki/sources/aider-repomap-tree-sitter.md +42 -0
- package/vault/wiki/sources/anthropic-compaction-api.md +58 -0
- package/vault/wiki/sources/anthropic-effective-harnesses.md +42 -0
- package/vault/wiki/sources/anthropic-prompt-best-practices.md +100 -0
- package/vault/wiki/sources/anthropic2026-harness-design.md +63 -0
- package/vault/wiki/sources/barrel-files-tkdodo.md +38 -0
- package/vault/wiki/sources/birth-of-unix-kernighan-interview.md +57 -0
- package/vault/wiki/sources/bockeler2026-harness-engineering.md +69 -0
- package/vault/wiki/sources/cast-code-chunking-paper.md +50 -0
- package/vault/wiki/sources/ck-semantic-search.md +78 -0
- package/vault/wiki/sources/claude-code-architecture-karaxai-2026.md +71 -0
- package/vault/wiki/sources/claude-code-architecture-qubytes-2026.md +50 -0
- package/vault/wiki/sources/claude-code-architecture-vila-lab-2026.md +64 -0
- package/vault/wiki/sources/claude-code-security-architecture-penligent-2026.md +70 -0
- package/vault/wiki/sources/claude-context-editing-docs.md +13 -0
- package/vault/wiki/sources/cloudflare-codemode.md +63 -0
- package/vault/wiki/sources/code-chunk-library-supermemory.md +63 -0
- package/vault/wiki/sources/codeact-apple-2024.md +62 -0
- package/vault/wiki/sources/codex-dsc-rfc-8573.md +41 -0
- package/vault/wiki/sources/codex-open-source-agent-2026.md +110 -0
- package/vault/wiki/sources/coir-code-retrieval-benchmark.md +51 -0
- package/vault/wiki/sources/colinmcnamara-context-optimization-codemode.md +48 -0
- package/vault/wiki/sources/context-folding-paper.md +61 -0
- package/vault/wiki/sources/context-mode-website.md +63 -0
- package/vault/wiki/sources/cursor-agent-best-practices-2026.md +62 -0
- package/vault/wiki/sources/cursor-fork-29b-2025.md +50 -0
- package/vault/wiki/sources/cursor-harness-april-2026.md +76 -0
- package/vault/wiki/sources/cursor-instant-apply-2024.md +45 -0
- package/vault/wiki/sources/cursor-shadow-workspace-2024.md +52 -0
- package/vault/wiki/sources/cursor-shipped-coding-agent-2026.md +53 -0
- package/vault/wiki/sources/cursor-vs-antigravity-2026.md +51 -0
- package/vault/wiki/sources/disler-pi-vs-claude-code.md +69 -0
- package/vault/wiki/sources/distill-deterministic-context-compression.md +53 -0
- package/vault/wiki/sources/embedding-models-benchmark-supermemory-2025.md +48 -0
- package/vault/wiki/sources/executor-rhyssullivan.md +122 -0
- package/vault/wiki/sources/fallow-rs-codebase-intelligence.md +125 -0
- package/vault/wiki/sources/fan2025-imad.md +60 -0
- package/vault/wiki/sources/forgecode-gpt5-agent-improvements.md +63 -0
- package/vault/wiki/sources/gemini-3-prompting-guide.md +78 -0
- package/vault/wiki/sources/gh-cli-sub-issue-rfc.md +50 -0
- package/vault/wiki/sources/gh-sub-issue-extension.md +72 -0
- package/vault/wiki/sources/github-fork-issues-discussion.md +44 -0
- package/vault/wiki/sources/github-issue-dependencies-docs.md +49 -0
- package/vault/wiki/sources/github-sub-issues-docs.md +51 -0
- package/vault/wiki/sources/gitingest.md +91 -0
- package/vault/wiki/sources/gitreverse.md +63 -0
- package/vault/wiki/sources/google-antigravity-official-blog.md +47 -0
- package/vault/wiki/sources/google-antigravity-wikipedia.md +53 -0
- package/vault/wiki/sources/gsd-codecentric-deep-dive.md +57 -0
- package/vault/wiki/sources/gsd-github-repo.md +51 -0
- package/vault/wiki/sources/gsd-hn-discussion.md +59 -0
- package/vault/wiki/sources/guido-python-design-philosophy.md +56 -0
- package/vault/wiki/sources/hejlsberg-7-learnings.md +48 -0
- package/vault/wiki/sources/ironclaw-drift-monitor.md +80 -0
- package/vault/wiki/sources/langsight-loop-detection.md +80 -0
- package/vault/wiki/sources/leanctx-website.md +69 -0
- package/vault/wiki/sources/lee2026-meta-harness.md +59 -0
- package/vault/wiki/sources/linux-kernel-coding-workflow.md +50 -0
- package/vault/wiki/sources/lou2026-autoharness.md +53 -0
- package/vault/wiki/sources/martin-fowler-harness-engineering.md +73 -0
- package/vault/wiki/sources/mcp-architecture-docs.md +13 -0
- package/vault/wiki/sources/meng2026-agent-harness-survey.md +79 -0
- package/vault/wiki/sources/mindstudio-four-agent-types.md +68 -0
- package/vault/wiki/sources/ms-chat-history-management.md +13 -0
- package/vault/wiki/sources/openai-prompt-guidance.md +104 -0
- package/vault/wiki/sources/openclaw-session-pruning.md +13 -0
- package/vault/wiki/sources/opencode-dcp.md +13 -0
- package/vault/wiki/sources/opendev-arxiv-2603.05344v1.md +79 -0
- package/vault/wiki/sources/openhands-platform.md +39 -0
- package/vault/wiki/sources/oss-guide-codebase-exploration.md +53 -0
- package/vault/wiki/sources/pi-compaction-extensions-ecosystem.md +102 -0
- package/vault/wiki/sources/pi-context-prune-github-repo.md +38 -0
- package/vault/wiki/sources/pi-mono-compaction-docs.md +38 -0
- package/vault/wiki/sources/pi-omni-compact-github-repo.md +50 -0
- package/vault/wiki/sources/pi-rtk-optimizer-github-repo.md +45 -0
- package/vault/wiki/sources/pi-vcc-github-repo.md +69 -0
- package/vault/wiki/sources/pi-vscode-marketplace.md +41 -0
- package/vault/wiki/sources/pi-vscode-model-provider-marketplace.md +39 -0
- package/vault/wiki/sources/py-tree-sitter.md +13 -0
- package/vault/wiki/sources/sentrux-dev-landing.md +40 -0
- package/vault/wiki/sources/sentrux-docs-pro-architecture.md +75 -0
- package/vault/wiki/sources/sentrux-docs-quality-signal.md +46 -0
- package/vault/wiki/sources/sentrux-docs-root-cause-metrics.md +57 -0
- package/vault/wiki/sources/sentrux-docs-rules-engine.md +58 -0
- package/vault/wiki/sources/sentrux-github-repo.md +56 -0
- package/vault/wiki/sources/superpowers-github-repo.md +56 -0
- package/vault/wiki/sources/superpowers-release-blog.md +54 -0
- package/vault/wiki/sources/superpowers-termdock-analysis.md +45 -0
- package/vault/wiki/sources/swe-agent-aci.md +42 -0
- package/vault/wiki/sources/swe-bench.md +45 -0
- package/vault/wiki/sources/swe-pruner-context-pruning.md +13 -0
- package/vault/wiki/sources/think-in-code-blog.md +48 -0
- package/vault/wiki/sources/tree-sitter-docs.md +13 -0
- package/vault/wiki/sources/ts-best-practices-2025-devto.md +42 -0
- package/vault/wiki/sources/ts-folder-structure-mingyang.md +58 -0
- package/vault/wiki/sources/ts-monorepo-koerselman.md +44 -0
- package/vault/wiki/sources/ts-result-error-handling-kkalamarski.md +52 -0
- package/vault/wiki/sources/ts-runtimes-comparison-betterstack.md +42 -0
- package/vault/wiki/sources/ts-strict-mode-rishikc.md +43 -0
- package/vault/wiki/sources/unix-philosophy.md +48 -0
- package/vault/wiki/sources/vectara-chunking-vs-embedding-naacl2025.md +39 -0
- package/vault/wiki/sources/vectara-guardian-agents.md +79 -0
- package/vault/wiki/sources/vgrep-semantic-search.md +76 -0
- package/vault/wiki/sources/vitest-official.md +41 -0
- package/vault/wiki/sources/vscode-pi-community-extension.md +40 -0
- package/vault/wiki/sources/wozcode.md +79 -0
- package/.agents/skills/compress/SKILL.md +0 -111
- package/.agents/skills/compress/scripts/__init__.py +0 -9
- package/.agents/skills/compress/scripts/__main__.py +0 -3
- package/.agents/skills/compress/scripts/benchmark.py +0 -78
- package/.agents/skills/compress/scripts/cli.py +0 -73
- package/.agents/skills/compress/scripts/compress.py +0 -227
- package/.agents/skills/compress/scripts/detect.py +0 -121
- package/.agents/skills/compress/scripts/validate.py +0 -189
- package/.agents/skills/emil-design-eng/SKILL.md +0 -679
- package/.agents/skills/lean-ctx/SKILL.md +0 -149
- package/.agents/skills/lean-ctx/scripts/install.sh +0 -95
- package/.agents/skills/scrapling-official/LICENSE.txt +0 -28
- package/.agents/skills/scrapling-official/SKILL.md +0 -390
- package/.agents/skills/scrapling-official/examples/01_fetcher_session.py +0 -26
- package/.agents/skills/scrapling-official/examples/02_dynamic_session.py +0 -26
- package/.agents/skills/scrapling-official/examples/03_stealthy_session.py +0 -26
- package/.agents/skills/scrapling-official/examples/04_spider.py +0 -58
- package/.agents/skills/scrapling-official/examples/README.md +0 -45
- package/.agents/skills/scrapling-official/references/fetching/choosing.md +0 -78
- package/.agents/skills/scrapling-official/references/fetching/dynamic.md +0 -352
- package/.agents/skills/scrapling-official/references/fetching/static.md +0 -432
- package/.agents/skills/scrapling-official/references/fetching/stealthy.md +0 -255
- package/.agents/skills/scrapling-official/references/mcp-server.md +0 -214
- package/.agents/skills/scrapling-official/references/migrating_from_beautifulsoup.md +0 -86
- package/.agents/skills/scrapling-official/references/parsing/adaptive.md +0 -212
- package/.agents/skills/scrapling-official/references/parsing/main_classes.md +0 -586
- package/.agents/skills/scrapling-official/references/parsing/selection.md +0 -494
- package/.agents/skills/scrapling-official/references/spiders/advanced.md +0 -344
- package/.agents/skills/scrapling-official/references/spiders/architecture.md +0 -94
- package/.agents/skills/scrapling-official/references/spiders/getting-started.md +0 -164
- package/.agents/skills/scrapling-official/references/spiders/proxy-blocking.md +0 -235
- package/.agents/skills/scrapling-official/references/spiders/requests-responses.md +0 -196
- package/.agents/skills/scrapling-official/references/spiders/sessions.md +0 -205
- package/PLAN.md +0 -11
- package/extensions/lean-ctx-enforce.ts +0 -166
- package/skills-lock.json +0 -35
- package/wiki/README.md +0 -19
- package/wiki/decisions/0001-establish-project-wiki-and-decision-record-format.md +0 -25
- package/wiki/decisions/0002-add-project-banner-to-readme.md +0 -26
- package/wiki/decisions/0003-remove-redundant-readme-title-heading.md +0 -26
- package/wiki/decisions/0004-publish-package-to-npm-as-ultimate-pi.md +0 -26
- package/wiki/decisions/0005-automate-npm-publish-with-github-actions.md +0 -27
- package/wiki/decisions/0006-switch-to-npm-trusted-publishing.md +0 -26
- package/wiki/decisions/0007-use-absolute-banner-url-for-npm-readme-rendering.md +0 -26
- package/wiki/decisions/0008-rename-banner-asset-for-cache-busting.md +0 -26
- package/wiki/decisions/0009-force-oidc-path-by-clearing-node-auth-token-in-publish-step.md +0 -25
- package/wiki/decisions/0010-simplify-setup-node-for-npm-trusted-publishing.md +0 -26
- package/wiki/decisions/0011-add-noop-workflow-change-to-force-fresh-publish-run.md +0 -25
- package/wiki/decisions/0012-align-workflow-runtime-with-npm-trusted-publishing-requirements.md +0 -26
- package/wiki/decisions/0013-add-package-repository-url-for-provenance-validation.md +0 -25
package/.pi/settings.json
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
"defaultProvider": "router",
|
|
3
|
+
"defaultModel": "auto",
|
|
4
|
+
"retry": {
|
|
5
|
+
"enabled": true,
|
|
6
|
+
"maxRetries": 3
|
|
7
|
+
},
|
|
8
|
+
"packages": [
|
|
9
|
+
"..",
|
|
10
|
+
"npm:@posthog/pi",
|
|
11
|
+
"npm:pi-lean-ctx",
|
|
12
|
+
"npm:@tintinweb/pi-subagents",
|
|
13
|
+
"npm:@yeliu84/pi-model-router"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-router
|
|
3
|
+
description: >
|
|
4
|
+
Dynamic agent discovery, matching, and delegation. Discovers all available agents
|
|
5
|
+
at runtime, reads their frontmatter to understand capabilities, matches tasks to
|
|
6
|
+
the right specialist, and routes via the Agent tool. Use when the user needs
|
|
7
|
+
delegation, asks which agent can help, wants parallel dispatch, or says
|
|
8
|
+
"delegate this", "find an agent for", "route to", "dispatch", "which agent".
|
|
9
|
+
allowed-tools: Read Glob Find Bash
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# agent-router: Dynamic Agent Discovery & Routing
|
|
13
|
+
|
|
14
|
+
You don't memorize agent lists. You discover them live, read their capabilities,
|
|
15
|
+
and route tasks to the right specialists.
|
|
16
|
+
|
|
17
|
+
## Why Dynamic Discovery
|
|
18
|
+
|
|
19
|
+
Agent definitions live in two locations (project and global). They change over
|
|
20
|
+
time. New agents get added. Default agents get overridden. A static list in
|
|
21
|
+
SYSTEM.md rots. Dynamic discovery tells you what's actually available right now.
|
|
22
|
+
|
|
23
|
+
## Discovery
|
|
24
|
+
|
|
25
|
+
### Step 1 — List All Available Agents
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
find .pi/agents -name '*.md' -type f 2>/dev/null
|
|
29
|
+
find ~/.pi/agent/agents -name '*.md' -type f 2>/dev/null
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Project agents (`.pi/agents/`) override identically-named global ones. Default
|
|
33
|
+
agents (`Explore`, `Plan`, `general-purpose`) are always available even without
|
|
34
|
+
files here.
|
|
35
|
+
|
|
36
|
+
### Step 2 — Parse Agent Frontmatter
|
|
37
|
+
|
|
38
|
+
For each candidate agent, read the file and extract:
|
|
39
|
+
|
|
40
|
+
| Field | Extract this |
|
|
41
|
+
|-------|-------------|
|
|
42
|
+
| `description` | What the agent does, when to use it |
|
|
43
|
+
| `tools` | Available built-in tools |
|
|
44
|
+
| `thinking` | Reasoning depth: `off`, `low`, `medium`, `high`, `xhigh` |
|
|
45
|
+
| `max_turns` | Turn limit (0 = unlimited) |
|
|
46
|
+
| `model` | Model override if specified |
|
|
47
|
+
| `isolation` | `worktree` if isolated git execution |
|
|
48
|
+
|
|
49
|
+
> [!info] Subdirectory agents
|
|
50
|
+
> Agents in `.pi/agents/<team>/<name>.md` are referenced as `<team>/<name>`.
|
|
51
|
+
> Example: `pi-pi/agent-expert` lives at `.pi/agents/pi-pi/agent-expert.md`.
|
|
52
|
+
|
|
53
|
+
### Step 3 — Cache Discovery Results
|
|
54
|
+
|
|
55
|
+
After discovery, summarize available agents for the current session. No need
|
|
56
|
+
to re-read frontmatter for already-profiled agents.
|
|
57
|
+
|
|
58
|
+
## Matching Tasks to Agents
|
|
59
|
+
|
|
60
|
+
### Direct Match — Keyword Triggers
|
|
61
|
+
|
|
62
|
+
| User says | Look for agent with |
|
|
63
|
+
|-----------|-------------------|
|
|
64
|
+
| Explicit agent name | Match directly |
|
|
65
|
+
| "build a skill" / "create skill" | Skill-related keywords in description |
|
|
66
|
+
| "create an agent" | Agent-related keywords in description |
|
|
67
|
+
| "Pi extension" / "Pi theme" | Pi component domain keywords |
|
|
68
|
+
| "rethink" / "first principles" | Prioritization keywords |
|
|
69
|
+
| "ingest to wiki" | Wiki ingestion keywords |
|
|
70
|
+
| "lint the wiki" | Wiki lint keywords |
|
|
71
|
+
|
|
72
|
+
### Fuzzy Match — Semantic Fit
|
|
73
|
+
|
|
74
|
+
When no direct keyword match:
|
|
75
|
+
|
|
76
|
+
1. Read the task description carefully.
|
|
77
|
+
2. Compare against each agent's `description` field.
|
|
78
|
+
3. Pick the agent whose description most closely matches the task domain.
|
|
79
|
+
4. If uncertain, read the agent's full prompt body for more context.
|
|
80
|
+
5. If nothing fits, use `general-purpose`.
|
|
81
|
+
|
|
82
|
+
### Orchestrator Pattern
|
|
83
|
+
|
|
84
|
+
Some agents are meta-agents that coordinate teams. When an orchestrator agent
|
|
85
|
+
exists for a domain (e.g., `pi-pi/pi-orchestrator`), route domain tasks to
|
|
86
|
+
the orchestrator — not individual experts. The orchestrator knows how to
|
|
87
|
+
dispatch its team members in parallel.
|
|
88
|
+
|
|
89
|
+
To identify orchestrators: look for agents whose descriptions mention
|
|
90
|
+
"coordinates", "dispatches", "orchestrates", "meta-agent", or whose tools
|
|
91
|
+
include `Agent`.
|
|
92
|
+
|
|
93
|
+
## Routing
|
|
94
|
+
|
|
95
|
+
### Dispatch
|
|
96
|
+
|
|
97
|
+
Use the `Agent` tool:
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
Agent({
|
|
101
|
+
subagent_type: "<team>/<name>",
|
|
102
|
+
prompt: "<specific, scoped task description>",
|
|
103
|
+
run_in_background: true, // for parallel dispatch
|
|
104
|
+
inherit_context: false, // fresh context by default
|
|
105
|
+
})
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Parallel Dispatch
|
|
109
|
+
|
|
110
|
+
When a task touches multiple domains:
|
|
111
|
+
1. Identify all relevant agents.
|
|
112
|
+
2. Dispatch all of them with `run_in_background: true`.
|
|
113
|
+
3. Collect results with `get_subagent_result`.
|
|
114
|
+
4. Synthesize findings.
|
|
115
|
+
|
|
116
|
+
### Sequential Pipelines
|
|
117
|
+
|
|
118
|
+
When one agent's output feeds another:
|
|
119
|
+
1. Dispatch first agent (foreground or background).
|
|
120
|
+
2. Collect result.
|
|
121
|
+
3. Feed result into second agent's prompt.
|
|
122
|
+
4. Continue until pipeline completes.
|
|
123
|
+
|
|
124
|
+
### Collecting Results
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
get_subagent_result({ agent_id: "<id>", wait: true })
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Summarize agent findings for the user. Don't dump raw output — extract
|
|
131
|
+
key decisions, actionable outputs, and surprises.
|
|
132
|
+
|
|
133
|
+
## Delegation Rules
|
|
134
|
+
|
|
135
|
+
1. **Agents are for multi-turn, tool-using workflows.** For single-step template
|
|
136
|
+
expansion (static prompt + argument substitution), use a prompt template instead.
|
|
137
|
+
2. **One job per agent.** If the task needs "and" in the description, split into
|
|
138
|
+
separate dispatches.
|
|
139
|
+
3. **Match tools + thinking to task difficulty.** A file-lookup task doesn't need
|
|
140
|
+
`bash` + `medium` thinking. A novel architecture decision needs `high`.
|
|
141
|
+
4. **Parallelize by default.** When multiple domains are relevant, dispatch all
|
|
142
|
+
agents simultaneously. Serial dispatch wastes wall-clock time.
|
|
143
|
+
5. **Experts research, orchestrators build.** Don't ask a domain expert to write
|
|
144
|
+
files if an orchestrator exists for that domain.
|
|
145
|
+
6. **Always read frontmatter before dispatching.** Don't assume an agent's
|
|
146
|
+
capabilities from its name alone.
|
|
147
|
+
7. **If no agent fits, fall back to `general-purpose`.** Then consider whether
|
|
148
|
+
a new agent should be created for the missing capability.
|
|
149
|
+
|
|
150
|
+
## Discovery Example
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Find all agents
|
|
154
|
+
$ find .pi/agents -name '*.md' -type f
|
|
155
|
+
|
|
156
|
+
# Sample output:
|
|
157
|
+
# .pi/agents/pi-pi/pi-orchestrator.md
|
|
158
|
+
# .pi/agents/pi-pi/agent-expert.md
|
|
159
|
+
# .pi/agents/pi-pi/skill-expert.md
|
|
160
|
+
# .pi/agents/rethink.md
|
|
161
|
+
# .pi/agents/wiki-ingest.md
|
|
162
|
+
# .pi/agents/wiki-lint.md
|
|
163
|
+
|
|
164
|
+
# Then read each to understand capabilities
|
|
165
|
+
# Then match user task to the right agent(s)
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Guardrails
|
|
169
|
+
|
|
170
|
+
- Do not hardcode agent lists. Always discover dynamically.
|
|
171
|
+
- Do not dispatch an agent you haven't read the frontmatter for.
|
|
172
|
+
- Do not use an agent when a prompt template suffices.
|
|
173
|
+
- If discovery returns nothing, use default agents (`Explore`, `Plan`, `general-purpose`).
|
|
174
|
+
- Report routing decisions: which agent(s) dispatched, why, what to expect.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"themeName": "ultimate-pi-custom",
|
|
3
|
+
"randomizeSounds": true,
|
|
4
|
+
"sounds": {
|
|
5
|
+
"success": [
|
|
6
|
+
"success/1-tada-track.mp3",
|
|
7
|
+
"success/2-jobs-done-track.mp3",
|
|
8
|
+
"success/3-yay-track.mp3"
|
|
9
|
+
],
|
|
10
|
+
"error": [
|
|
11
|
+
"error/1-ksi-wth-track.mp3",
|
|
12
|
+
"error/2-smash-track.mp3",
|
|
13
|
+
"error/3-buzzer-track.mp3"
|
|
14
|
+
],
|
|
15
|
+
"alert": [
|
|
16
|
+
"alert/1-kaching-track.mp3"
|
|
17
|
+
],
|
|
18
|
+
"notification": [
|
|
19
|
+
"notification/1-soft-notification-track.mp3"
|
|
20
|
+
],
|
|
21
|
+
"reminder": [
|
|
22
|
+
"reminder/1-soft-notification-track.mp3"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Contributing to ultimate-pi
|
|
2
|
+
|
|
3
|
+
## Local development setup
|
|
4
|
+
|
|
5
|
+
1. Clone and install dependencies:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
git clone https://github.com/aryaniyaps/ultimate-pi.git
|
|
9
|
+
cd ultimate-pi
|
|
10
|
+
npm install
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
`npm install` automatically sets up pre-commit hooks via [Lefthook](https://github.com/evilmartians/lefthook).
|
|
14
|
+
|
|
15
|
+
2. Install the package locally into PI:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pi install . -l
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Then restart PI or run `/reload`.
|
|
22
|
+
|
|
23
|
+
## Linting & formatting
|
|
24
|
+
|
|
25
|
+
Uses [Biome](https://biomejs.dev) for linting, formatting, and import sorting.
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm run lint # check lint + format errors
|
|
29
|
+
npm run lint:fix # auto-fix lint + format errors
|
|
30
|
+
npm run format # format all files
|
|
31
|
+
npm run format:check # check formatting without writing
|
|
32
|
+
npm run check:ts # typecheck extensions
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Pre-commit hooks run `biome check` and `tsc` on staged files automatically.
|
|
36
|
+
|
|
37
|
+
## Firecrawl (self-hosted web scraping)
|
|
38
|
+
|
|
39
|
+
The Firecrawl skill depends on a Firecrawl instance. This repo includes a self-hosted setup powered by Docker.
|
|
40
|
+
|
|
41
|
+
### Quick start
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
cd firecrawl
|
|
45
|
+
cp .env.template .env # first time only — edit if needed
|
|
46
|
+
docker compose up -d # pulls pre-built GHCR images automatically
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Firecrawl API is now at `http://localhost:3002`. Admin UI at `http://localhost:3002/admin/<BULL_AUTH_KEY>/queues`.
|
|
50
|
+
|
|
51
|
+
### Services
|
|
52
|
+
|
|
53
|
+
| Service | Image | Port |
|
|
54
|
+
|---------|-------|------|
|
|
55
|
+
| `api` | `ghcr.io/firecrawl/firecrawl` | 3002 |
|
|
56
|
+
| `playwright-service` | `ghcr.io/firecrawl/playwright-service:latest` | 3000 (internal) |
|
|
57
|
+
| `nuq-postgres` | `ghcr.io/firecrawl/nuq-postgres:latest` | 5432 (internal) |
|
|
58
|
+
| `redis` | `redis:alpine` | 6379 (internal) |
|
|
59
|
+
| `rabbitmq` | `rabbitmq:3-management` | 5672 (internal) |
|
|
60
|
+
| `searxng` | `searxng/searxng:latest` | 8080 |
|
|
61
|
+
|
|
62
|
+
### Configuration
|
|
63
|
+
|
|
64
|
+
All options live in `firecrawl/.env`. See `firecrawl/.env.template` for the full reference. Key env vars:
|
|
65
|
+
|
|
66
|
+
- `PORT` — API port (default: `3002`)
|
|
67
|
+
- `SEARXNG_ENDPOINT` — enables `/search` API (default: `http://searxng:8080`)
|
|
68
|
+
- `OPENAI_API_KEY` — enables AI features (JSON formatting, `/extract` API)
|
|
69
|
+
- `BULL_AUTH_KEY` — admin UI access key (default: `CHANGEME` — change in production)
|
|
70
|
+
|
|
71
|
+
See `firecrawl/README.md` for detailed docs and SDK usage examples.
|
|
72
|
+
|
|
73
|
+
## Extensions
|
|
74
|
+
|
|
75
|
+
### Dotenv loader
|
|
76
|
+
|
|
77
|
+
`.pi/extensions/dotenv-loader.ts` — loads `.env` files into `process.env` on session start.
|
|
78
|
+
|
|
79
|
+
Configurable via env vars (set before launching pi):
|
|
80
|
+
|
|
81
|
+
| Variable | Default | Description |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| `ENV_LOADER_FILES` | `.env` | Comma-separated list of `.env` file paths (relative to cwd). |
|
|
84
|
+
| `ENV_LOADER_OVERRIDE` | `false` | Set to `true` to overwrite existing env vars. |
|
|
85
|
+
| `ENV_LOADER_SILENT` | `false` | Set to `true` to suppress startup logs. |
|
|
86
|
+
| `ENV_LOADER_ENCODING` | `utf-8` | File encoding for `.env` files. |
|
|
87
|
+
|
|
88
|
+
- Supports variable expansion (`$VAR` and `${VAR}`).
|
|
89
|
+
- Reloads on `/reload`.
|
|
90
|
+
- Status command: `/env-loader-status`
|
|
91
|
+
|
|
92
|
+
### PostHog analytics
|
|
93
|
+
|
|
94
|
+
`@posthog/pi` — wraps the upstream [posthog-pi](https://github.com/PostHog/posthog-pi) extension to capture AI generation spans, tool spans, and traces in [PostHog](https://posthog.com). Install via `pi install @posthog/pi`. See the upstream repo for configuration and env vars.
|
|
95
|
+
|
|
96
|
+
## Skill sources
|
|
97
|
+
|
|
98
|
+
| Skill | Upstream |
|
|
99
|
+
|---|---|
|
|
100
|
+
| caveman | [juliusbrussee/caveman](https://github.com/juliusbrussee/caveman) |
|
|
101
|
+
| context7-cli | [upstash/context7](https://github.com/upstash/context7) |
|
|
102
|
+
| find-skills | bundled (context7-compatible discovery) |
|
|
103
|
+
| firecrawl (13 skills) | [firecrawl](https://firecrawl.dev) |
|
|
104
|
+
| obsidian/wiki skills (11 skills) | [AgriciDaniel/claude-obsidian](https://github.com/AgriciDaniel/claude-obsidian) |
|
|
105
|
+
| posthog-analyst | bundled (PostHog MCP integration) |
|
|
106
|
+
| defuddle | bundled (web content cleaning) |
|
|
107
|
+
|
|
108
|
+
### Firecrawl sub-skills
|
|
109
|
+
|
|
110
|
+
`firecrawl-search`, `firecrawl-scrape`, `firecrawl-crawl`, `firecrawl-map`, `firecrawl-download`, `firecrawl-parse`, `firecrawl-interact`, `firecrawl-agent`, `firecrawl-build-scrape`, `firecrawl-build-search`, `firecrawl-build-onboarding`, `firecrawl-build-interact`
|
|
111
|
+
|
|
112
|
+
### Wiki sub-skills
|
|
113
|
+
|
|
114
|
+
`wiki`, `wiki-save`, `wiki-query`, `wiki-ingest`, `wiki-lint`, `wiki-fold`, `autoresearch`, `canvas`, `obsidian-markdown`, `obsidian-bases`
|
|
115
|
+
|
|
116
|
+
> `lean-ctx` is installed as a separate pi package (`pi-lean-ctx`) — not bundled as a skill.
|
package/README.md
CHANGED
|
@@ -1,58 +1,51 @@
|
|
|
1
1
|

|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> The **ultimate AI coding harness** on top of [**pi.dev**](https://pi.dev).
|
|
4
4
|
|
|
5
5
|
## Goal
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
1.
|
|
9
|
-
2.
|
|
10
|
-
3.
|
|
7
|
+
A production-grade coding harness where the agent:
|
|
8
|
+
1. Uses compressed context before raw tool spam,
|
|
9
|
+
2. Stays concise and deterministic in output style,
|
|
10
|
+
3. Is easy to extend with skills and extensions.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
## Getting started
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
| compress | [juliusbrussee/caveman](https://github.com/juliusbrussee/caveman) | Compresses memory/context files into caveman format while preserving technical content. |
|
|
18
|
-
| lean-ctx | [yvgude/lean-ctx](https://github.com/yvgude/lean-ctx) | Context runtime and compression toolkit for reads/search/shell/edit flows. |
|
|
19
|
-
| context7-cli | [upstash/context7](https://github.com/upstash/context7) | Pulls current library docs and manages Context7 skills/config from CLI. |
|
|
20
|
-
| emil-design-eng | [emilkowalski/skill](https://github.com/emilkowalski/skill) | UI/design craftsmanship guidance: interaction polish, motion, and component quality. |
|
|
21
|
-
| scrapling-official | [D4Vinci/Scrapling](https://github.com/D4Vinci/Scrapling) | Official Scrapling skill for web extraction/scraping with adaptive parsing, JS rendering, stealth fetchers, and anti-bot handling. |
|
|
14
|
+
```bash
|
|
15
|
+
npm install -g ultimate-pi
|
|
16
|
+
```
|
|
22
17
|
|
|
23
|
-
|
|
18
|
+
From your project folder:
|
|
24
19
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
20
|
+
```bash
|
|
21
|
+
pi install ultimate-pi -l
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Then reload PI:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
/reload
|
|
28
|
+
```
|
|
32
29
|
|
|
33
|
-
|
|
30
|
+
Optional: install from GitHub Packages:
|
|
34
31
|
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
```bash
|
|
33
|
+
npm install -g @aryaniyaps/ultimate-pi --registry=https://npm.pkg.github.com
|
|
34
|
+
```
|
|
37
35
|
|
|
38
|
-
|
|
39
|
-
Reason: short, exact, low-noise outputs for coding loops.
|
|
36
|
+
## Bootstrap
|
|
40
37
|
|
|
41
|
-
|
|
42
|
-
Reason: prompt sets intent; extension guarantees behavior.
|
|
38
|
+
Run the harness setup prompt to configure everything (wiki, firecrawl, env vars, extensions):
|
|
43
39
|
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
```
|
|
41
|
+
/harness-setup
|
|
42
|
+
```
|
|
46
43
|
|
|
47
|
-
|
|
48
|
-
Reason: `compress` skill calls PI CLI, so provider/model can change per environment.
|
|
44
|
+
## Wiki
|
|
49
45
|
|
|
50
|
-
|
|
46
|
+
The harness includes an Obsidian wiki vault as its knowledge layer. Run `/wiki` in your PI session to scaffold it, then open the vault in [Obsidian](https://obsidian.md). Recommended community plugins: Dataview, Graph Analysis, Obsidian Git.
|
|
51
47
|
|
|
52
|
-
From repo root:
|
|
53
48
|
|
|
54
|
-
|
|
55
|
-
pi install . -l
|
|
56
|
-
```
|
|
49
|
+
## Contributing
|
|
57
50
|
|
|
58
|
-
|
|
51
|
+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for local development setup, linting, and extension config details.
|
package/biome.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.0.6/schema.json",
|
|
3
|
+
"vcs": {
|
|
4
|
+
"enabled": true,
|
|
5
|
+
"clientKind": "git",
|
|
6
|
+
"useIgnoreFile": true
|
|
7
|
+
},
|
|
8
|
+
"files": {
|
|
9
|
+
"ignoreUnknown": false
|
|
10
|
+
},
|
|
11
|
+
"formatter": {
|
|
12
|
+
"enabled": true,
|
|
13
|
+
"indentStyle": "tab"
|
|
14
|
+
},
|
|
15
|
+
"linter": {
|
|
16
|
+
"enabled": true,
|
|
17
|
+
"rules": {
|
|
18
|
+
"recommended": true
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"javascript": {
|
|
22
|
+
"formatter": {
|
|
23
|
+
"quoteStyle": "double"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"assist": {
|
|
27
|
+
"enabled": true,
|
|
28
|
+
"actions": {
|
|
29
|
+
"source": {
|
|
30
|
+
"organizeImports": "on"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# ===== Required ENVS ======
|
|
2
|
+
PORT=3002
|
|
3
|
+
HOST=0.0.0.0
|
|
4
|
+
USE_DB_AUTHENTICATION=false
|
|
5
|
+
|
|
6
|
+
# ===== Optional ENVS ======
|
|
7
|
+
# OpenAI API key for AI features (JSON formatting, /extract API)
|
|
8
|
+
# OPENAI_API_KEY=
|
|
9
|
+
|
|
10
|
+
# Experimental: Use Ollama
|
|
11
|
+
# OLLAMA_BASE_URL=http://localhost:11434/api
|
|
12
|
+
# MODEL_NAME=deepseek-r1:7b
|
|
13
|
+
# MODEL_EMBEDDING_NAME=nomic-embed-text
|
|
14
|
+
|
|
15
|
+
# Experimental: Use any OpenAI-compatible API
|
|
16
|
+
# OPENAI_BASE_URL=https://example.com/v1
|
|
17
|
+
# OPENAI_API_KEY=
|
|
18
|
+
|
|
19
|
+
# ===== Proxy =====
|
|
20
|
+
# PROXY_SERVER can be a full URL (e.g. http://0.1.2.3:1234) or just an IP:port combo
|
|
21
|
+
# PROXY_SERVER=
|
|
22
|
+
# PROXY_USERNAME=
|
|
23
|
+
# PROXY_PASSWORD=
|
|
24
|
+
|
|
25
|
+
# ===== /search API =====
|
|
26
|
+
# SearXNG instance running alongside Firecrawl in docker-compose
|
|
27
|
+
SEARXNG_ENDPOINT=http://searxng:8080
|
|
28
|
+
# SEARXNG_ENGINES=
|
|
29
|
+
# SEARXNG_CATEGORIES=
|
|
30
|
+
|
|
31
|
+
# ===== Authentication / Admin =====
|
|
32
|
+
# Supabase not configured (self-hosted doesn't support it yet)
|
|
33
|
+
# SUPABASE_ANON_TOKEN=
|
|
34
|
+
# SUPABASE_URL=
|
|
35
|
+
# SUPABASE_SERVICE_TOKEN=
|
|
36
|
+
|
|
37
|
+
# Change this for security in production
|
|
38
|
+
BULL_AUTH_KEY=CHANGEME
|
|
39
|
+
|
|
40
|
+
# ===== PostgreSQL =====
|
|
41
|
+
POSTGRES_USER=firecrawl
|
|
42
|
+
POSTGRES_PASSWORD=firecrawl_password
|
|
43
|
+
POSTGRES_DB=postgres
|
|
44
|
+
|
|
45
|
+
# ===== Optional: Telemetry / Logging =====
|
|
46
|
+
# POSTHOG_API_KEY=
|
|
47
|
+
# POSTHOG_HOST=
|
|
48
|
+
# SLACK_WEBHOOK_URL=
|
|
49
|
+
|
|
50
|
+
# ===== Optional: Local webhooks =====
|
|
51
|
+
# ALLOW_LOCAL_WEBHOOKS=true
|
|
52
|
+
|
|
53
|
+
# ===== Auto-configured by docker-compose (do not change) =====
|
|
54
|
+
# REDIS_URL=redis://redis:6379
|
|
55
|
+
# PLAYWRIGHT_MICROSERVICE_URL=http://playwright-service:3000/scrape
|
|
56
|
+
|
|
57
|
+
# ===== Optional: Block media (images, video, etc.) during scrape =====
|
|
58
|
+
# BLOCK_MEDIA=true
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Firecrawl Self-Hosted
|
|
2
|
+
|
|
3
|
+
Web scraping infrastructure for the pi harness. Runs entirely in Docker — no local source checkout needed.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# 1. Create your env file
|
|
9
|
+
cp .env.template .env
|
|
10
|
+
# Edit .env if needed (defaults work for local dev)
|
|
11
|
+
|
|
12
|
+
# 2. Pull pre-built images and start
|
|
13
|
+
docker compose -f firecrawl/docker-compose.yaml up -d
|
|
14
|
+
|
|
15
|
+
# 3. Verify
|
|
16
|
+
curl http://localhost:3002/v1/health
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Services
|
|
20
|
+
|
|
21
|
+
| Service | Port | Description |
|
|
22
|
+
|---------|------|-------------|
|
|
23
|
+
| `api` | 3002 | Firecrawl API + Bull queue UI at `/admin/<BULL_AUTH_KEY>/queues` |
|
|
24
|
+
| `playwright-service` | 3000 (internal) | Headless browser rendering |
|
|
25
|
+
| `redis` | 6379 (internal) | Job queue backing store |
|
|
26
|
+
| `rabbitmq` | 5672 (internal) | Message broker for workers |
|
|
27
|
+
| `nuq-postgres` | 5432 (internal) | Crawl state persistence |
|
|
28
|
+
| `searxng` | 8080 | Metasearch engine for `/search` API |
|
|
29
|
+
| `searxng-valkey` | 6379 (internal) | SearXNG cache |
|
|
30
|
+
|
|
31
|
+
## Configuration
|
|
32
|
+
|
|
33
|
+
All config lives in `.env`. See `.env.template` for all available options.
|
|
34
|
+
|
|
35
|
+
### Enabling AI features
|
|
36
|
+
|
|
37
|
+
Uncomment and set `OPENAI_API_KEY` in `.env`. Also supports Ollama and any OpenAI-compatible endpoint.
|
|
38
|
+
|
|
39
|
+
### Using local builds instead of pre-built images
|
|
40
|
+
|
|
41
|
+
Flip the `image:` ↔ `build:` lines in `docker-compose.yaml` for `api`, `playwright-service`, and `nuq-postgres`. You'll need the Firecrawl repo checked out alongside this one at `../firecrawl-selfhosted/apps/`.
|
|
42
|
+
|
|
43
|
+
## SDK Usage
|
|
44
|
+
|
|
45
|
+
When using Firecrawl SDKs with a self-hosted instance, pass the base URL — no API key required:
|
|
46
|
+
|
|
47
|
+
```js
|
|
48
|
+
const client = new Firecrawl({ apiKey: "", baseUrl: "http://localhost:3002" });
|
|
49
|
+
```
|