gitextract_r0_i6183/ ├── .claude/ │ ├── agents/ │ │ ├── ceo-bezos.md │ │ ├── cto-vogels.md │ │ ├── fullstack-dhh.md │ │ ├── interaction-cooper.md │ │ ├── marketing-godin.md │ │ ├── operations-pg.md │ │ ├── product-norman.md │ │ ├── qa-bach.md │ │ ├── sales-ross.md │ │ └── ui-duarte.md │ ├── settings.json │ └── skills/ │ └── team/ │ └── SKILL.md ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ ├── feature_request.md │ │ └── feedback.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── actions/ │ │ └── setup-node-pnpm/ │ │ └── action.yml │ └── workflows/ │ ├── ci.yml │ ├── deploy-website.yml │ ├── pr-title.yml │ └── release-extension.yml ├── .gitignore ├── .husky/ │ ├── commit-msg │ ├── pre-commit │ └── pre-push ├── .npmrc ├── CHANGELOG.md ├── CLAUDE.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── README_cn.md ├── SECURITY.md ├── apps/ │ ├── browser-extension/ │ │ ├── eslint.config.mjs │ │ ├── package.json │ │ ├── scripts/ │ │ │ └── vite-plugin-to-utf8.ts │ │ ├── src/ │ │ │ ├── components/ │ │ │ │ ├── app.tsx │ │ │ │ ├── context-menu.tsx │ │ │ │ ├── copy-button.tsx │ │ │ │ ├── list-copy-icon.tsx │ │ │ │ └── toast.tsx │ │ │ ├── constants/ │ │ │ │ └── extension-runtime.ts │ │ │ ├── entrypoints/ │ │ │ │ ├── background.ts │ │ │ │ ├── content.tsx │ │ │ │ ├── popup/ │ │ │ │ │ ├── index.html │ │ │ │ │ └── main.tsx │ │ │ │ └── styles/ │ │ │ │ └── globals.css │ │ │ ├── hooks/ │ │ │ │ ├── use-copy-conversation.ts │ │ │ │ └── use-extension-url.ts │ │ │ └── lib/ │ │ │ └── utils.ts │ │ ├── tsconfig.json │ │ ├── turbo.json │ │ ├── web-ext.config.ts │ │ └── wxt.config.ts │ └── web/ │ ├── content/ │ │ ├── en/ │ │ │ ├── _meta.ts │ │ │ ├── context-bundle.mdx │ │ │ ├── faq.mdx │ │ │ ├── features.mdx │ │ │ ├── getting-started.mdx │ │ │ ├── index.mdx │ │ │ ├── keyboard-shortcuts.mdx │ │ │ ├── privacy.mdx │ │ │ ├── supported-platforms.mdx │ │ │ └── terms.mdx │ │ └── zh/ │ │ ├── _meta.ts │ │ ├── context-bundle.mdx │ │ ├── faq.mdx │ │ ├── features.mdx │ │ ├── getting-started.mdx │ │ ├── index.mdx │ │ ├── keyboard-shortcuts.mdx │ │ ├── privacy.mdx │ │ ├── supported-platforms.mdx │ │ └── terms.mdx │ ├── eslint.config.mjs │ ├── mdx-components.tsx │ ├── middleware.ts │ ├── next.config.mjs │ ├── open-next.config.ts │ ├── package.json │ ├── postcss.config.cjs │ ├── public/ │ │ └── robots.txt │ ├── src/ │ │ ├── app/ │ │ │ ├── [locale]/ │ │ │ │ ├── docs/ │ │ │ │ │ ├── [[...mdxPath]]/ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── layout-client.tsx │ │ │ │ │ └── layout.tsx │ │ │ │ ├── layout.tsx │ │ │ │ └── page.tsx │ │ │ ├── error.tsx │ │ │ ├── global-error.tsx │ │ │ ├── layout-client.tsx │ │ │ ├── layout.tsx │ │ │ ├── page.tsx │ │ │ └── sitemap.ts │ │ ├── components/ │ │ │ ├── home/ │ │ │ │ └── landing-page.tsx │ │ │ ├── logo.tsx │ │ │ ├── structured-data.tsx │ │ │ └── theme-provider.tsx │ │ ├── lib/ │ │ │ └── site-info.ts │ │ ├── styles/ │ │ │ └── globals.css │ │ └── types/ │ │ └── svg.d.ts │ ├── tsconfig.json │ ├── turbo.json │ └── wrangler.json ├── commitlint.config.js ├── configs/ │ └── eslint/ │ └── shared.mjs ├── docs/ │ ├── ceo/ │ │ └── pr-faq-ctxport-mvp.md │ ├── cto/ │ │ ├── adr-adapter-v2-architecture.md │ │ ├── adr-ctxport-mvp-architecture.md │ │ ├── adr-declarative-adapter-architecture.md │ │ ├── adr-manifest-fetchbyid.md │ │ └── adr-plugin-system-architecture.md │ ├── fullstack/ │ │ ├── adapter-refactor-plan.md │ │ ├── adapter-v2-refactor-plan.md │ │ └── plugin-system-refactor-plan.md │ ├── interaction/ │ │ ├── context-copy-interaction-pain-points-2026.md │ │ ├── ctxport-mvp-interaction-spec.md │ │ ├── delight-micro-interactions.md │ │ └── persona-and-scenarios-research.md │ ├── marketing/ │ │ ├── chrome-web-store-listing.md │ │ ├── ctxport-growth-strategy-2026.md │ │ └── viral-delight-strategy.md │ ├── operations/ │ │ ├── cold-start-plan.md │ │ ├── community-signals-research.md │ │ ├── context-copy-community-signals-2026.md │ │ └── viral-growth-strategy.md │ ├── others/ │ │ └── idea.md │ ├── product/ │ │ ├── adapter-dx-assessment.md │ │ ├── adapter-v2-platform-requirements.md │ │ ├── context-copy-pain-points-2026.md │ │ ├── emotional-feedback-design.md │ │ └── user-pain-points-research.md │ ├── qa/ │ │ ├── adapter-phase123-report.md │ │ ├── adapter-phase4-report.md │ │ ├── adapter-phase5-final-report.md │ │ ├── adapter-test-strategy.md │ │ ├── auto-register-report.md │ │ ├── decouple-extension-report.md │ │ ├── mvp-final-qa-report.md │ │ ├── mvp-quality-report.md │ │ └── plugin-refactor-qa-report.md │ └── ui/ │ └── ui-polish-spec.md ├── eslint.config.mjs ├── package.json ├── packages/ │ ├── core-markdown/ │ │ ├── eslint.config.mjs │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __tests__/ │ │ │ │ ├── formats.test.ts │ │ │ │ └── serializer.test.ts │ │ │ ├── formats.ts │ │ │ ├── index.ts │ │ │ ├── serializer.ts │ │ │ └── token-estimator.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── core-plugins/ │ │ ├── eslint.config.mjs │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ ├── plugins/ │ │ │ │ ├── chatgpt/ │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── content-flatteners/ │ │ │ │ │ │ ├── code-flattener.ts │ │ │ │ │ │ ├── fallback-flattener.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── model-editable-context-flattener.ts │ │ │ │ │ │ ├── multimodal-text-flattener.ts │ │ │ │ │ │ ├── reasoning-recap-flattener.ts │ │ │ │ │ │ ├── text-flattener.ts │ │ │ │ │ │ ├── thoughts-flattener.ts │ │ │ │ │ │ ├── tool-response-flattener.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ ├── text-processor.ts │ │ │ │ │ ├── tree-linearizer.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── claude/ │ │ │ │ │ ├── message-converter.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── deepseek/ │ │ │ │ │ ├── plugin.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── doubao/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── plugin.test.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── gemini/ │ │ │ │ │ ├── parser.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ ├── runtime.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── github/ │ │ │ │ │ ├── graphql.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── grok/ │ │ │ │ │ ├── plugin.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── index.ts │ │ │ │ └── shared/ │ │ │ │ └── chat-injector.ts │ │ │ ├── registry.ts │ │ │ ├── types.ts │ │ │ └── utils.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── core-schema/ │ │ ├── eslint.config.mjs │ │ ├── package.json │ │ ├── src/ │ │ │ ├── content-bundle.ts │ │ │ ├── errors.ts │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ └── shared-ui/ │ ├── eslint.config.mjs │ ├── package.json │ ├── src/ │ │ ├── components/ │ │ │ ├── common/ │ │ │ │ ├── index.ts │ │ │ │ ├── logo.tsx │ │ │ │ └── social-icons.tsx │ │ │ ├── layout/ │ │ │ │ ├── index.ts │ │ │ │ ├── locale-toggle.tsx │ │ │ │ ├── mobile-nav.tsx │ │ │ │ ├── site-footer.tsx │ │ │ │ ├── site-header.tsx │ │ │ │ └── theme-toggle.tsx │ │ │ ├── renderer/ │ │ │ │ ├── index.ts │ │ │ │ ├── markdown-renderer.tsx │ │ │ │ └── mermaid-block.tsx │ │ │ └── ui/ │ │ │ ├── accordion.tsx │ │ │ ├── alert-dialog.tsx │ │ │ ├── alert.tsx │ │ │ ├── aspect-ratio.tsx │ │ │ ├── avatar.tsx │ │ │ ├── badge.tsx │ │ │ ├── breadcrumb.tsx │ │ │ ├── button-group.tsx │ │ │ ├── button.tsx │ │ │ ├── calendar.tsx │ │ │ ├── card.tsx │ │ │ ├── carousel.tsx │ │ │ ├── chart.tsx │ │ │ ├── checkbox.tsx │ │ │ ├── collapsible.tsx │ │ │ ├── command.tsx │ │ │ ├── context-menu.tsx │ │ │ ├── dialog.tsx │ │ │ ├── drawer.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── empty.tsx │ │ │ ├── field.tsx │ │ │ ├── form.tsx │ │ │ ├── hover-card.tsx │ │ │ ├── index.ts │ │ │ ├── input-group.tsx │ │ │ ├── input-otp.tsx │ │ │ ├── input.tsx │ │ │ ├── item.tsx │ │ │ ├── kbd.tsx │ │ │ ├── label.tsx │ │ │ ├── menubar.tsx │ │ │ ├── navigation-menu.tsx │ │ │ ├── pagination.tsx │ │ │ ├── popover.tsx │ │ │ ├── progress.tsx │ │ │ ├── radio-group.tsx │ │ │ ├── resizable.tsx │ │ │ ├── scroll-area.tsx │ │ │ ├── select.tsx │ │ │ ├── separator.tsx │ │ │ ├── sheet.tsx │ │ │ ├── sidebar.tsx │ │ │ ├── skeleton.tsx │ │ │ ├── slider.tsx │ │ │ ├── sonner.tsx │ │ │ ├── spinner.tsx │ │ │ ├── switch.tsx │ │ │ ├── table.tsx │ │ │ ├── tabs.tsx │ │ │ ├── textarea.tsx │ │ │ ├── toggle-group.tsx │ │ │ ├── toggle.tsx │ │ │ ├── tooltip.tsx │ │ │ └── visually-hidden.tsx │ │ ├── constants/ │ │ │ └── index.ts │ │ ├── contexts/ │ │ │ └── index.ts │ │ ├── hooks/ │ │ │ ├── index.ts │ │ │ ├── use-breakpoint.ts │ │ │ └── use-mobile.ts │ │ ├── i18n/ │ │ │ ├── core.ts │ │ │ ├── index.ts │ │ │ ├── locales/ │ │ │ │ ├── en.ts │ │ │ │ └── zh.ts │ │ │ ├── react.tsx │ │ │ └── types.ts │ │ ├── index.ts │ │ ├── styles/ │ │ │ ├── globals.css │ │ │ └── renderer.css │ │ └── utils/ │ │ ├── common.ts │ │ ├── date.ts │ │ ├── filename.ts │ │ ├── format.ts │ │ ├── index.ts │ │ ├── shiki.ts │ │ └── uuid.ts │ ├── tsconfig.json │ └── tsup.config.ts ├── pnpm-workspace.yaml ├── release.config.cjs ├── scripts/ │ └── sync-manifest-version.mjs ├── tsconfig.base.json ├── tsconfig.json └── turbo.json