ultimate-pi 0.1.2 → 0.1.3
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
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import type { ExtensionAPI, ExtensionContext } from "@mariozechner/pi-coding-agent";
|
|
2
|
-
import { readFile, stat } from "node:fs/promises";
|
|
3
|
-
import { resolve } from "node:path";
|
|
4
|
-
|
|
5
|
-
const GUARDED_TOOLS = new Set(["read", "write", "edit", "grep", "find", "ls", "bash"]);
|
|
6
|
-
const CACHE_TTL_MS = 10_000;
|
|
7
|
-
|
|
8
|
-
type LeanCtxState = {
|
|
9
|
-
checkedAt: number;
|
|
10
|
-
available: boolean;
|
|
11
|
-
bin?: string;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
type SystemPromptCache = {
|
|
15
|
-
path: string;
|
|
16
|
-
mtimeMs: number;
|
|
17
|
-
text: string;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
let cachedLeanCtx: LeanCtxState = {
|
|
21
|
-
checkedAt: 0,
|
|
22
|
-
available: false,
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
let cachedSystemPrompt: SystemPromptCache | undefined;
|
|
26
|
-
|
|
27
|
-
async function detectLeanCtx(pi: ExtensionAPI): Promise<LeanCtxState> {
|
|
28
|
-
const now = Date.now();
|
|
29
|
-
if (now - cachedLeanCtx.checkedAt < CACHE_TTL_MS) return cachedLeanCtx;
|
|
30
|
-
|
|
31
|
-
try {
|
|
32
|
-
const result = await pi.exec(
|
|
33
|
-
"bash",
|
|
34
|
-
[
|
|
35
|
-
"-lc",
|
|
36
|
-
'if command -v lean-ctx >/dev/null 2>&1; then command -v lean-ctx; elif [ -x "$HOME/.local/bin/lean-ctx" ]; then echo "$HOME/.local/bin/lean-ctx"; else exit 1; fi',
|
|
37
|
-
],
|
|
38
|
-
{ timeout: 2000 },
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
cachedLeanCtx = {
|
|
42
|
-
checkedAt: now,
|
|
43
|
-
available: result.code === 0,
|
|
44
|
-
bin: result.code === 0 ? result.stdout.trim().split("\n")[0] : undefined,
|
|
45
|
-
};
|
|
46
|
-
} catch {
|
|
47
|
-
cachedLeanCtx = { checkedAt: now, available: false };
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return cachedLeanCtx;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
function bashUsesLeanCtx(command: string): boolean {
|
|
54
|
-
const trimmed = command.trim();
|
|
55
|
-
if (!trimmed) return false;
|
|
56
|
-
return /(^|\s|&&|\|\|)lean-ctx(\s|$)/.test(trimmed);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
async function loadProjectSystemPrompt(cwd: string): Promise<string | undefined> {
|
|
60
|
-
const path = resolve(cwd, ".pi", "SYSTEM.md");
|
|
61
|
-
|
|
62
|
-
try {
|
|
63
|
-
const info = await stat(path);
|
|
64
|
-
if (cachedSystemPrompt && cachedSystemPrompt.path === path && cachedSystemPrompt.mtimeMs === info.mtimeMs) {
|
|
65
|
-
return cachedSystemPrompt.text;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const text = await readFile(path, "utf8");
|
|
69
|
-
const trimmed = text.trim();
|
|
70
|
-
if (!trimmed) return undefined;
|
|
71
|
-
|
|
72
|
-
cachedSystemPrompt = {
|
|
73
|
-
path,
|
|
74
|
-
mtimeMs: info.mtimeMs,
|
|
75
|
-
text: trimmed,
|
|
76
|
-
};
|
|
77
|
-
return trimmed;
|
|
78
|
-
} catch {
|
|
79
|
-
return undefined;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
function pickVerificationMarker(promptText: string): string | undefined {
|
|
84
|
-
for (const line of promptText.split("\n")) {
|
|
85
|
-
const trimmed = line.trim();
|
|
86
|
-
if (!trimmed) continue;
|
|
87
|
-
if (trimmed.startsWith("#")) continue;
|
|
88
|
-
if (trimmed.startsWith("- ")) continue;
|
|
89
|
-
if (trimmed.length < 12) continue;
|
|
90
|
-
return trimmed.slice(0, 120);
|
|
91
|
-
}
|
|
92
|
-
return undefined;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
async function reportSystemPromptStatus(ctx: ExtensionContext): Promise<"missing" | "verified" | "uncertain"> {
|
|
96
|
-
const projectPrompt = await loadProjectSystemPrompt(ctx.cwd);
|
|
97
|
-
if (!projectPrompt) {
|
|
98
|
-
ctx.ui.notify(".pi/SYSTEM.md not found. Pi default system prompt active.", "warning");
|
|
99
|
-
return "missing";
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const effectivePrompt = ctx.getSystemPrompt();
|
|
103
|
-
const marker = pickVerificationMarker(projectPrompt);
|
|
104
|
-
if (marker && effectivePrompt.includes(marker)) {
|
|
105
|
-
ctx.ui.notify(".pi/SYSTEM.md detected and present in effective system prompt.", "success");
|
|
106
|
-
return "verified";
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
ctx.ui.notify(".pi/SYSTEM.md found. Verification uncertain; reload and re-check.", "info");
|
|
110
|
-
return "uncertain";
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
export default function (pi: ExtensionAPI) {
|
|
114
|
-
pi.on("session_start", async (_event, ctx) => {
|
|
115
|
-
const state = await detectLeanCtx(pi);
|
|
116
|
-
if (state.available) {
|
|
117
|
-
ctx.ui.notify(`lean-ctx enforcement active (${state.bin ?? "lean-ctx"})`, "info");
|
|
118
|
-
} else {
|
|
119
|
-
ctx.ui.notify("lean-ctx not found. Built-in tools allowed until installed.", "warning");
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
await reportSystemPromptStatus(ctx);
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
pi.registerCommand("lean-ctx-status", {
|
|
126
|
-
description: "Show lean-ctx enforcement status",
|
|
127
|
-
handler: async (_args, ctx) => {
|
|
128
|
-
cachedLeanCtx.checkedAt = 0;
|
|
129
|
-
const state = await detectLeanCtx(pi);
|
|
130
|
-
if (state.available) {
|
|
131
|
-
ctx.ui.notify(`lean-ctx available: ${state.bin ?? "lean-ctx"}. Built-ins blocked.`, "success");
|
|
132
|
-
} else {
|
|
133
|
-
ctx.ui.notify("lean-ctx unavailable. Built-ins currently allowed.", "warning");
|
|
134
|
-
}
|
|
135
|
-
},
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
pi.registerCommand("system-prompt-status", {
|
|
139
|
-
description: "Check .pi/SYSTEM.md replacement status",
|
|
140
|
-
handler: async (_args, ctx) => {
|
|
141
|
-
await reportSystemPromptStatus(ctx);
|
|
142
|
-
},
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
pi.on("tool_call", async (event) => {
|
|
146
|
-
if (!GUARDED_TOOLS.has(event.toolName)) return;
|
|
147
|
-
|
|
148
|
-
const state = await detectLeanCtx(pi);
|
|
149
|
-
if (!state.available) return;
|
|
150
|
-
|
|
151
|
-
if (event.toolName === "bash") {
|
|
152
|
-
const command = String((event.input as { command?: unknown })?.command ?? "");
|
|
153
|
-
if (bashUsesLeanCtx(command)) return;
|
|
154
|
-
|
|
155
|
-
return {
|
|
156
|
-
block: true,
|
|
157
|
-
reason: "Blocked by lean-ctx enforcement. Use `lean-ctx -c <command>` for shell commands.",
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
return {
|
|
162
|
-
block: true,
|
|
163
|
-
reason: `Blocked by lean-ctx enforcement. Use lean-ctx tools/flows instead of built-in \`${event.toolName}\`.`,
|
|
164
|
-
};
|
|
165
|
-
});
|
|
166
|
-
}
|
package/skills-lock.json
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"skills": {
|
|
4
|
-
"caveman": {
|
|
5
|
-
"source": "juliusbrussee/caveman",
|
|
6
|
-
"sourceType": "github",
|
|
7
|
-
"computedHash": "a818cdc41dcfaa50dd891c5cb5e5705968338de02e7e37949ca56e8c30ad4176"
|
|
8
|
-
},
|
|
9
|
-
"compress": {
|
|
10
|
-
"source": "juliusbrussee/caveman",
|
|
11
|
-
"sourceType": "github",
|
|
12
|
-
"computedHash": "05c97bc3120108acd0b80bdef7fb4fa7c224ba83c8d384ccbc97f92e8a065918"
|
|
13
|
-
},
|
|
14
|
-
"context7-cli": {
|
|
15
|
-
"source": "upstash/context7",
|
|
16
|
-
"sourceType": "github",
|
|
17
|
-
"computedHash": "525bfb31161c3f8866920a28fb2d9a3003a23b449aa8619b1b1add0da2cc3300"
|
|
18
|
-
},
|
|
19
|
-
"emil-design-eng": {
|
|
20
|
-
"source": "emilkowalski/skill",
|
|
21
|
-
"sourceType": "github",
|
|
22
|
-
"computedHash": "8bdf9e4e6de7a4969147bf4828a4ad2c5aacd9fba4b690b250a85e0467ca387d"
|
|
23
|
-
},
|
|
24
|
-
"lean-ctx": {
|
|
25
|
-
"source": "yvgude/lean-ctx",
|
|
26
|
-
"sourceType": "github",
|
|
27
|
-
"computedHash": "3d29c02c1c3928c838228cf11635c8041e52acc2e804ba2dd19450530a34c53e"
|
|
28
|
-
},
|
|
29
|
-
"scrapling-official": {
|
|
30
|
-
"source": "D4Vinci/Scrapling",
|
|
31
|
-
"sourceType": "github",
|
|
32
|
-
"computedHash": "af9bee8b531aa5b4d499eeebca66edb0224b1ed9b61540588765140628bd7ff2"
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
package/wiki/README.md
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Project Wiki
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Track architecture and implementation decisions for this repo.
|
|
5
|
-
|
|
6
|
-
## Decision log
|
|
7
|
-
- [0001 - Establish project wiki and decision record format](decisions/0001-establish-project-wiki-and-decision-record-format.md)
|
|
8
|
-
- [0002 - Add project banner to README](decisions/0002-add-project-banner-to-readme.md)
|
|
9
|
-
- [0003 - Remove redundant README title heading when banner already contains title](decisions/0003-remove-redundant-readme-title-heading.md)
|
|
10
|
-
- [0004 - Publish package to npm as ultimate-pi](decisions/0004-publish-package-to-npm-as-ultimate-pi.md)
|
|
11
|
-
- [0005 - Automate npm publish with GitHub Actions](decisions/0005-automate-npm-publish-with-github-actions.md)
|
|
12
|
-
- [0006 - Switch npm automation to Trusted Publishing (OIDC)](decisions/0006-switch-to-npm-trusted-publishing.md)
|
|
13
|
-
- [0007 - Use absolute banner URL for npm README rendering](decisions/0007-use-absolute-banner-url-for-npm-readme-rendering.md)
|
|
14
|
-
- [0008 - Rename banner asset for cache-busting on npm README](decisions/0008-rename-banner-asset-for-cache-busting.md)
|
|
15
|
-
- [0009 - Force OIDC path by clearing NODE_AUTH_TOKEN in publish step](decisions/0009-force-oidc-path-by-clearing-node-auth-token-in-publish-step.md)
|
|
16
|
-
- [0010 - Simplify setup-node for npm Trusted Publishing](decisions/0010-simplify-setup-node-for-npm-trusted-publishing.md)
|
|
17
|
-
- [0011 - Add noop workflow change to force fresh publish run](decisions/0011-add-noop-workflow-change-to-force-fresh-publish-run.md)
|
|
18
|
-
- [0012 - Align workflow runtime with npm Trusted Publishing requirements](decisions/0012-align-workflow-runtime-with-npm-trusted-publishing-requirements.md)
|
|
19
|
-
- [0013 - Add package repository URL for provenance validation](decisions/0013-add-package-repository-url-for-provenance-validation.md)
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# 0001 - Establish project wiki and decision record format
|
|
2
|
-
|
|
3
|
-
- Date: 2026-04-25
|
|
4
|
-
- Status: Accepted
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
Execution model requires project wiki and documented design decisions.
|
|
8
|
-
No wiki existed in repository.
|
|
9
|
-
|
|
10
|
-
## Alternatives
|
|
11
|
-
1. Keep decisions in ad-hoc commit messages.
|
|
12
|
-
2. Store decisions in a single PLAN.md section.
|
|
13
|
-
3. Create dedicated wiki/ with ADR-style files.
|
|
14
|
-
|
|
15
|
-
## Chosen option
|
|
16
|
-
Create wiki/ with numbered decision files in wiki/decisions/.
|
|
17
|
-
|
|
18
|
-
## Rationale
|
|
19
|
-
- Gives stable place for all implementation decisions.
|
|
20
|
-
- Scales better than one growing plan file.
|
|
21
|
-
- Easy to reference before each code change.
|
|
22
|
-
|
|
23
|
-
## Consequences
|
|
24
|
-
- Every implementation change must cite relevant decision docs.
|
|
25
|
-
- Small overhead: keep decision log updated.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# 0002 - Add project banner to README
|
|
2
|
-
|
|
3
|
-
- Date: 2026-04-25
|
|
4
|
-
- Status: Accepted
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
User requested adding .github/banner.png to README.md as project banner.
|
|
8
|
-
README currently has no image banner.
|
|
9
|
-
|
|
10
|
-
## Alternatives
|
|
11
|
-
1. Keep no banner.
|
|
12
|
-
2. Use HTML img tag for size/alignment control.
|
|
13
|
-
3. Use standard Markdown image link.
|
|
14
|
-
|
|
15
|
-
## Chosen option
|
|
16
|
-
Use standard Markdown image syntax near top of README:
|
|
17
|
-

|
|
18
|
-
|
|
19
|
-
## Rationale
|
|
20
|
-
- Minimal diff.
|
|
21
|
-
- Renders on GitHub without extra HTML.
|
|
22
|
-
- Keeps README portable and simple.
|
|
23
|
-
|
|
24
|
-
## Consequences
|
|
25
|
-
- Large image may dominate first screen on some displays.
|
|
26
|
-
- Future size control would require switching to HTML tag.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# 0003 - Remove redundant README title heading when banner already contains title
|
|
2
|
-
|
|
3
|
-
- Date: 2026-04-25
|
|
4
|
-
- Status: Accepted
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
README shows an H1 title and a banner image.
|
|
8
|
-
Banner already contains the same project title text (Ultimate Pi).
|
|
9
|
-
User requested removing redundant headings.
|
|
10
|
-
|
|
11
|
-
## Alternatives
|
|
12
|
-
1. Keep H1 and keep banner unchanged.
|
|
13
|
-
2. Keep H1 and replace banner with non-title artwork.
|
|
14
|
-
3. Remove H1 and keep banner as top title element.
|
|
15
|
-
|
|
16
|
-
## Chosen option
|
|
17
|
-
Remove top-level H1 from README and keep banner at top.
|
|
18
|
-
|
|
19
|
-
## Rationale
|
|
20
|
-
- Directly satisfies user request with minimal diff.
|
|
21
|
-
- Avoids duplicate title presentation.
|
|
22
|
-
- Preserves remaining README structure.
|
|
23
|
-
|
|
24
|
-
## Consequences
|
|
25
|
-
- README no longer has explicit Markdown H1.
|
|
26
|
-
- Banner becomes primary title element.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# 0004 - Publish package to npm as ultimate-pi
|
|
2
|
-
|
|
3
|
-
- Date: 2026-04-25
|
|
4
|
-
- Status: Accepted
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
User requested npm publication under package name ultimate-pi.
|
|
8
|
-
Current package metadata blocks publish (private true) and uses different name (ultimate-pi-package).
|
|
9
|
-
|
|
10
|
-
## Alternatives
|
|
11
|
-
1. Keep current package name and publish under existing metadata.
|
|
12
|
-
2. Publish under scoped name (for example @owner/ultimate-pi).
|
|
13
|
-
3. Rename package to ultimate-pi and remove publish block.
|
|
14
|
-
|
|
15
|
-
## Chosen option
|
|
16
|
-
Rename package.json name to ultimate-pi and remove private field so npm publish can succeed.
|
|
17
|
-
|
|
18
|
-
## Rationale
|
|
19
|
-
- Matches explicit user requirement.
|
|
20
|
-
- Keeps package unscoped and discoverable.
|
|
21
|
-
- Smallest metadata diff needed for publish.
|
|
22
|
-
|
|
23
|
-
## Consequences
|
|
24
|
-
- Package name must stay unique in npm registry.
|
|
25
|
-
- Future publishes require version bumps.
|
|
26
|
-
- Publish operation depends on local npm authentication.
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# 0005 - Automate npm publish with GitHub Actions
|
|
2
|
-
|
|
3
|
-
- Date: 2026-04-25
|
|
4
|
-
- Status: Accepted
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
User requested automated package publishing through GitHub Actions.
|
|
8
|
-
Repository currently has no workflow files.
|
|
9
|
-
Package already prepared for npm publish as ultimate-pi.
|
|
10
|
-
|
|
11
|
-
## Alternatives
|
|
12
|
-
1. Keep manual local npm publish only.
|
|
13
|
-
2. Publish on every push to main.
|
|
14
|
-
3. Publish on version tags with optional manual trigger.
|
|
15
|
-
|
|
16
|
-
## Chosen option
|
|
17
|
-
Create a GitHub Actions workflow that publishes to npm on tags matching v* and supports manual dispatch.
|
|
18
|
-
|
|
19
|
-
## Rationale
|
|
20
|
-
- Safe release gate with explicit version tags.
|
|
21
|
-
- Standard npm automation pattern.
|
|
22
|
-
- Keeps accidental publishes low risk.
|
|
23
|
-
|
|
24
|
-
## Consequences
|
|
25
|
-
- Maintainer must create npm token and store as NPM_TOKEN secret.
|
|
26
|
-
- Release process must include tag creation.
|
|
27
|
-
- Version in package.json must be bumped before tagging.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# 0006 - Switch npm automation to Trusted Publishing (OIDC)
|
|
2
|
-
|
|
3
|
-
- Date: 2026-04-25
|
|
4
|
-
- Status: Accepted
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
User flagged npm warning: token-based automation has security risks.
|
|
8
|
-
Current workflow uses NPM_TOKEN secret for publish.
|
|
9
|
-
|
|
10
|
-
## Alternatives
|
|
11
|
-
1. Keep automation token secret (NPM_TOKEN).
|
|
12
|
-
2. Publish manually from local machine only.
|
|
13
|
-
3. Use npm Trusted Publishing with GitHub OIDC.
|
|
14
|
-
|
|
15
|
-
## Chosen option
|
|
16
|
-
Use npm Trusted Publishing. Remove token auth from workflow. Grant id-token permission and publish with provenance.
|
|
17
|
-
|
|
18
|
-
## Rationale
|
|
19
|
-
- Eliminates long-lived npm secret in GitHub.
|
|
20
|
-
- Aligns with npm security guidance for CI/CD.
|
|
21
|
-
- Produces provenance attestations for supply-chain trust.
|
|
22
|
-
|
|
23
|
-
## Consequences
|
|
24
|
-
- Must configure Trusted Publisher in npm package settings.
|
|
25
|
-
- Publish only works from linked repo/workflow context.
|
|
26
|
-
- Workflow must run on supported GitHub-hosted runner.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# 0007 - Use absolute banner URL for npm README rendering
|
|
2
|
-
|
|
3
|
-
- Date: 2026-04-25
|
|
4
|
-
- Status: Accepted
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
README banner currently uses repository-relative path .github/banner.png.
|
|
8
|
-
GitHub renders relative image paths in repository context.
|
|
9
|
-
npm README rendering does not reliably resolve repository-relative image paths.
|
|
10
|
-
|
|
11
|
-
## Alternatives
|
|
12
|
-
1. Keep relative image path.
|
|
13
|
-
2. Remove banner image from README.
|
|
14
|
-
3. Use absolute raw GitHub URL to banner asset.
|
|
15
|
-
|
|
16
|
-
## Chosen option
|
|
17
|
-
Replace README banner image path with absolute raw.githubusercontent.com URL.
|
|
18
|
-
|
|
19
|
-
## Rationale
|
|
20
|
-
- Works in npm package page rendering.
|
|
21
|
-
- Still works in GitHub README rendering.
|
|
22
|
-
- Minimal one-line README diff.
|
|
23
|
-
|
|
24
|
-
## Consequences
|
|
25
|
-
- URL tied to repository path/branch (main).
|
|
26
|
-
- Banner breaks if file path or default branch changes.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# 0008 - Rename banner asset for cache-busting on npm README
|
|
2
|
-
|
|
3
|
-
- Date: 2026-04-25
|
|
4
|
-
- Status: Accepted
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
Banner image update is not reflected on npm package page.
|
|
8
|
-
README already uses absolute raw.githubusercontent URL.
|
|
9
|
-
Likely cause is CDN/browser cache on unchanged asset path.
|
|
10
|
-
|
|
11
|
-
## Alternatives
|
|
12
|
-
1. Keep same filename and wait for cache expiry.
|
|
13
|
-
2. Add query parameter to image URL.
|
|
14
|
-
3. Rename banner file and update README URL.
|
|
15
|
-
|
|
16
|
-
## Chosen option
|
|
17
|
-
Rename banner file path from .github/banner.png to .github/banner-v2.png and update README reference.
|
|
18
|
-
|
|
19
|
-
## Rationale
|
|
20
|
-
- New path forces cache miss immediately.
|
|
21
|
-
- Minimal, safe change.
|
|
22
|
-
- Works in GitHub and npm renderers.
|
|
23
|
-
|
|
24
|
-
## Consequences
|
|
25
|
-
- Any external links to old filename break.
|
|
26
|
-
- Future banner refreshes should use versioned filenames.
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# 0009 - Force OIDC path by clearing NODE_AUTH_TOKEN in publish step
|
|
2
|
-
|
|
3
|
-
- Date: 2026-04-25
|
|
4
|
-
- Status: Accepted
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
GitHub Actions publish job failed with npm E404 on PUT for ultimate-pi@0.1.2.
|
|
8
|
-
Job log shows NODE_AUTH_TOKEN present during publish step, which can force token auth path instead of Trusted Publishing OIDC.
|
|
9
|
-
|
|
10
|
-
## Alternatives
|
|
11
|
-
1. Keep workflow unchanged and only reconfigure npm settings.
|
|
12
|
-
2. Revert fully to long-lived NPM_TOKEN secret.
|
|
13
|
-
3. Keep Trusted Publishing and explicitly clear NODE_AUTH_TOKEN in publish step.
|
|
14
|
-
|
|
15
|
-
## Chosen option
|
|
16
|
-
Use Trusted Publishing and set NODE_AUTH_TOKEN to empty string for publish step.
|
|
17
|
-
|
|
18
|
-
## Rationale
|
|
19
|
-
- Prevents accidental fallback to stale/unauthorized token auth.
|
|
20
|
-
- Preserves secure OIDC-based publish flow.
|
|
21
|
-
- Minimal surgical workflow diff.
|
|
22
|
-
|
|
23
|
-
## Consequences
|
|
24
|
-
- Requires npm Trusted Publisher to be correctly configured.
|
|
25
|
-
- Any desired token-based publish would need explicit workflow change.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# 0010 - Simplify setup-node for npm Trusted Publishing
|
|
2
|
-
|
|
3
|
-
- Date: 2026-04-25
|
|
4
|
-
- Status: Accepted
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
Publish run still fails with ENEEDAUTH after Trusted Publisher setup.
|
|
8
|
-
Current workflow sets npm registry-url and explicitly sets NODE_AUTH_TOKEN empty.
|
|
9
|
-
This may keep npm on token-based auth path and bypass OIDC exchange.
|
|
10
|
-
|
|
11
|
-
## Alternatives
|
|
12
|
-
1. Keep current workflow and retry only.
|
|
13
|
-
2. Re-introduce npm token secret.
|
|
14
|
-
3. Remove registry auth shaping and let npm Trusted Publishing OIDC path run naturally.
|
|
15
|
-
|
|
16
|
-
## Chosen option
|
|
17
|
-
Use setup-node with node-version only. Remove registry-url and NODE_AUTH_TOKEN override.
|
|
18
|
-
|
|
19
|
-
## Rationale
|
|
20
|
-
- Avoids writing auth-specific npmrc configuration for token path.
|
|
21
|
-
- Aligns with minimal OIDC trusted publishing examples.
|
|
22
|
-
- Smallest workflow diff.
|
|
23
|
-
|
|
24
|
-
## Consequences
|
|
25
|
-
- Requires npm Trusted Publisher config to be correct.
|
|
26
|
-
- If Trusted Publishing unavailable, publish will fail until fallback token flow is re-added.
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# 0011 - Add noop workflow change to force fresh publish run
|
|
2
|
-
|
|
3
|
-
- Date: 2026-04-25
|
|
4
|
-
- Status: Accepted
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
User requested a fresh commit and publish attempt because rerun signal looked stale.
|
|
8
|
-
Current publish workflow logic already targeted for Trusted Publishing.
|
|
9
|
-
|
|
10
|
-
## Alternatives
|
|
11
|
-
1. Keep rerunning same workflow execution.
|
|
12
|
-
2. Make a functional workflow change.
|
|
13
|
-
3. Make a minimal non-functional workflow change and trigger new run from new commit.
|
|
14
|
-
|
|
15
|
-
## Chosen option
|
|
16
|
-
Add a non-functional workflow metadata field (run-name) and push a new commit.
|
|
17
|
-
|
|
18
|
-
## Rationale
|
|
19
|
-
- Produces clean new run context tied to fresh commit SHA.
|
|
20
|
-
- Avoids unnecessary behavior changes.
|
|
21
|
-
- Smallest viable diff.
|
|
22
|
-
|
|
23
|
-
## Consequences
|
|
24
|
-
- No runtime behavior change expected.
|
|
25
|
-
- Still depends on npm auth configuration correctness.
|
package/wiki/decisions/0012-align-workflow-runtime-with-npm-trusted-publishing-requirements.md
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# 0012 - Align workflow runtime with npm Trusted Publishing requirements
|
|
2
|
-
|
|
3
|
-
- Date: 2026-04-25
|
|
4
|
-
- Status: Accepted
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
Publish workflow still fails authentication.
|
|
8
|
-
Trusted publisher mapping is already verified by user.
|
|
9
|
-
Remaining common causes include runtime mismatch: npm 11.5.1+ and Node 22.14+.
|
|
10
|
-
|
|
11
|
-
## Alternatives
|
|
12
|
-
1. Keep current Node 20 workflow.
|
|
13
|
-
2. Switch to token-based publish only.
|
|
14
|
-
3. Upgrade workflow runtime to Node 22.14+, ensure npm 11.5.1+, keep OIDC permissions.
|
|
15
|
-
|
|
16
|
-
## Chosen option
|
|
17
|
-
Upgrade workflow to Node 22.14.0 and add npm upgrade/verification step before publish.
|
|
18
|
-
|
|
19
|
-
## Rationale
|
|
20
|
-
- Directly addresses documented Trusted Publishing runtime requirements.
|
|
21
|
-
- Keeps secure OIDC model intact.
|
|
22
|
-
- Minimal focused diff in workflow only.
|
|
23
|
-
|
|
24
|
-
## Consequences
|
|
25
|
-
- Slightly longer workflow run due npm update step.
|
|
26
|
-
- Future runtime bumps may be needed when npm guidance changes.
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# 0013 - Add package repository URL for provenance validation
|
|
2
|
-
|
|
3
|
-
- Date: 2026-04-25
|
|
4
|
-
- Status: Accepted
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
Trusted publishing auth now passes, but publish fails with npm E422 provenance validation.
|
|
8
|
-
Error states package.json repository.url is empty and must match https://github.com/aryaniyaps/ultimate-pi.
|
|
9
|
-
|
|
10
|
-
## Alternatives
|
|
11
|
-
1. Disable provenance flag in publish command.
|
|
12
|
-
2. Keep failing publish and document manual workaround.
|
|
13
|
-
3. Add exact repository URL metadata in package.json to satisfy provenance validation.
|
|
14
|
-
|
|
15
|
-
## Chosen option
|
|
16
|
-
Add package.json repository metadata with URL https://github.com/aryaniyaps/ultimate-pi.
|
|
17
|
-
|
|
18
|
-
## Rationale
|
|
19
|
-
- Fixes current hard failure from npm provenance verifier.
|
|
20
|
-
- Keeps secure --provenance publish mode.
|
|
21
|
-
- Minimal metadata-only package diff.
|
|
22
|
-
|
|
23
|
-
## Consequences
|
|
24
|
-
- Repository URL must stay accurate.
|
|
25
|
-
- If repo moves, metadata must be updated before next publish.
|