Skip to content

feat(docs): rewrite README, restructure guide/reference, fix navbar 404 #52

Description

@espetro

What

Docs restructuring + README rewrite. All items completed on .

Changes

  • Navbar 404 fixed: created landing page
  • compat-matrix moved: → (title rename, tier-1 wording reduced to 2 product-requirement mentions)
  • Sidebar restructured: new Authoring group (Creating Plugins + Porting), Platforms group (Capability Matrix), Ecosystems
  • Cross-links updated: adapters, ecosystem, tools, porting, prd, AGENTS.md, validate.ts — all now point to
  • introduction.md rewritten: 4 primary harnesses named explicitly, custom harnesses section → extending.md, tier-1 collapsed to table + capability matrix ref
  • README.md rewritten: ~30 lines, curl install, npx fallback, plugin example, create/port docs link, llms.txt link, sponsor at bottom
  • Docs build verified: Scope: 20 of 21 workspace projects
    docs build$ vitepress build
    packages/contract build$ tsc && node dist/generate-schema.js
    packages/schema build$ tsc
    docs build: vitepress v1.6.4
    docs build: - building client + server bundles...
    packages/schema build: Done
    docs build: llmstxt » vitepress-plugin-llms initialized (client build) with workDir: /Users/joaquin.terrasamoya/Documents/prjcts/_own/agentplugins/docs
    packages/contract build: [contract] manifest.schema.json generated → /Users/joaquin.terrasamoya/Documents/prjcts/_own/agentplugins/packages/contract/manifest.schema.json
    packages/contract build: Done
    docs build: llmstxt » Build started, file collection cleared
    docs build: llmstxt » Processing 19 markdown files from /Users/joaquin.terrasamoya/Documents/prjcts/_own/agentplugins/docs
    docs build: llmstxt » Generating llms.txt...
    docs build: llmstxt » Generating full documentation bundle (llms-full.txt)...
    docs build: llmstxt » ✓ Processed reference/agent-paths.md
    docs build: llmstxt » ✓ Processed reference/commands.md
    docs build: llmstxt » ✓ Processed guide/creating-plugins.md
    docs build: llmstxt » ✓ Processed guide/ecosystem.md
    docs build: llmstxt » ✓ Processed guide/capability-matrix.md
    docs build: llmstxt » ✓ Processed guide/extending.md
    docs build: llmstxt » ✓ Processed reference/adapters.md
    docs build: llmstxt » ✓ Processed guide/hooks.md
    docs build: llmstxt » ✓ Processed reference/schema.md
    docs build: llmstxt » ✓ Processed guide/introduction.md
    docs build: llmstxt » ✓ Generated llms.txt (~627 tokens, 2.44 kB) with 19 documentation links
    docs build: llmstxt » ✓ Processed guide/manifest.md
    docs build: llmstxt » ✓ Processed guide/quick-start.md
    docs build: llmstxt » ✓ Processed guide/linting.md
    docs build: llmstxt » ✓ Processed reference.md
    docs build: llmstxt » ✓ Processed guide/porting.md
    docs build: llmstxt » ✓ Processed guide/installation.md
    docs build: llmstxt » ✓ Processed guide/tools.md
    docs build: llmstxt » ✓ Processed guide/mcp-servers.md
    docs build: llmstxt » ✓ Generated llms-full.txt (~25.5K tokens, 98.4 kB) with 19 markdown files
    docs build: llmstxt » ✓ Processed guide/skills.md
    docs build: (!) Some chunks are larger than 500 kB after minification. Consider:
    docs build: - Using dynamic import() to code-split the application
    docs build: - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
    docs build: - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
    docs build: llmstxt » vitepress-plugin-llms initialized (SSR build) with workDir: /Users/joaquin.terrasamoya/Documents/prjcts/_own/agentplugins/docs
    docs build: llmstxt » Build started, file collection cleared
    docs build: llmstxt » Skipping LLMs docs generation in SSR build
    docs build: �[32m✓�[0m building client + server bundles...
    docs build: - rendering pages...
    docs build: �[32m✓�[0m rendering pages...
    docs build: - generating sitemap...
    docs build: �[32m✓�[0m generating sitemap...
    docs build: build complete in 7.33s.
    docs build: Done
    packages/pipeline build$ tsup src/index.ts --format cjs,esm --dts
    packages/security build$ tsc
    packages/ingest build$ tsc
    packages/pipeline build: CLI Building entry: src/index.ts
    packages/pipeline build: CLI Using tsconfig: tsconfig.json
    packages/pipeline build: CLI tsup v8.5.1
    packages/pipeline build: CLI Target: es2022
    packages/pipeline build: CJS Build start
    packages/pipeline build: ESM Build start
    packages/pipeline build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/pipeline build: package.json:12:6:
    packages/pipeline build: �[37m 12 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/pipeline build: ╵ �[32m~~~~~~~�[0m
    packages/pipeline build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/pipeline build: package.json:10:6:
    packages/pipeline build: �[37m 10 │ �[32m"import"�[37m: "./dist/index.js",
    packages/pipeline build: ╵ �[32m~~~~~~~~�[0m
    packages/pipeline build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/pipeline build: package.json:11:6:
    packages/pipeline build: �[37m 11 │ �[32m"require"�[37m: "./dist/index.cjs",
    packages/pipeline build: ╵ �[32m~~~~~~~~~�[0m
    packages/ingest build: Done
    packages/pipeline build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/pipeline build: package.json:12:6:
    packages/pipeline build: �[37m 12 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/pipeline build: ╵ �[32m~~~~~~~�[0m
    packages/pipeline build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/pipeline build: package.json:10:6:
    packages/pipeline build: �[37m 10 │ �[32m"import"�[37m: "./dist/index.js",
    packages/pipeline build: ╵ �[32m~~~~~~~~�[0m
    packages/pipeline build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/pipeline build: package.json:11:6:
    packages/pipeline build: �[37m 11 │ �[32m"require"�[37m: "./dist/index.cjs",
    packages/pipeline build: ╵ �[32m~~~~~~~~~�[0m
    packages/pipeline build: ESM dist/index.js 4.11 KB
    packages/pipeline build: ESM ⚡️ Build success in 59ms
    packages/pipeline build: CJS dist/index.cjs 5.27 KB
    packages/pipeline build: CJS ⚡️ Build success in 59ms
    packages/security build: Done
    packages/pipeline build: DTS Build start
    packages/pipeline build: DTS ⚡️ Build success in 395ms
    packages/pipeline build: DTS dist/index.d.cts 4.09 KB
    packages/pipeline build: DTS dist/index.d.ts 4.09 KB
    packages/pipeline build: Done
    packages/compile build$ tsc
    packages/compile build: Done
    packages/store build$ tsc
    packages/store build: Done
    packages/core build$ tsc
    packages/core build: Done
    packages/adapter-claude build$ tsup src/index.ts --format cjs,esm --dts
    packages/adapter-codex build$ tsup src/index.ts --format cjs,esm --dts
    packages/adapter-gemini build$ tsup src/index.ts --format cjs,esm --dts
    packages/adapter-copilot build$ tsup src/index.ts --format cjs,esm --dts
    packages/adapter-claude build: CLI Building entry: src/index.ts
    packages/adapter-codex build: CLI Building entry: src/index.ts
    packages/adapter-gemini build: CLI Building entry: src/index.ts
    packages/adapter-copilot build: CLI Building entry: src/index.ts
    packages/adapter-claude build: CLI Using tsconfig: tsconfig.json
    packages/adapter-claude build: CLI tsup v8.5.1
    packages/adapter-codex build: CLI Using tsconfig: tsconfig.json
    packages/adapter-codex build: CLI tsup v8.5.1
    packages/adapter-gemini build: CLI Using tsconfig: tsconfig.json
    packages/adapter-gemini build: CLI tsup v8.5.1
    packages/adapter-copilot build: CLI Using tsconfig: tsconfig.json
    packages/adapter-copilot build: CLI tsup v8.5.1
    packages/adapter-claude build: CLI Target: es2022
    packages/adapter-claude build: CJS Build start
    packages/adapter-codex build: CLI Target: es2022
    packages/adapter-claude build: ESM Build start
    packages/adapter-copilot build: CLI Target: es2022
    packages/adapter-gemini build: CLI Target: es2020
    packages/adapter-codex build: CJS Build start
    packages/adapter-codex build: ESM Build start
    packages/adapter-gemini build: CJS Build start
    packages/adapter-gemini build: ESM Build start
    packages/adapter-copilot build: CJS Build start
    packages/adapter-copilot build: ESM Build start
    packages/adapter-claude build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-claude build: package.json:12:6:
    packages/adapter-claude build: �[37m 12 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-claude build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-claude build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-claude build: package.json:10:6:
    packages/adapter-claude build: �[37m 10 │ �[32m"import"�[37m: "./dist/index.js",
    packages/adapter-claude build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-claude build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-claude build: package.json:11:6:
    packages/adapter-claude build: �[37m 11 │ �[32m"require"�[37m: "./dist/index.cjs",
    packages/adapter-claude build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-claude build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-claude build: package.json:12:6:
    packages/adapter-claude build: �[37m 12 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-claude build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-claude build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-claude build: package.json:10:6:
    packages/adapter-claude build: �[37m 10 │ �[32m"import"�[37m: "./dist/index.js",
    packages/adapter-claude build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-claude build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-claude build: package.json:11:6:
    packages/adapter-claude build: �[37m 11 │ �[32m"require"�[37m: "./dist/index.cjs",
    packages/adapter-claude build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-gemini build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-gemini build: package.json:12:6:
    packages/adapter-gemini build: �[37m 12 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-gemini build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-gemini build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-gemini build: package.json:10:6:
    packages/adapter-gemini build: �[37m 10 │ �[32m"import"�[37m: "./dist/index.js",
    packages/adapter-gemini build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-gemini build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-gemini build: package.json:11:6:
    packages/adapter-gemini build: �[37m 11 │ �[32m"require"�[37m: "./dist/index.cjs",
    packages/adapter-gemini build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-gemini build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-gemini build: package.json:12:6:
    packages/adapter-gemini build: �[37m 12 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-gemini build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-gemini build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-gemini build: package.json:10:6:
    packages/adapter-gemini build: �[37m 10 │ �[32m"import"�[37m: "./dist/index.js",
    packages/adapter-gemini build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-gemini build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-gemini build: package.json:11:6:
    packages/adapter-gemini build: �[37m 11 │ �[32m"require"�[37m: "./dist/index.cjs",
    packages/adapter-gemini build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-copilot build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-copilot build: package.json:11:6:
    packages/adapter-copilot build: �[37m 11 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-copilot build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-copilot build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-copilot build: package.json:9:6:
    packages/adapter-copilot build: �[37m 9 │ �[32m"import"�[37m: "./dist/index.mjs",
    packages/adapter-copilot build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-copilot build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-copilot build: package.json:10:6:
    packages/adapter-copilot build: �[37m 10 │ �[32m"require"�[37m: "./dist/index.js",
    packages/adapter-copilot build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-copilot build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-copilot build: package.json:11:6:
    packages/adapter-copilot build: �[37m 11 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-copilot build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-copilot build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-copilot build: package.json:9:6:
    packages/adapter-copilot build: �[37m 9 │ �[32m"import"�[37m: "./dist/index.mjs",
    packages/adapter-copilot build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-copilot build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-copilot build: package.json:10:6:
    packages/adapter-copilot build: �[37m 10 │ �[32m"require"�[37m: "./dist/index.js",
    packages/adapter-copilot build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-claude build: CJS dist/index.cjs 16.80 KB
    packages/adapter-claude build: CJS ⚡️ Build success in 31ms
    packages/adapter-claude build: ESM dist/index.js 15.67 KB
    packages/adapter-claude build: ESM ⚡️ Build success in 31ms
    packages/adapter-codex build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-codex build: package.json:11:6:
    packages/adapter-codex build: �[37m 11 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-codex build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-codex build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-codex build: package.json:9:6:
    packages/adapter-codex build: �[37m 9 │ �[32m"import"�[37m: "./dist/index.mjs",
    packages/adapter-codex build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-codex build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-codex build: package.json:10:6:
    packages/adapter-codex build: �[37m 10 │ �[32m"require"�[37m: "./dist/index.js",
    packages/adapter-codex build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-gemini build: CJS dist/index.cjs 11.03 KB
    packages/adapter-gemini build: CJS ⚡️ Build success in 31ms
    packages/adapter-gemini build: ESM dist/index.js 9.84 KB
    packages/adapter-gemini build: ESM ⚡️ Build success in 31ms
    packages/adapter-copilot build: CJS dist/index.js 18.30 KB
    packages/adapter-copilot build: CJS ⚡️ Build success in 31ms
    packages/adapter-copilot build: ESM dist/index.mjs 17.03 KB
    packages/adapter-copilot build: ESM ⚡️ Build success in 31ms
    packages/adapter-codex build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-codex build: package.json:11:6:
    packages/adapter-codex build: �[37m 11 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-codex build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-codex build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-codex build: package.json:9:6:
    packages/adapter-codex build: �[37m 9 │ �[32m"import"�[37m: "./dist/index.mjs",
    packages/adapter-codex build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-codex build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-codex build: package.json:10:6:
    packages/adapter-codex build: �[37m 10 │ �[32m"require"�[37m: "./dist/index.js",
    packages/adapter-codex build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-codex build: ESM dist/index.mjs 10.38 KB
    packages/adapter-codex build: ESM ⚡️ Build success in 34ms
    packages/adapter-codex build: CJS dist/index.js 11.87 KB
    packages/adapter-codex build: CJS ⚡️ Build success in 35ms
    packages/adapter-gemini build: DTS Build start
    packages/adapter-copilot build: DTS Build start
    packages/adapter-codex build: DTS Build start
    packages/adapter-claude build: DTS Build start
    packages/adapter-gemini build: DTS ⚡️ Build success in 415ms
    packages/adapter-gemini build: DTS dist/index.d.cts 1.63 KB
    packages/adapter-gemini build: DTS dist/index.d.ts 1.63 KB
    packages/adapter-gemini build: Done
    packages/adapter-kimi build$ tsup src/index.ts --format cjs,esm --dts --clean
    packages/adapter-copilot build: DTS ⚡️ Build success in 452ms
    packages/adapter-copilot build: DTS dist/index.d.ts 9.22 KB
    packages/adapter-copilot build: DTS dist/index.d.mts 9.22 KB
    packages/adapter-copilot build: Done
    packages/adapter-opencode build$ tsup src/index.ts --format cjs,esm --dts
    packages/adapter-codex build: DTS ⚡️ Build success in 701ms
    packages/adapter-codex build: DTS dist/index.d.ts 3.96 KB
    packages/adapter-codex build: DTS dist/index.d.mts 3.96 KB
    packages/adapter-codex build: Done
    packages/adapter-pimono build$ tsup src/index.ts --format cjs,esm --dts
    packages/adapter-claude build: DTS ⚡️ Build success in 755ms
    packages/adapter-claude build: DTS dist/index.d.cts 3.76 KB
    packages/adapter-claude build: DTS dist/index.d.ts 3.76 KB
    packages/adapter-claude build: Done
    packages/migrate build$ tsc
    packages/adapter-kimi build: CLI Building entry: src/index.ts
    packages/adapter-kimi build: CLI Using tsconfig: tsconfig.json
    packages/adapter-kimi build: CLI tsup v8.5.1
    packages/adapter-kimi build: CLI Target: es2020
    packages/adapter-kimi build: CLI Cleaning output folder
    packages/adapter-kimi build: CJS Build start
    packages/adapter-kimi build: ESM Build start
    packages/adapter-kimi build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-kimi build: package.json:11:6:
    packages/adapter-kimi build: �[37m 11 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-kimi build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-kimi build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-kimi build: package.json:9:6:
    packages/adapter-kimi build: �[37m 9 │ �[32m"import"�[37m: "./dist/index.mjs",
    packages/adapter-kimi build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-kimi build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-kimi build: package.json:10:6:
    packages/adapter-kimi build: �[37m 10 │ �[32m"require"�[37m: "./dist/index.js",
    packages/adapter-kimi build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-kimi build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-kimi build: package.json:11:6:
    packages/adapter-kimi build: �[37m 11 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-kimi build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-kimi build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-kimi build: package.json:9:6:
    packages/adapter-kimi build: �[37m 9 │ �[32m"import"�[37m: "./dist/index.mjs",
    packages/adapter-kimi build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-kimi build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-kimi build: package.json:10:6:
    packages/adapter-kimi build: �[37m 10 │ �[32m"require"�[37m: "./dist/index.js",
    packages/adapter-kimi build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-kimi build: ESM dist/index.mjs 14.69 KB
    packages/adapter-kimi build: ESM ⚡️ Build success in 30ms
    packages/adapter-kimi build: CJS dist/index.js 15.92 KB
    packages/adapter-kimi build: CJS ⚡️ Build success in 30ms
    packages/adapter-opencode build: CLI Building entry: src/index.ts
    packages/adapter-opencode build: CLI Using tsconfig: tsconfig.json
    packages/adapter-opencode build: CLI tsup v8.5.1
    packages/adapter-opencode build: CLI Target: es2022
    packages/adapter-opencode build: CJS Build start
    packages/adapter-opencode build: ESM Build start
    packages/adapter-opencode build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-opencode build: package.json:12:6:
    packages/adapter-opencode build: �[37m 12 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-opencode build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-opencode build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-opencode build: package.json:10:6:
    packages/adapter-opencode build: �[37m 10 │ �[32m"import"�[37m: "./dist/index.js",
    packages/adapter-opencode build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-opencode build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-opencode build: package.json:11:6:
    packages/adapter-opencode build: �[37m 11 │ �[32m"require"�[37m: "./dist/index.cjs",
    packages/adapter-opencode build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-opencode build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-opencode build: package.json:12:6:
    packages/adapter-opencode build: �[37m 12 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-opencode build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-opencode build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-opencode build: package.json:10:6:
    packages/adapter-opencode build: �[37m 10 │ �[32m"import"�[37m: "./dist/index.js",
    packages/adapter-opencode build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-opencode build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-opencode build: package.json:11:6:
    packages/adapter-opencode build: �[37m 11 │ �[32m"require"�[37m: "./dist/index.cjs",
    packages/adapter-opencode build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-opencode build: ESM dist/index.js 14.39 KB
    packages/adapter-opencode build: ESM ⚡️ Build success in 38ms
    packages/adapter-opencode build: CJS dist/index.cjs 15.86 KB
    packages/adapter-opencode build: CJS ⚡️ Build success in 39ms
    packages/adapter-pimono build: CLI Building entry: src/index.ts
    packages/adapter-pimono build: CLI Using tsconfig: tsconfig.json
    packages/adapter-pimono build: CLI tsup v8.5.1
    packages/adapter-pimono build: CLI Target: es2022
    packages/adapter-pimono build: CJS Build start
    packages/adapter-pimono build: ESM Build start
    packages/adapter-kimi build: DTS Build start
    packages/adapter-pimono build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-pimono build: package.json:12:6:
    packages/adapter-pimono build: �[37m 12 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-pimono build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-pimono build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-pimono build: package.json:10:6:
    packages/adapter-pimono build: �[37m 10 │ �[32m"import"�[37m: "./dist/index.js",
    packages/adapter-pimono build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-pimono build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-pimono build: package.json:11:6:
    packages/adapter-pimono build: �[37m 11 │ �[32m"require"�[37m: "./dist/index.cjs",
    packages/adapter-pimono build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-pimono build: WARN �[33m▲ �[43;33m[�[43;30mWARNING�[43;33m]�[0m �[1mThe condition "types" here will never be used as it comes after both "import" and "require"�[0m [package.json]
    packages/adapter-pimono build: package.json:12:6:
    packages/adapter-pimono build: �[37m 12 │ �[32m"types"�[37m: "./dist/index.d.ts"
    packages/adapter-pimono build: ╵ �[32m~~~~~~~�[0m
    packages/adapter-pimono build: The "import" condition comes earlier and will be used for all "import" statements:
    packages/adapter-pimono build: package.json:10:6:
    packages/adapter-pimono build: �[37m 10 │ �[32m"import"�[37m: "./dist/index.js",
    packages/adapter-pimono build: ╵ �[32m~~~~~~~~�[0m
    packages/adapter-pimono build: The "require" condition comes earlier and will be used for all "require" calls:
    packages/adapter-pimono build: package.json:11:6:
    packages/adapter-pimono build: �[37m 11 │ �[32m"require"�[37m: "./dist/index.cjs",
    packages/adapter-pimono build: ╵ �[32m~~~~~~~~~�[0m
    packages/adapter-pimono build: CJS dist/index.cjs 25.60 KB
    packages/adapter-pimono build: CJS ⚡️ Build success in 44ms
    packages/adapter-pimono build: ESM dist/index.js 24.25 KB
    packages/adapter-pimono build: ESM ⚡️ Build success in 44ms
    packages/adapter-opencode build: DTS Build start
    packages/adapter-pimono build: DTS Build start
    packages/migrate build: Done
    packages/adapter-kimi build: DTS ⚡️ Build success in 403ms
    packages/adapter-kimi build: DTS dist/index.d.ts 6.33 KB
    packages/adapter-kimi build: DTS dist/index.d.mts 6.33 KB
    packages/adapter-kimi build: Done
    packages/adapter-opencode build: DTS ⚡️ Build success in 409ms
    packages/adapter-opencode build: DTS dist/index.d.cts 3.81 KB
    packages/adapter-opencode build: DTS dist/index.d.ts 3.81 KB
    packages/adapter-opencode build: Done
    packages/adapter-pimono build: DTS ⚡️ Build success in 298ms
    packages/adapter-pimono build: DTS dist/index.d.cts 5.45 KB
    packages/adapter-pimono build: DTS dist/index.d.ts 5.45 KB
    packages/adapter-pimono build: Done
    packages/cli build$ tsc
    packages/cli build: Done
    plugins/example-custom-adapter build$ agentplugins build
    plugins/example-logger build$ agentplugins build
    plugins/example-logger build: 🌉 AgentPlugins Build
    plugins/example-logger build: Plugin: agentplugins-example-logger v0.1.0
    plugins/example-logger build: Targets: claude, codex, copilot, gemini, kimi, opencode, pimono
    plugins/example-logger build: Output: /Users/joaquin.terrasamoya/Documents/prjcts/_own/agentplugins/plugins/example-logger/dist
    plugins/example-logger build: 🔍 Running universal validation...
    plugins/example-logger build: 🔍 Running lint...
    plugins/example-logger build: ✗ [name] Plugin name must not be prefixed with "agentplugin" (anti-self-reference)
    plugins/example-logger build: → Choose a name that describes what the plugin does
    plugins/example-logger build: ⚠ [license] License is missing — declare one for redistribution clarity
    plugins/example-logger build: → Common choices: MIT, Apache-2.0, ISC
    plugins/example-custom-adapter build: 🌉 AgentPlugins Build
    plugins/example-custom-adapter build: Plugin: my-custom-plugin v0.1.0
    plugins/example-custom-adapter build: Targets: claude, my-harness
    plugins/example-custom-adapter build: Output: /Users/joaquin.terrasamoya/Documents/prjcts/_own/agentplugins/plugins/example-custom-adapter/dist
    plugins/example-custom-adapter build: 🔍 Running universal validation...
    plugins/example-custom-adapter build: 🔍 Running lint...
    plugins/example-custom-adapter build: ⚠ [license] License is missing — declare one for redistribution clarity
    plugins/example-custom-adapter build: → Common choices: MIT, Apache-2.0, ISC
    plugins/example-logger build: 📦 Building for claude...
    plugins/example-custom-adapter build: 📦 Building for claude...
    plugins/example-custom-adapter build: ✓ Built 2 files
    plugins/example-custom-adapter build: ⓘ Copy the generated files to your Claude Code project root:
    plugins/example-custom-adapter build: ⓘ cp -r .claude-plugin hooks/ skills/ .mcp.json /
    plugins/example-custom-adapter build: ⓘ
    plugins/example-custom-adapter build: ⓘ Environment variables available at runtime:
    plugins/example-custom-adapter build: ⓘ ${CLAUDE_PLUGIN_ROOT} — path to the plugin directory
    plugins/example-custom-adapter build: ⓘ ${CLAUDE_PLUGIN_DATA} — path to plugin data storage
    plugins/example-custom-adapter build: ⓘ
    plugins/example-custom-adapter build: ⓘ Install location: ~/.claude/plugins/ or project-local .claude-plugin/
    plugins/example-custom-adapter build: 📦 Building for my-harness...
    plugins/example-logger build: ✓ Built 9 files
    plugins/example-logger build: ⚠ 5 inline handler(s) wrapped as command scripts. These require Node.js at runtime.
    plugins/example-logger build: ⓘ Copy the generated files to your Claude Code project root:
    plugins/example-logger build: ⓘ cp -r .claude-plugin hooks/ skills/ .mcp.json /
    plugins/example-logger build: ⓘ
    plugins/example-logger build: ⓘ Environment variables available at runtime:
    plugins/example-logger build: ⓘ ${CLAUDE_PLUGIN_ROOT} — path to the plugin directory
    plugins/example-logger build: ⓘ ${CLAUDE_PLUGIN_DATA} — path to plugin data storage
    plugins/example-logger build: ⓘ
    plugins/example-logger build: ⓘ Install location: ~/.claude/plugins/ or project-local .claude-plugin/
    plugins/example-logger build: ⓘ
    plugins/example-logger build: ⓘ NOTE: 5 inline handler(s) require Node.js to execute.
    plugins/example-logger build: ⓘ Wrapper scripts are in hooks/.js
    plugins/example-logger build: 📦 Building for codex...
    plugins/example-custom-adapter build: ✓ Built 2 files
    plugins/example-custom-adapter build: ✅ Build complete!
    plugins/example-custom-adapter build: Install your plugins:
    plugins/example-custom-adapter build: claude: cp -r dist/claude ~/.claude/skills/my-custom-plugin
    plugins/example-custom-adapter build: my-harness: See my-harness documentation
    plugins/example-logger build: ✓ Built 7 files
    plugins/example-logger build: ⚠ Skipping unsupported hook "sessionEnd" – not included in compiled output.
    plugins/example-logger build: ⚠ 4 inline handler(s) wrapped as command scripts. Requires Node.js at runtime.
    plugins/example-logger build: ⓘ OpenAI Codex Plugin
    plugins/example-logger build: ⓘ ===================
    plugins/example-logger build: ⓘ
    plugins/example-logger build: ⓘ Plugin "agentplugins-example-logger" v0.1.0 compiled for Codex.
    plugins/example-logger build: ⓘ
    plugins/example-logger build: ⓘ Install:
    plugins/example-logger build: ⓘ 1. Copy the generated files into your project root (or a sub-directory).
    plugins/example-logger build: ⓘ 2. Ensure the hook scripts under hooks/ are executable:
    plugins/example-logger build: ⓘ chmod +x hooks/
    .js
    plugins/example-logger build: ⓘ 3. Set environment variables:
    plugins/example-logger build: ⓘ export PLUGIN_ROOT=/path/to/plugin
    plugins/example-logger build: ⓘ export PLUGIN_DATA=/path/to/plugin/data
    plugins/example-logger build: ⓘ 4. Codex will auto-discover .codex-plugin/plugin.json when running
    plugins/example-logger build: ⓘ in the project directory.
    plugins/example-logger build: ⓘ
    plugins/example-logger build: ⓘ Hook protocol:
    plugins/example-logger build: ⓘ - Codex sends JSON events to each hook via stdin.
    plugins/example-logger build: ⓘ - Hooks respond with JSON on stdout.
    plugins/example-logger build: ⓘ - Exit code 0 = success / allow the operation.
    plugins/example-logger build: ⓘ - Exit code 2 = block (for Stop / SubagentStop hooks).
    plugins/example-logger build: ⓘ
    plugins/example-logger build: ⓘ Output formats:
    plugins/example-logger build: ⓘ SessionStart → { "hookSpecificOutput": { "hookEventName": "SessionStart", "additionalContext": "..." } }
    plugins/example-logger build: ⓘ PreToolUse → { "systemMessage": "Warning message" }
    plugins/example-logger build: ⓘ Stop / SubagentStop → { "decision": "block", "reason": "..." } (or exit 2)
    plugins/example-logger build: ⓘ
    plugins/example-logger build: 📦 Building for copilot...
    plugins/example-custom-adapter build: Done
    plugins/example-logger build: ✓ Built 3 files
    plugins/example-logger build: 📦 Building for gemini...
    plugins/example-logger build: ✓ Built 8 files
    plugins/example-logger build: 📦 Building for kimi...
    plugins/example-logger build: ✓ Built 8 files
    plugins/example-logger build: ⚠ 3 inline handler(s) wrapped as command scripts. Requires Node.js at runtime.
    plugins/example-logger build: 📦 Building for opencode...
    plugins/example-logger build: ✓ Built 2 files
    plugins/example-logger build: ⓘ cp agentplugins-example-logger.ts .opencode/plugins/
    plugins/example-logger build: ⓘ cp opencode.json .opencode/plugins/
    plugins/example-logger build: 📦 Building for pimono...
    plugins/example-logger build: ✓ Built 1 file
    plugins/example-logger build: ✅ Build complete!
    plugins/example-logger build: Install your plugins:
    plugins/example-logger build: claude: cp -r dist/claude ~/.claude/skills/agentplugins-example-logger
    plugins/example-logger build: codex: cp -r dist/codex ~/.codex/plugins/
    plugins/example-logger build: copilot: copilot plugin install ./dist/copilot
    plugins/example-logger build: gemini: gemini extensions install ./dist/gemini
    plugins/example-logger build: kimi: cp -r dist/kimi ~/.kimi/plugins/
    plugins/example-logger build: opencode: cp dist/opencode/*.ts .opencode/plugins/
    plugins/example-logger build: pimono: cp -r dist/pimono ~/.pi/agent/extensions/
    plugins/example-logger build: Done passes clean

Linked PR

See PR on branch.

Fields

  • type: documentation
  • Effort: small

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions