#
tokens: 42923/50000 3/163 files (page 3/4)
lines: off (toggle) GitHub
raw markdown copy
This is page 3 of 4. Use http://codebase.md/hongsw/claude-agents-power-mcp-server?page={x} to view the full context.

# Directory Structure

```
├── .claude
│   └── agents
│       ├── devops-engineer.md
│       ├── frontend-developer.md
│       ├── qa-engineer.md
│       ├── README.md
│       ├── security-engineer.md
│       └── tech-lead.md
├── .gitignore
├── agents
│   ├── backend-engineer.md
│   ├── data-scientist.md
│   ├── devops-engineer.md
│   ├── frontend-developer.md
│   ├── full-stack-developer.md
│   ├── mobile-developer.md
│   ├── qa-engineer.md
│   ├── README.md
│   ├── security-engineer.md
│   ├── tech-lead.md
│   └── ui-designer.md
├── CHANGELOG.md
├── claude
│   └── agents
│       ├── company-roles.md
│       ├── en
│       │   ├── account-manager.md
│       │   ├── accountant.md
│       │   ├── accounting-manager.md
│       │   ├── agile-coach.md
│       │   ├── ai-researcher.md
│       │   ├── backend-developer.md
│       │   ├── backend-engineer.md
│       │   ├── bi-developer.md
│       │   ├── blockchain-developer.md
│       │   ├── brand-manager.md
│       │   ├── budget-analyst.md
│       │   ├── business-analyst.md
│       │   ├── business-developer.md
│       │   ├── business-development-manager.md
│       │   ├── business-intelligence-analyst.md
│       │   ├── business-process-analyst.md
│       │   ├── change-management-specialist.md
│       │   ├── change-manager.md
│       │   ├── chief-data-officer.md
│       │   ├── chief-executive-officer.md
│       │   ├── chief-financial-officer.md
│       │   ├── chief-human-resources-officer.md
│       │   ├── chief-information-officer.md
│       │   ├── chief-marketing-officer.md
│       │   ├── chief-operating-officer.md
│       │   ├── chief-product-officer.md
│       │   ├── chief-technology-officer.md
│       │   ├── clinical-researcher.md
│       │   ├── cloud-architect.md
│       │   ├── communications-director.md
│       │   ├── compensation-benefits-manager.md
│       │   ├── compensation-benefits.md
│       │   ├── compliance-manager.md
│       │   ├── compliance-officer.md
│       │   ├── content-creator.md
│       │   ├── content-marketer.md
│       │   ├── content-marketing-manager.md
│       │   ├── contract-manager.md
│       │   ├── controller.md
│       │   ├── copywriter.md
│       │   ├── corporate-trainer.md
│       │   ├── creative-director.md
│       │   ├── credit-analyst.md
│       │   ├── curriculum-developer.md
│       │   ├── customer-service-manager.md
│       │   ├── customer-success-manager.md
│       │   ├── data-analyst.md
│       │   ├── data-engineer.md
│       │   ├── data-scientist.md
│       │   ├── database-administrator.md
│       │   ├── design-lead.md
│       │   ├── devops-engineer.md
│       │   ├── digital-marketer.md
│       │   ├── digital-marketing-specialist.md
│       │   ├── diversity-inclusion-manager.md
│       │   ├── diversity-inclusion.md
│       │   ├── embedded-systems-engineer.md
│       │   ├── environmental-engineer.md
│       │   ├── event-manager.md
│       │   ├── executive-assistant.md
│       │   ├── facilities-manager.md
│       │   ├── facility-manager.md
│       │   ├── financial-analyst.md
│       │   ├── financial-controller.md
│       │   ├── frontend-developer.md
│       │   ├── full-stack-developer.md
│       │   ├── game-developer.md
│       │   ├── graphic-designer.md
│       │   ├── growth-hacker.md
│       │   ├── growth-marketing-manager.md
│       │   ├── health-informatics.md
│       │   ├── healthcare-analyst.md
│       │   ├── help-desk-specialist.md
│       │   ├── hr-manager.md
│       │   ├── implementation-consultant.md
│       │   ├── innovation-manager.md
│       │   ├── instructional-designer.md
│       │   ├── interaction-designer.md
│       │   ├── internal-auditor.md
│       │   ├── investment-analyst.md
│       │   ├── investor-relations-manager.md
│       │   ├── investor-relations.md
│       │   ├── it-administrator.md
│       │   ├── learning-development-manager.md
│       │   ├── learning-development.md
│       │   ├── legal-counsel.md
│       │   ├── machine-learning-engineer.md
│       │   ├── marketing-analyst.md
│       │   ├── marketing-manager.md
│       │   ├── medical-writer.md
│       │   ├── mobile-developer.md
│       │   ├── motion-designer.md
│       │   ├── network-engineer.md
│       │   ├── office-manager.md
│       │   ├── operations-manager.md
│       │   ├── organizational-developer.md
│       │   ├── organizational-development-manager.md
│       │   ├── partnership-manager.md
│       │   ├── patent-engineer.md
│       │   ├── payroll-manager.md
│       │   ├── pr-manager.md
│       │   ├── pre-sales-consultant.md
│       │   ├── privacy-officer.md
│       │   ├── process-engineer.md
│       │   ├── procurement-manager.md
│       │   ├── procurement-specialist.md
│       │   ├── product-designer.md
│       │   ├── product-manager.md
│       │   ├── product-owner.md
│       │   ├── production-manager.md
│       │   ├── program-manager.md
│       │   ├── project-manager.md
│       │   ├── public-relations-manager.md
│       │   ├── qa-engineer.md
│       │   ├── quality-assurance-manager.md
│       │   ├── quality-engineer.md
│       │   ├── r-and-d-engineer.md
│       │   ├── real-estate-analyst.md
│       │   ├── research-scientist.md
│       │   ├── risk-manager.md
│       │   ├── sales-engineer.md
│       │   ├── sales-manager.md
│       │   ├── scrum-master.md
│       │   ├── security-engineer.md
│       │   ├── seo-specialist.md
│       │   ├── site-reliability-engineer.md
│       │   ├── social-media-manager.md
│       │   ├── software-engineer.md
│       │   ├── solution-architect.md
│       │   ├── strategy-consultant.md
│       │   ├── supply-chain-manager.md
│       │   ├── sustainability-manager.md
│       │   ├── talent-acquisition-specialist.md
│       │   ├── talent-acquisition.md
│       │   ├── tax-manager.md
│       │   ├── tech-lead.md
│       │   ├── technical-pm.md
│       │   ├── technical-support-engineer.md
│       │   ├── technical-support.md
│       │   ├── technical-writer.md
│       │   ├── training-specialist.md
│       │   ├── treasury-manager.md
│       │   ├── ui-designer.md
│       │   ├── ux-designer.md
│       │   ├── ux-researcher.md
│       │   └── video-producer.md
│       ├── ja
│       │   ├── backend-engineer.md
│       │   ├── data-scientist.md
│       │   ├── devops-engineer.md
│       │   ├── frontend-developer.md
│       │   └── product-manager.md
│       ├── ko
│       │   ├── account-manager.md
│       │   ├── accountant.md
│       │   ├── backend-developer.md
│       │   ├── backend-engineer.md
│       │   ├── bi-developer.md
│       │   ├── blockchain-developer.md
│       │   ├── brand-manager.md
│       │   ├── budget-analyst.md
│       │   ├── business-analyst.md
│       │   ├── business-developer.md
│       │   ├── change-manager.md
│       │   ├── clinical-researcher.md
│       │   ├── cloud-architect.md
│       │   ├── communications-director.md
│       │   ├── compensation-benefits.md
│       │   ├── compliance-officer.md
│       │   ├── content-creator.md
│       │   ├── content-marketer.md
│       │   ├── contract-manager.md
│       │   ├── controller.md
│       │   ├── copywriter.md
│       │   ├── corporate-trainer.md
│       │   ├── curriculum-developer.md
│       │   ├── customer-success-manager.md
│       │   ├── data-analyst.md
│       │   ├── data-engineer.md
│       │   ├── data-scientist.md
│       │   ├── devops-engineer.md
│       │   ├── digital-marketer.md
│       │   ├── diversity-inclusion.md
│       │   ├── environmental-engineer.md
│       │   ├── event-manager.md
│       │   ├── executive-assistant.md
│       │   ├── facility-manager.md
│       │   ├── financial-analyst.md
│       │   ├── frontend-developer.md
│       │   ├── full-stack-developer.md
│       │   ├── graphic-designer.md
│       │   ├── growth-hacker.md
│       │   ├── health-informatics.md
│       │   ├── healthcare-analyst.md
│       │   ├── help-desk-specialist.md
│       │   ├── hr-manager.md
│       │   ├── innovation-manager.md
│       │   ├── instructional-designer.md
│       │   ├── internal-auditor.md
│       │   ├── investor-relations.md
│       │   ├── it-administrator.md
│       │   ├── learning-development.md
│       │   ├── legal-counsel.md
│       │   ├── machine-learning-engineer.md
│       │   ├── marketing-analyst.md
│       │   ├── medical-writer.md
│       │   ├── mobile-developer.md
│       │   ├── motion-designer.md
│       │   ├── operations-manager.md
│       │   ├── organizational-developer.md
│       │   ├── patent-engineer.md
│       │   ├── pr-manager.md
│       │   ├── privacy-officer.md
│       │   ├── process-engineer.md
│       │   ├── procurement-specialist.md
│       │   ├── product-designer.md
│       │   ├── product-manager.md
│       │   ├── product-owner.md
│       │   ├── production-manager.md
│       │   ├── project-manager.md
│       │   ├── qa-engineer.md
│       │   ├── quality-engineer.md
│       │   ├── r-and-d-engineer.md
│       │   ├── real-estate-analyst.md
│       │   ├── research-scientist.md
│       │   ├── risk-manager.md
│       │   ├── sales-manager.md
│       │   ├── scrum-master.md
│       │   ├── security-engineer.md
│       │   ├── social-media-manager.md
│       │   ├── software-engineer.md
│       │   ├── strategy-consultant.md
│       │   ├── supply-chain-manager.md
│       │   ├── sustainability-manager.md
│       │   ├── talent-acquisition.md
│       │   ├── technical-pm.md
│       │   ├── technical-support.md
│       │   ├── treasury-manager.md
│       │   ├── ui-designer.md
│       │   └── ux-designer.md
│       └── zh
│           ├── backend-engineer.md
│           ├── data-scientist.md
│           ├── devops-engineer.md
│           ├── frontend-developer.md
│           ├── product-manager.md
│           ├── project-manager.md
│           ├── qa-engineer.md
│           └── security-engineer.md
├── claude-slash-commands
│   ├── agent-download.md
│   ├── agents-load.md
│   ├── agents-search.md
│   ├── agents-suggest.md
│   ├── agents-version.md
│   └── splash.md
├── CLAUDE.md
├── dist
│   ├── agentManager.d.ts
│   ├── agentManager.d.ts.map
│   ├── agentManager.js
│   ├── agentManager.js.map
│   ├── githubIntegration.d.ts
│   ├── githubIntegration.d.ts.map
│   ├── githubIntegration.js
│   ├── githubIntegration.js.map
│   ├── index.d.ts
│   ├── index.d.ts.map
│   ├── index.js
│   ├── index.js.map
│   ├── projectAnalyzer.d.ts
│   ├── projectAnalyzer.d.ts.map
│   ├── projectAnalyzer.js
│   └── projectAnalyzer.js.map
├── docs
│   ├── company_roles.md
│   └── index.html
├── examples
│   └── usage.md
├── EXAMPLES.md
├── FIXED.md
├── index.html
├── install-slash-commands.js
├── INSTALL.md
├── INSTALLATION.md
├── LICENSE
├── node_modules
│   ├── .bin
│   │   ├── esbuild
│   │   ├── glob
│   │   ├── js-yaml
│   │   ├── node-which
│   │   ├── tsc
│   │   ├── tsserver
│   │   └── tsx
│   ├── .package-lock.json
│   ├── @esbuild
│   │   └── darwin-arm64
│   │       ├── bin
│   │       │   └── esbuild
│   │       ├── package.json
│   │       └── README.md
│   ├── @isaacs
│   │   └── cliui
│   │       ├── build
│   │       │   ├── index.cjs
│   │       │   ├── index.d.cts
│   │       │   └── lib
│   │       │       └── index.js
│   │       ├── index.mjs
│   │       ├── LICENSE.txt
│   │       ├── package.json
│   │       └── README.md
│   ├── @modelcontextprotocol
│   │   └── sdk
│   │       ├── dist
│   │       │   ├── cli.d.ts
│   │       │   ├── cli.d.ts.map
│   │       │   ├── cli.js
│   │       │   ├── cli.js.map
│   │       │   ├── client
│   │       │   │   ├── index.d.ts
│   │       │   │   ├── index.d.ts.map
│   │       │   │   ├── index.js
│   │       │   │   ├── index.js.map
│   │       │   │   ├── index.test.d.ts
│   │       │   │   ├── index.test.d.ts.map
│   │       │   │   ├── index.test.js
│   │       │   │   ├── index.test.js.map
│   │       │   │   ├── sse.d.ts
│   │       │   │   ├── sse.d.ts.map
│   │       │   │   ├── sse.js
│   │       │   │   ├── sse.js.map
│   │       │   │   ├── stdio.d.ts
│   │       │   │   ├── stdio.d.ts.map
│   │       │   │   ├── stdio.js
│   │       │   │   ├── stdio.js.map
│   │       │   │   ├── stdio.test.d.ts
│   │       │   │   ├── stdio.test.d.ts.map
│   │       │   │   ├── stdio.test.js
│   │       │   │   ├── stdio.test.js.map
│   │       │   │   ├── websocket.d.ts
│   │       │   │   ├── websocket.d.ts.map
│   │       │   │   ├── websocket.js
│   │       │   │   └── websocket.js.map
│   │       │   ├── inMemory.d.ts
│   │       │   ├── inMemory.d.ts.map
│   │       │   ├── inMemory.js
│   │       │   ├── inMemory.js.map
│   │       │   ├── inMemory.test.d.ts
│   │       │   ├── inMemory.test.d.ts.map
│   │       │   ├── inMemory.test.js
│   │       │   ├── inMemory.test.js.map
│   │       │   ├── server
│   │       │   │   ├── index.d.ts
│   │       │   │   ├── index.d.ts.map
│   │       │   │   ├── index.js
│   │       │   │   ├── index.js.map
│   │       │   │   ├── index.test.d.ts
│   │       │   │   ├── index.test.d.ts.map
│   │       │   │   ├── index.test.js
│   │       │   │   ├── index.test.js.map
│   │       │   │   ├── sse.d.ts
│   │       │   │   ├── sse.d.ts.map
│   │       │   │   ├── sse.js
│   │       │   │   ├── sse.js.map
│   │       │   │   ├── stdio.d.ts
│   │       │   │   ├── stdio.d.ts.map
│   │       │   │   ├── stdio.js
│   │       │   │   ├── stdio.js.map
│   │       │   │   ├── stdio.test.d.ts
│   │       │   │   ├── stdio.test.d.ts.map
│   │       │   │   ├── stdio.test.js
│   │       │   │   └── stdio.test.js.map
│   │       │   ├── shared
│   │       │   │   ├── protocol.d.ts
│   │       │   │   ├── protocol.d.ts.map
│   │       │   │   ├── protocol.js
│   │       │   │   ├── protocol.js.map
│   │       │   │   ├── stdio.d.ts
│   │       │   │   ├── stdio.d.ts.map
│   │       │   │   ├── stdio.js
│   │       │   │   ├── stdio.js.map
│   │       │   │   ├── stdio.test.d.ts
│   │       │   │   ├── stdio.test.d.ts.map
│   │       │   │   ├── stdio.test.js
│   │       │   │   ├── stdio.test.js.map
│   │       │   │   ├── transport.d.ts
│   │       │   │   ├── transport.d.ts.map
│   │       │   │   ├── transport.js
│   │       │   │   └── transport.js.map
│   │       │   ├── types.d.ts
│   │       │   ├── types.d.ts.map
│   │       │   ├── types.js
│   │       │   ├── types.js.map
│   │       │   ├── utils.d.ts
│   │       │   ├── utils.d.ts.map
│   │       │   ├── utils.js
│   │       │   ├── utils.js.map
│   │       │   ├── utils.test.d.ts
│   │       │   ├── utils.test.d.ts.map
│   │       │   ├── utils.test.js
│   │       │   └── utils.test.js.map
│   │       ├── LICENSE
│   │       ├── package.json
│   │       └── README.md
│   ├── @pkgjs
│   │   └── parseargs
│   │       ├── .editorconfig
│   │       ├── CHANGELOG.md
│   │       ├── examples
│   │       │   ├── is-default-value.js
│   │       │   ├── limit-long-syntax.js
│   │       │   ├── negate.js
│   │       │   ├── no-repeated-options.js
│   │       │   ├── ordered-options.mjs
│   │       │   └── simple-hard-coded.js
│   │       ├── index.js
│   │       ├── internal
│   │       │   ├── errors.js
│   │       │   ├── primordials.js
│   │       │   ├── util.js
│   │       │   └── validators.js
│   │       ├── LICENSE
│   │       ├── package.json
│   │       ├── README.md
│   │       └── utils.js
│   ├── @types
│   │   ├── js-yaml
│   │   │   ├── index.d.mts
│   │   │   ├── index.d.ts
│   │   │   ├── LICENSE
│   │   │   ├── package.json
│   │   │   └── README.md
│   │   └── node
│   │       ├── assert
│   │       │   └── strict.d.ts
│   │       ├── assert.d.ts
│   │       ├── async_hooks.d.ts
│   │       ├── buffer.buffer.d.ts
│   │       ├── buffer.d.ts
│   │       ├── child_process.d.ts
│   │       ├── cluster.d.ts
│   │       ├── compatibility
│   │       │   ├── disposable.d.ts
│   │       │   ├── index.d.ts
│   │       │   ├── indexable.d.ts
│   │       │   └── iterators.d.ts
│   │       ├── console.d.ts
│   │       ├── constants.d.ts
│   │       ├── crypto.d.ts
│   │       ├── dgram.d.ts
│   │       ├── diagnostics_channel.d.ts
│   │       ├── dns
│   │       │   └── promises.d.ts
│   │       ├── dns.d.ts
│   │       ├── dom-events.d.ts
│   │       ├── domain.d.ts
│   │       ├── events.d.ts
│   │       ├── fs
│   │       │   └── promises.d.ts
│   │       ├── fs.d.ts
│   │       ├── globals.d.ts
│   │       ├── globals.typedarray.d.ts
│   │       ├── http.d.ts
│   │       ├── http2.d.ts
│   │       ├── https.d.ts
│   │       ├── index.d.ts
│   │       ├── inspector.d.ts
│   │       ├── LICENSE
│   │       ├── module.d.ts
│   │       ├── net.d.ts
│   │       ├── os.d.ts
│   │       ├── package.json
│   │       ├── path.d.ts
│   │       ├── perf_hooks.d.ts
│   │       ├── process.d.ts
│   │       ├── punycode.d.ts
│   │       ├── querystring.d.ts
│   │       ├── readline
│   │       │   └── promises.d.ts
│   │       ├── readline.d.ts
│   │       ├── README.md
│   │       ├── repl.d.ts
│   │       ├── sea.d.ts
│   │       ├── stream
│   │       │   ├── consumers.d.ts
│   │       │   ├── promises.d.ts
│   │       │   └── web.d.ts
│   │       ├── stream.d.ts
│   │       ├── string_decoder.d.ts
│   │       ├── test.d.ts
│   │       ├── timers
│   │       │   └── promises.d.ts
│   │       ├── timers.d.ts
│   │       ├── tls.d.ts
│   │       ├── trace_events.d.ts
│   │       ├── ts5.6
│   │       │   ├── buffer.buffer.d.ts
│   │       │   ├── globals.typedarray.d.ts
│   │       │   └── index.d.ts
│   │       ├── tty.d.ts
│   │       ├── url.d.ts
│   │       ├── util.d.ts
│   │       ├── v8.d.ts
│   │       ├── vm.d.ts
│   │       ├── wasi.d.ts
│   │       ├── worker_threads.d.ts
│   │       └── zlib.d.ts
│   ├── ansi-regex
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── ansi-styles
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── argparse
│   │   ├── argparse.js
│   │   ├── CHANGELOG.md
│   │   ├── lib
│   │   │   ├── sub.js
│   │   │   └── textwrap.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── balanced-match
│   │   ├── .github
│   │   │   └── FUNDING.yml
│   │   ├── index.js
│   │   ├── LICENSE.md
│   │   ├── package.json
│   │   └── README.md
│   ├── brace-expansion
│   │   ├── .github
│   │   │   └── FUNDING.yml
│   │   ├── index.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── bytes
│   │   ├── History.md
│   │   ├── index.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── Readme.md
│   ├── color-convert
│   │   ├── CHANGELOG.md
│   │   ├── conversions.js
│   │   ├── index.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   └── route.js
│   ├── color-name
│   │   ├── index.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── commander
│   │   ├── esm.mjs
│   │   ├── index.js
│   │   ├── lib
│   │   │   ├── argument.js
│   │   │   ├── command.js
│   │   │   ├── error.js
│   │   │   ├── help.js
│   │   │   ├── option.js
│   │   │   └── suggestSimilar.js
│   │   ├── LICENSE
│   │   ├── package-support.json
│   │   ├── package.json
│   │   ├── Readme.md
│   │   └── typings
│   │       ├── esm.d.mts
│   │       └── index.d.ts
│   ├── content-type
│   │   ├── HISTORY.md
│   │   ├── index.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── cross-spawn
│   │   ├── index.js
│   │   ├── lib
│   │   │   ├── enoent.js
│   │   │   ├── parse.js
│   │   │   └── util
│   │   │       ├── escape.js
│   │   │       ├── readShebang.js
│   │   │       └── resolveCommand.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── depd
│   │   ├── History.md
│   │   ├── index.js
│   │   ├── lib
│   │   │   └── browser
│   │   │       └── index.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── Readme.md
│   ├── eastasianwidth
│   │   ├── eastasianwidth.js
│   │   ├── package.json
│   │   └── README.md
│   ├── emoji-regex
│   │   ├── es2015
│   │   │   ├── index.d.ts
│   │   │   ├── index.js
│   │   │   ├── RGI_Emoji.d.ts
│   │   │   ├── RGI_Emoji.js
│   │   │   ├── text.d.ts
│   │   │   └── text.js
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── LICENSE-MIT.txt
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── RGI_Emoji.d.ts
│   │   ├── RGI_Emoji.js
│   │   ├── text.d.ts
│   │   └── text.js
│   ├── esbuild
│   │   ├── bin
│   │   │   └── esbuild
│   │   ├── install.js
│   │   ├── lib
│   │   │   ├── main.d.ts
│   │   │   └── main.js
│   │   ├── LICENSE.md
│   │   ├── package.json
│   │   └── README.md
│   ├── foreground-child
│   │   ├── dist
│   │   │   ├── commonjs
│   │   │   │   ├── all-signals.d.ts
│   │   │   │   ├── all-signals.d.ts.map
│   │   │   │   ├── all-signals.js
│   │   │   │   ├── all-signals.js.map
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.d.ts.map
│   │   │   │   ├── index.js
│   │   │   │   ├── index.js.map
│   │   │   │   ├── package.json
│   │   │   │   ├── proxy-signals.d.ts
│   │   │   │   ├── proxy-signals.d.ts.map
│   │   │   │   ├── proxy-signals.js
│   │   │   │   ├── proxy-signals.js.map
│   │   │   │   ├── watchdog.d.ts
│   │   │   │   ├── watchdog.d.ts.map
│   │   │   │   ├── watchdog.js
│   │   │   │   └── watchdog.js.map
│   │   │   └── esm
│   │   │       ├── all-signals.d.ts
│   │   │       ├── all-signals.d.ts.map
│   │   │       ├── all-signals.js
│   │   │       ├── all-signals.js.map
│   │   │       ├── index.d.ts
│   │   │       ├── index.d.ts.map
│   │   │       ├── index.js
│   │   │       ├── index.js.map
│   │   │       ├── package.json
│   │   │       ├── proxy-signals.d.ts
│   │   │       ├── proxy-signals.d.ts.map
│   │   │       ├── proxy-signals.js
│   │   │       ├── proxy-signals.js.map
│   │   │       ├── watchdog.d.ts
│   │   │       ├── watchdog.d.ts.map
│   │   │       ├── watchdog.js
│   │   │       └── watchdog.js.map
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── get-tsconfig
│   │   ├── dist
│   │   │   ├── index.cjs
│   │   │   ├── index.d.cts
│   │   │   ├── index.d.mts
│   │   │   └── index.mjs
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── glob
│   │   ├── dist
│   │   │   ├── commonjs
│   │   │   │   ├── glob.d.ts
│   │   │   │   ├── glob.d.ts.map
│   │   │   │   ├── glob.js
│   │   │   │   ├── glob.js.map
│   │   │   │   ├── has-magic.d.ts
│   │   │   │   ├── has-magic.d.ts.map
│   │   │   │   ├── has-magic.js
│   │   │   │   ├── has-magic.js.map
│   │   │   │   ├── ignore.d.ts
│   │   │   │   ├── ignore.d.ts.map
│   │   │   │   ├── ignore.js
│   │   │   │   ├── ignore.js.map
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.d.ts.map
│   │   │   │   ├── index.js
│   │   │   │   ├── index.js.map
│   │   │   │   ├── package.json
│   │   │   │   ├── pattern.d.ts
│   │   │   │   ├── pattern.d.ts.map
│   │   │   │   ├── pattern.js
│   │   │   │   ├── pattern.js.map
│   │   │   │   ├── processor.d.ts
│   │   │   │   ├── processor.d.ts.map
│   │   │   │   ├── processor.js
│   │   │   │   ├── processor.js.map
│   │   │   │   ├── walker.d.ts
│   │   │   │   ├── walker.d.ts.map
│   │   │   │   ├── walker.js
│   │   │   │   └── walker.js.map
│   │   │   └── esm
│   │   │       ├── bin.d.mts
│   │   │       ├── bin.d.mts.map
│   │   │       ├── bin.mjs
│   │   │       ├── bin.mjs.map
│   │   │       ├── glob.d.ts
│   │   │       ├── glob.d.ts.map
│   │   │       ├── glob.js
│   │   │       ├── glob.js.map
│   │   │       ├── has-magic.d.ts
│   │   │       ├── has-magic.d.ts.map
│   │   │       ├── has-magic.js
│   │   │       ├── has-magic.js.map
│   │   │       ├── ignore.d.ts
│   │   │       ├── ignore.d.ts.map
│   │   │       ├── ignore.js
│   │   │       ├── ignore.js.map
│   │   │       ├── index.d.ts
│   │   │       ├── index.d.ts.map
│   │   │       ├── index.js
│   │   │       ├── index.js.map
│   │   │       ├── package.json
│   │   │       ├── pattern.d.ts
│   │   │       ├── pattern.d.ts.map
│   │   │       ├── pattern.js
│   │   │       ├── pattern.js.map
│   │   │       ├── processor.d.ts
│   │   │       ├── processor.d.ts.map
│   │   │       ├── processor.js
│   │   │       ├── processor.js.map
│   │   │       ├── walker.d.ts
│   │   │       ├── walker.d.ts.map
│   │   │       ├── walker.js
│   │   │       └── walker.js.map
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── http-errors
│   │   ├── HISTORY.md
│   │   ├── index.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── iconv-lite
│   │   ├── .github
│   │   │   └── dependabot.yml
│   │   ├── .idea
│   │   │   ├── codeStyles
│   │   │   │   ├── codeStyleConfig.xml
│   │   │   │   └── Project.xml
│   │   │   ├── iconv-lite.iml
│   │   │   ├── inspectionProfiles
│   │   │   │   └── Project_Default.xml
│   │   │   ├── modules.xml
│   │   │   └── vcs.xml
│   │   ├── Changelog.md
│   │   ├── encodings
│   │   │   ├── dbcs-codec.js
│   │   │   ├── dbcs-data.js
│   │   │   ├── index.js
│   │   │   ├── internal.js
│   │   │   ├── sbcs-codec.js
│   │   │   ├── sbcs-data-generated.js
│   │   │   ├── sbcs-data.js
│   │   │   ├── tables
│   │   │   │   ├── big5-added.json
│   │   │   │   ├── cp936.json
│   │   │   │   ├── cp949.json
│   │   │   │   ├── cp950.json
│   │   │   │   ├── eucjp.json
│   │   │   │   ├── gb18030-ranges.json
│   │   │   │   ├── gbk-added.json
│   │   │   │   └── shiftjis.json
│   │   │   ├── utf16.js
│   │   │   ├── utf32.js
│   │   │   └── utf7.js
│   │   ├── lib
│   │   │   ├── bom-handling.js
│   │   │   ├── index.d.ts
│   │   │   ├── index.js
│   │   │   └── streams.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── inherits
│   │   ├── inherits_browser.js
│   │   ├── inherits.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── is-fullwidth-code-point
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── isexe
│   │   ├── .npmignore
│   │   ├── index.js
│   │   ├── LICENSE
│   │   ├── mode.js
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── test
│   │   │   └── basic.js
│   │   └── windows.js
│   ├── jackspeak
│   │   ├── dist
│   │   │   ├── commonjs
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.d.ts.map
│   │   │   │   ├── index.js
│   │   │   │   ├── index.js.map
│   │   │   │   ├── package.json
│   │   │   │   ├── parse-args-cjs.cjs.map
│   │   │   │   ├── parse-args-cjs.d.cts.map
│   │   │   │   ├── parse-args.d.ts
│   │   │   │   └── parse-args.js
│   │   │   └── esm
│   │   │       ├── index.d.ts
│   │   │       ├── index.d.ts.map
│   │   │       ├── index.js
│   │   │       ├── index.js.map
│   │   │       ├── package.json
│   │   │       ├── parse-args.d.ts
│   │   │       ├── parse-args.d.ts.map
│   │   │       ├── parse-args.js
│   │   │       └── parse-args.js.map
│   │   ├── LICENSE.md
│   │   ├── package.json
│   │   └── README.md
│   ├── js-yaml
│   │   ├── bin
│   │   │   └── js-yaml.js
│   │   ├── CHANGELOG.md
│   │   ├── dist
│   │   │   ├── js-yaml.js
│   │   │   ├── js-yaml.min.js
│   │   │   └── js-yaml.mjs
│   │   ├── index.js
│   │   ├── lib
│   │   │   ├── common.js
│   │   │   ├── dumper.js
│   │   │   ├── exception.js
│   │   │   ├── loader.js
│   │   │   ├── schema
│   │   │   │   ├── core.js
│   │   │   │   ├── default.js
│   │   │   │   ├── failsafe.js
│   │   │   │   └── json.js
│   │   │   ├── schema.js
│   │   │   ├── snippet.js
│   │   │   ├── type
│   │   │   │   ├── binary.js
│   │   │   │   ├── bool.js
│   │   │   │   ├── float.js
│   │   │   │   ├── int.js
│   │   │   │   ├── map.js
│   │   │   │   ├── merge.js
│   │   │   │   ├── null.js
│   │   │   │   ├── omap.js
│   │   │   │   ├── pairs.js
│   │   │   │   ├── seq.js
│   │   │   │   ├── set.js
│   │   │   │   ├── str.js
│   │   │   │   └── timestamp.js
│   │   │   └── type.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── lru-cache
│   │   ├── dist
│   │   │   ├── commonjs
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.d.ts.map
│   │   │   │   ├── index.js
│   │   │   │   ├── index.js.map
│   │   │   │   ├── index.min.js
│   │   │   │   ├── index.min.js.map
│   │   │   │   └── package.json
│   │   │   └── esm
│   │   │       ├── index.d.ts
│   │   │       ├── index.d.ts.map
│   │   │       ├── index.js
│   │   │       ├── index.js.map
│   │   │       ├── index.min.js
│   │   │       ├── index.min.js.map
│   │   │       └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── minimatch
│   │   ├── dist
│   │   │   ├── commonjs
│   │   │   │   ├── assert-valid-pattern.d.ts
│   │   │   │   ├── assert-valid-pattern.d.ts.map
│   │   │   │   ├── assert-valid-pattern.js
│   │   │   │   ├── assert-valid-pattern.js.map
│   │   │   │   ├── ast.d.ts
│   │   │   │   ├── ast.d.ts.map
│   │   │   │   ├── ast.js
│   │   │   │   ├── ast.js.map
│   │   │   │   ├── brace-expressions.d.ts
│   │   │   │   ├── brace-expressions.d.ts.map
│   │   │   │   ├── brace-expressions.js
│   │   │   │   ├── brace-expressions.js.map
│   │   │   │   ├── escape.d.ts
│   │   │   │   ├── escape.d.ts.map
│   │   │   │   ├── escape.js
│   │   │   │   ├── escape.js.map
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.d.ts.map
│   │   │   │   ├── index.js
│   │   │   │   ├── index.js.map
│   │   │   │   ├── package.json
│   │   │   │   ├── unescape.d.ts
│   │   │   │   ├── unescape.d.ts.map
│   │   │   │   ├── unescape.js
│   │   │   │   └── unescape.js.map
│   │   │   └── esm
│   │   │       ├── assert-valid-pattern.d.ts
│   │   │       ├── assert-valid-pattern.d.ts.map
│   │   │       ├── assert-valid-pattern.js
│   │   │       ├── assert-valid-pattern.js.map
│   │   │       ├── ast.d.ts
│   │   │       ├── ast.d.ts.map
│   │   │       ├── ast.js
│   │   │       ├── ast.js.map
│   │   │       ├── brace-expressions.d.ts
│   │   │       ├── brace-expressions.d.ts.map
│   │   │       ├── brace-expressions.js
│   │   │       ├── brace-expressions.js.map
│   │   │       ├── escape.d.ts
│   │   │       ├── escape.d.ts.map
│   │   │       ├── escape.js
│   │   │       ├── escape.js.map
│   │   │       ├── index.d.ts
│   │   │       ├── index.d.ts.map
│   │   │       ├── index.js
│   │   │       ├── index.js.map
│   │   │       ├── package.json
│   │   │       ├── unescape.d.ts
│   │   │       ├── unescape.d.ts.map
│   │   │       ├── unescape.js
│   │   │       └── unescape.js.map
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── minipass
│   │   ├── dist
│   │   │   ├── commonjs
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.d.ts.map
│   │   │   │   ├── index.js
│   │   │   │   ├── index.js.map
│   │   │   │   └── package.json
│   │   │   └── esm
│   │   │       ├── index.d.ts
│   │   │       ├── index.d.ts.map
│   │   │       ├── index.js
│   │   │       ├── index.js.map
│   │   │       └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── package-json-from-dist
│   │   ├── dist
│   │   │   ├── commonjs
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.d.ts.map
│   │   │   │   ├── index.js
│   │   │   │   ├── index.js.map
│   │   │   │   └── package.json
│   │   │   └── esm
│   │   │       ├── index.d.ts
│   │   │       ├── index.d.ts.map
│   │   │       ├── index.js
│   │   │       ├── index.js.map
│   │   │       └── package.json
│   │   ├── LICENSE.md
│   │   ├── package.json
│   │   └── README.md
│   ├── path-key
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── path-scurry
│   │   ├── dist
│   │   │   ├── commonjs
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.d.ts.map
│   │   │   │   ├── index.js
│   │   │   │   ├── index.js.map
│   │   │   │   └── package.json
│   │   │   └── esm
│   │   │       ├── index.d.ts
│   │   │       ├── index.d.ts.map
│   │   │       ├── index.js
│   │   │       ├── index.js.map
│   │   │       └── package.json
│   │   ├── LICENSE.md
│   │   ├── package.json
│   │   └── README.md
│   ├── raw-body
│   │   ├── HISTORY.md
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   └── SECURITY.md
│   ├── resolve-pkg-maps
│   │   ├── dist
│   │   │   ├── index.cjs
│   │   │   ├── index.d.cts
│   │   │   ├── index.d.mts
│   │   │   └── index.mjs
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── safer-buffer
│   │   ├── dangerous.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── Porting-Buffer.md
│   │   ├── Readme.md
│   │   ├── safer.js
│   │   └── tests.js
│   ├── setprototypeof
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   └── test
│   │       └── index.js
│   ├── shebang-command
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── shebang-regex
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── signal-exit
│   │   ├── dist
│   │   │   ├── cjs
│   │   │   │   ├── browser.d.ts
│   │   │   │   ├── browser.d.ts.map
│   │   │   │   ├── browser.js
│   │   │   │   ├── browser.js.map
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.d.ts.map
│   │   │   │   ├── index.js
│   │   │   │   ├── index.js.map
│   │   │   │   ├── package.json
│   │   │   │   ├── signals.d.ts
│   │   │   │   ├── signals.d.ts.map
│   │   │   │   ├── signals.js
│   │   │   │   └── signals.js.map
│   │   │   └── mjs
│   │   │       ├── browser.d.ts
│   │   │       ├── browser.d.ts.map
│   │   │       ├── browser.js
│   │   │       ├── browser.js.map
│   │   │       ├── index.d.ts
│   │   │       ├── index.d.ts.map
│   │   │       ├── index.js
│   │   │       ├── index.js.map
│   │   │       ├── package.json
│   │   │       ├── signals.d.ts
│   │   │       ├── signals.d.ts.map
│   │   │       ├── signals.js
│   │   │       └── signals.js.map
│   │   ├── LICENSE.txt
│   │   ├── package.json
│   │   └── README.md
│   ├── statuses
│   │   ├── codes.json
│   │   ├── HISTORY.md
│   │   ├── index.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── string-width
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── string-width-cjs
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── license
│   │   ├── node_modules
│   │   │   ├── ansi-regex
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.js
│   │   │   │   ├── license
│   │   │   │   ├── package.json
│   │   │   │   └── readme.md
│   │   │   ├── emoji-regex
│   │   │   │   ├── es2015
│   │   │   │   │   ├── index.js
│   │   │   │   │   └── text.js
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.js
│   │   │   │   ├── LICENSE-MIT.txt
│   │   │   │   ├── package.json
│   │   │   │   ├── README.md
│   │   │   │   └── text.js
│   │   │   └── strip-ansi
│   │   │       ├── index.d.ts
│   │   │       ├── index.js
│   │   │       ├── license
│   │   │       ├── package.json
│   │   │       └── readme.md
│   │   ├── package.json
│   │   └── readme.md
│   ├── strip-ansi
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── strip-ansi-cjs
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── license
│   │   ├── node_modules
│   │   │   └── ansi-regex
│   │   │       ├── index.d.ts
│   │   │       ├── index.js
│   │   │       ├── license
│   │   │       ├── package.json
│   │   │       └── readme.md
│   │   ├── package.json
│   │   └── readme.md
│   ├── toidentifier
│   │   ├── HISTORY.md
│   │   ├── index.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── tsx
│   │   ├── dist
│   │   │   ├── cjs
│   │   │   │   ├── api
│   │   │   │   │   ├── index.cjs
│   │   │   │   │   ├── index.d.cts
│   │   │   │   │   ├── index.d.mts
│   │   │   │   │   └── index.mjs
│   │   │   │   ├── index.cjs
│   │   │   │   └── index.mjs
│   │   │   ├── cli.cjs
│   │   │   ├── cli.mjs
│   │   │   ├── client-BQVF1NaW.mjs
│   │   │   ├── client-D6NvIMSC.cjs
│   │   │   ├── esm
│   │   │   │   ├── api
│   │   │   │   │   ├── index.cjs
│   │   │   │   │   ├── index.d.cts
│   │   │   │   │   ├── index.d.mts
│   │   │   │   │   └── index.mjs
│   │   │   │   ├── index.cjs
│   │   │   │   └── index.mjs
│   │   │   ├── get-pipe-path-BHW2eJdv.mjs
│   │   │   ├── get-pipe-path-BoR10qr8.cjs
│   │   │   ├── index-7AaEi15b.mjs
│   │   │   ├── index-BWFBUo6r.cjs
│   │   │   ├── index-gbaejti9.mjs
│   │   │   ├── index-gckBtVBf.cjs
│   │   │   ├── lexer-DgIbo0BU.cjs
│   │   │   ├── lexer-DQCqS3nf.mjs
│   │   │   ├── loader.cjs
│   │   │   ├── loader.mjs
│   │   │   ├── node-features-_8ZFwP_x.mjs
│   │   │   ├── node-features-roYmp9jK.cjs
│   │   │   ├── package-BgRDTLo0.mjs
│   │   │   ├── package-BTMRuUqB.cjs
│   │   │   ├── patch-repl.cjs
│   │   │   ├── patch-repl.mjs
│   │   │   ├── preflight.cjs
│   │   │   ├── preflight.mjs
│   │   │   ├── register-2sWVXuRQ.cjs
│   │   │   ├── register-B7jrtLTO.mjs
│   │   │   ├── register-CFH5oNdT.mjs
│   │   │   ├── register-D46fvsV_.cjs
│   │   │   ├── repl.cjs
│   │   │   ├── repl.mjs
│   │   │   ├── require-D4F1Lv60.cjs
│   │   │   ├── require-DQxpCAr4.mjs
│   │   │   ├── suppress-warnings.cjs
│   │   │   ├── suppress-warnings.mjs
│   │   │   ├── temporary-directory-B83uKxJF.cjs
│   │   │   ├── temporary-directory-CwHp0_NW.mjs
│   │   │   └── types-Cxp8y2TL.d.ts
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── typescript
│   │   ├── bin
│   │   │   ├── tsc
│   │   │   └── tsserver
│   │   ├── lib
│   │   │   ├── _tsc.js
│   │   │   ├── _tsserver.js
│   │   │   ├── _typingsInstaller.js
│   │   │   ├── cs
│   │   │   │   └── diagnosticMessages.generated.json
│   │   │   ├── de
│   │   │   │   └── diagnosticMessages.generated.json
│   │   │   ├── es
│   │   │   │   └── diagnosticMessages.generated.json
│   │   │   ├── fr
│   │   │   │   └── diagnosticMessages.generated.json
│   │   │   ├── it
│   │   │   │   └── diagnosticMessages.generated.json
│   │   │   ├── ja
│   │   │   │   └── diagnosticMessages.generated.json
│   │   │   ├── ko
│   │   │   │   └── diagnosticMessages.generated.json
│   │   │   ├── lib.d.ts
│   │   │   ├── lib.decorators.d.ts
│   │   │   ├── lib.decorators.legacy.d.ts
│   │   │   ├── lib.dom.asynciterable.d.ts
│   │   │   ├── lib.dom.d.ts
│   │   │   ├── lib.dom.iterable.d.ts
│   │   │   ├── lib.es2015.collection.d.ts
│   │   │   ├── lib.es2015.core.d.ts
│   │   │   ├── lib.es2015.d.ts
│   │   │   ├── lib.es2015.generator.d.ts
│   │   │   ├── lib.es2015.iterable.d.ts
│   │   │   ├── lib.es2015.promise.d.ts
│   │   │   ├── lib.es2015.proxy.d.ts
│   │   │   ├── lib.es2015.reflect.d.ts
│   │   │   ├── lib.es2015.symbol.d.ts
│   │   │   ├── lib.es2015.symbol.wellknown.d.ts
│   │   │   ├── lib.es2016.array.include.d.ts
│   │   │   ├── lib.es2016.d.ts
│   │   │   ├── lib.es2016.full.d.ts
│   │   │   ├── lib.es2016.intl.d.ts
│   │   │   ├── lib.es2017.arraybuffer.d.ts
│   │   │   ├── lib.es2017.d.ts
│   │   │   ├── lib.es2017.date.d.ts
│   │   │   ├── lib.es2017.full.d.ts
│   │   │   ├── lib.es2017.intl.d.ts
│   │   │   ├── lib.es2017.object.d.ts
│   │   │   ├── lib.es2017.sharedmemory.d.ts
│   │   │   ├── lib.es2017.string.d.ts
│   │   │   ├── lib.es2017.typedarrays.d.ts
│   │   │   ├── lib.es2018.asyncgenerator.d.ts
│   │   │   ├── lib.es2018.asynciterable.d.ts
│   │   │   ├── lib.es2018.d.ts
│   │   │   ├── lib.es2018.full.d.ts
│   │   │   ├── lib.es2018.intl.d.ts
│   │   │   ├── lib.es2018.promise.d.ts
│   │   │   ├── lib.es2018.regexp.d.ts
│   │   │   ├── lib.es2019.array.d.ts
│   │   │   ├── lib.es2019.d.ts
│   │   │   ├── lib.es2019.full.d.ts
│   │   │   ├── lib.es2019.intl.d.ts
│   │   │   ├── lib.es2019.object.d.ts
│   │   │   ├── lib.es2019.string.d.ts
│   │   │   ├── lib.es2019.symbol.d.ts
│   │   │   ├── lib.es2020.bigint.d.ts
│   │   │   ├── lib.es2020.d.ts
│   │   │   ├── lib.es2020.date.d.ts
│   │   │   ├── lib.es2020.full.d.ts
│   │   │   ├── lib.es2020.intl.d.ts
│   │   │   ├── lib.es2020.number.d.ts
│   │   │   ├── lib.es2020.promise.d.ts
│   │   │   ├── lib.es2020.sharedmemory.d.ts
│   │   │   ├── lib.es2020.string.d.ts
│   │   │   ├── lib.es2020.symbol.wellknown.d.ts
│   │   │   ├── lib.es2021.d.ts
│   │   │   ├── lib.es2021.full.d.ts
│   │   │   ├── lib.es2021.intl.d.ts
│   │   │   ├── lib.es2021.promise.d.ts
│   │   │   ├── lib.es2021.string.d.ts
│   │   │   ├── lib.es2021.weakref.d.ts
│   │   │   ├── lib.es2022.array.d.ts
│   │   │   ├── lib.es2022.d.ts
│   │   │   ├── lib.es2022.error.d.ts
│   │   │   ├── lib.es2022.full.d.ts
│   │   │   ├── lib.es2022.intl.d.ts
│   │   │   ├── lib.es2022.object.d.ts
│   │   │   ├── lib.es2022.regexp.d.ts
│   │   │   ├── lib.es2022.string.d.ts
│   │   │   ├── lib.es2023.array.d.ts
│   │   │   ├── lib.es2023.collection.d.ts
│   │   │   ├── lib.es2023.d.ts
│   │   │   ├── lib.es2023.full.d.ts
│   │   │   ├── lib.es2023.intl.d.ts
│   │   │   ├── lib.es2024.arraybuffer.d.ts
│   │   │   ├── lib.es2024.collection.d.ts
│   │   │   ├── lib.es2024.d.ts
│   │   │   ├── lib.es2024.full.d.ts
│   │   │   ├── lib.es2024.object.d.ts
│   │   │   ├── lib.es2024.promise.d.ts
│   │   │   ├── lib.es2024.regexp.d.ts
│   │   │   ├── lib.es2024.sharedmemory.d.ts
│   │   │   ├── lib.es2024.string.d.ts
│   │   │   ├── lib.es5.d.ts
│   │   │   ├── lib.es6.d.ts
│   │   │   ├── lib.esnext.array.d.ts
│   │   │   ├── lib.esnext.collection.d.ts
│   │   │   ├── lib.esnext.d.ts
│   │   │   ├── lib.esnext.decorators.d.ts
│   │   │   ├── lib.esnext.disposable.d.ts
│   │   │   ├── lib.esnext.float16.d.ts
│   │   │   ├── lib.esnext.full.d.ts
│   │   │   ├── lib.esnext.intl.d.ts
│   │   │   ├── lib.esnext.iterator.d.ts
│   │   │   ├── lib.esnext.promise.d.ts
│   │   │   ├── lib.scripthost.d.ts
│   │   │   ├── lib.webworker.asynciterable.d.ts
│   │   │   ├── lib.webworker.d.ts
│   │   │   ├── lib.webworker.importscripts.d.ts
│   │   │   ├── lib.webworker.iterable.d.ts
│   │   │   ├── pl
│   │   │   │   └── diagnosticMessages.generated.json
│   │   │   ├── pt-br
│   │   │   │   └── diagnosticMessages.generated.json
│   │   │   ├── ru
│   │   │   │   └── diagnosticMessages.generated.json
│   │   │   ├── tr
│   │   │   │   └── diagnosticMessages.generated.json
│   │   │   ├── tsc.js
│   │   │   ├── tsserver.js
│   │   │   ├── tsserverlibrary.d.ts
│   │   │   ├── tsserverlibrary.js
│   │   │   ├── typescript.d.ts
│   │   │   ├── typescript.js
│   │   │   ├── typesMap.json
│   │   │   ├── typingsInstaller.js
│   │   │   ├── watchGuard.js
│   │   │   ├── zh-cn
│   │   │   │   └── diagnosticMessages.generated.json
│   │   │   └── zh-tw
│   │   │       └── diagnosticMessages.generated.json
│   │   ├── LICENSE.txt
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── SECURITY.md
│   │   └── ThirdPartyNoticeText.txt
│   ├── undici-types
│   │   ├── agent.d.ts
│   │   ├── api.d.ts
│   │   ├── balanced-pool.d.ts
│   │   ├── cache.d.ts
│   │   ├── client.d.ts
│   │   ├── connector.d.ts
│   │   ├── content-type.d.ts
│   │   ├── cookies.d.ts
│   │   ├── diagnostics-channel.d.ts
│   │   ├── dispatcher.d.ts
│   │   ├── env-http-proxy-agent.d.ts
│   │   ├── errors.d.ts
│   │   ├── eventsource.d.ts
│   │   ├── fetch.d.ts
│   │   ├── file.d.ts
│   │   ├── filereader.d.ts
│   │   ├── formdata.d.ts
│   │   ├── global-dispatcher.d.ts
│   │   ├── global-origin.d.ts
│   │   ├── handlers.d.ts
│   │   ├── header.d.ts
│   │   ├── index.d.ts
│   │   ├── interceptors.d.ts
│   │   ├── LICENSE
│   │   ├── mock-agent.d.ts
│   │   ├── mock-client.d.ts
│   │   ├── mock-errors.d.ts
│   │   ├── mock-interceptor.d.ts
│   │   ├── mock-pool.d.ts
│   │   ├── package.json
│   │   ├── patch.d.ts
│   │   ├── pool-stats.d.ts
│   │   ├── pool.d.ts
│   │   ├── proxy-agent.d.ts
│   │   ├── readable.d.ts
│   │   ├── README.md
│   │   ├── retry-agent.d.ts
│   │   ├── retry-handler.d.ts
│   │   ├── util.d.ts
│   │   ├── webidl.d.ts
│   │   └── websocket.d.ts
│   ├── unpipe
│   │   ├── HISTORY.md
│   │   ├── index.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   └── README.md
│   ├── which
│   │   ├── bin
│   │   │   └── node-which
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   └── which.js
│   ├── wrap-ansi
│   │   ├── index.d.ts
│   │   ├── index.js
│   │   ├── license
│   │   ├── package.json
│   │   └── readme.md
│   ├── wrap-ansi-cjs
│   │   ├── index.js
│   │   ├── license
│   │   ├── node_modules
│   │   │   ├── ansi-regex
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.js
│   │   │   │   ├── license
│   │   │   │   ├── package.json
│   │   │   │   └── readme.md
│   │   │   ├── ansi-styles
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.js
│   │   │   │   ├── license
│   │   │   │   ├── package.json
│   │   │   │   └── readme.md
│   │   │   ├── emoji-regex
│   │   │   │   ├── es2015
│   │   │   │   │   ├── index.js
│   │   │   │   │   └── text.js
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.js
│   │   │   │   ├── LICENSE-MIT.txt
│   │   │   │   ├── package.json
│   │   │   │   ├── README.md
│   │   │   │   └── text.js
│   │   │   ├── string-width
│   │   │   │   ├── index.d.ts
│   │   │   │   ├── index.js
│   │   │   │   ├── license
│   │   │   │   ├── package.json
│   │   │   │   └── readme.md
│   │   │   └── strip-ansi
│   │   │       ├── index.d.ts
│   │   │       ├── index.js
│   │   │       ├── license
│   │   │       ├── package.json
│   │   │       └── readme.md
│   │   ├── package.json
│   │   └── readme.md
│   └── zod
│       ├── index.cjs
│       ├── index.d.cts
│       ├── index.d.ts
│       ├── index.js
│       ├── LICENSE
│       ├── package.json
│       ├── README.md
│       ├── src
│       │   ├── index.ts
│       │   ├── v3
│       │   │   ├── benchmarks
│       │   │   │   ├── datetime.ts
│       │   │   │   ├── discriminatedUnion.ts
│       │   │   │   ├── index.ts
│       │   │   │   ├── ipv4.ts
│       │   │   │   ├── object.ts
│       │   │   │   ├── primitives.ts
│       │   │   │   ├── realworld.ts
│       │   │   │   ├── string.ts
│       │   │   │   └── union.ts
│       │   │   ├── errors.ts
│       │   │   ├── external.ts
│       │   │   ├── helpers
│       │   │   │   ├── enumUtil.ts
│       │   │   │   ├── errorUtil.ts
│       │   │   │   ├── parseUtil.ts
│       │   │   │   ├── partialUtil.ts
│       │   │   │   ├── typeAliases.ts
│       │   │   │   └── util.ts
│       │   │   ├── index.ts
│       │   │   ├── locales
│       │   │   │   └── en.ts
│       │   │   ├── standard-schema.ts
│       │   │   ├── tests
│       │   │   │   ├── all-errors.test.ts
│       │   │   │   ├── anyunknown.test.ts
│       │   │   │   ├── array.test.ts
│       │   │   │   ├── async-parsing.test.ts
│       │   │   │   ├── async-refinements.test.ts
│       │   │   │   ├── base.test.ts
│       │   │   │   ├── bigint.test.ts
│       │   │   │   ├── branded.test.ts
│       │   │   │   ├── catch.test.ts
│       │   │   │   ├── coerce.test.ts
│       │   │   │   ├── complex.test.ts
│       │   │   │   ├── custom.test.ts
│       │   │   │   ├── date.test.ts
│       │   │   │   ├── deepmasking.test.ts
│       │   │   │   ├── default.test.ts
│       │   │   │   ├── description.test.ts
│       │   │   │   ├── discriminated-unions.test.ts
│       │   │   │   ├── enum.test.ts
│       │   │   │   ├── error.test.ts
│       │   │   │   ├── firstparty.test.ts
│       │   │   │   ├── firstpartyschematypes.test.ts
│       │   │   │   ├── function.test.ts
│       │   │   │   ├── generics.test.ts
│       │   │   │   ├── instanceof.test.ts
│       │   │   │   ├── intersection.test.ts
│       │   │   │   ├── language-server.source.ts
│       │   │   │   ├── language-server.test.ts
│       │   │   │   ├── literal.test.ts
│       │   │   │   ├── map.test.ts
│       │   │   │   ├── masking.test.ts
│       │   │   │   ├── mocker.test.ts
│       │   │   │   ├── Mocker.ts
│       │   │   │   ├── nan.test.ts
│       │   │   │   ├── nativeEnum.test.ts
│       │   │   │   ├── nullable.test.ts
│       │   │   │   ├── number.test.ts
│       │   │   │   ├── object-augmentation.test.ts
│       │   │   │   ├── object-in-es5-env.test.ts
│       │   │   │   ├── object.test.ts
│       │   │   │   ├── optional.test.ts
│       │   │   │   ├── parser.test.ts
│       │   │   │   ├── parseUtil.test.ts
│       │   │   │   ├── partials.test.ts
│       │   │   │   ├── pickomit.test.ts
│       │   │   │   ├── pipeline.test.ts
│       │   │   │   ├── preprocess.test.ts
│       │   │   │   ├── primitive.test.ts
│       │   │   │   ├── promise.test.ts
│       │   │   │   ├── readonly.test.ts
│       │   │   │   ├── record.test.ts
│       │   │   │   ├── recursive.test.ts
│       │   │   │   ├── refine.test.ts
│       │   │   │   ├── safeparse.test.ts
│       │   │   │   ├── set.test.ts
│       │   │   │   ├── standard-schema.test.ts
│       │   │   │   ├── string.test.ts
│       │   │   │   ├── transformer.test.ts
│       │   │   │   ├── tuple.test.ts
│       │   │   │   ├── unions.test.ts
│       │   │   │   ├── validations.test.ts
│       │   │   │   └── void.test.ts
│       │   │   ├── types.ts
│       │   │   └── ZodError.ts
│       │   ├── v4
│       │   │   ├── classic
│       │   │   │   ├── checks.ts
│       │   │   │   ├── coerce.ts
│       │   │   │   ├── compat.ts
│       │   │   │   ├── errors.ts
│       │   │   │   ├── external.ts
│       │   │   │   ├── index.ts
│       │   │   │   ├── iso.ts
│       │   │   │   ├── parse.ts
│       │   │   │   ├── schemas.ts
│       │   │   │   └── tests
│       │   │   │       ├── anyunknown.test.ts
│       │   │   │       ├── array.test.ts
│       │   │   │       ├── assignability.test.ts
│       │   │   │       ├── async-parsing.test.ts
│       │   │   │       ├── async-refinements.test.ts
│       │   │   │       ├── base.test.ts
│       │   │   │       ├── bigint.test.ts
│       │   │   │       ├── brand.test.ts
│       │   │   │       ├── catch.test.ts
│       │   │   │       ├── coalesce.test.ts
│       │   │   │       ├── coerce.test.ts
│       │   │   │       ├── continuability.test.ts
│       │   │   │       ├── custom.test.ts
│       │   │   │       ├── date.test.ts
│       │   │   │       ├── datetime.test.ts
│       │   │   │       ├── default.test.ts
│       │   │   │       ├── description.test.ts
│       │   │   │       ├── discriminated-unions.test.ts
│       │   │   │       ├── enum.test.ts
│       │   │   │       ├── error-utils.test.ts
│       │   │   │       ├── error.test.ts
│       │   │   │       ├── file.test.ts
│       │   │   │       ├── firstparty.test.ts
│       │   │   │       ├── function.test.ts
│       │   │   │       ├── generics.test.ts
│       │   │   │       ├── index.test.ts
│       │   │   │       ├── instanceof.test.ts
│       │   │   │       ├── intersection.test.ts
│       │   │   │       ├── json.test.ts
│       │   │   │       ├── lazy.test.ts
│       │   │   │       ├── literal.test.ts
│       │   │   │       ├── map.test.ts
│       │   │   │       ├── nan.test.ts
│       │   │   │       ├── nested-refine.test.ts
│       │   │   │       ├── nonoptional.test.ts
│       │   │   │       ├── nullable.test.ts
│       │   │   │       ├── number.test.ts
│       │   │   │       ├── object.test.ts
│       │   │   │       ├── optional.test.ts
│       │   │   │       ├── partial.test.ts
│       │   │   │       ├── pickomit.test.ts
│       │   │   │       ├── pipe.test.ts
│       │   │   │       ├── prefault.test.ts
│       │   │   │       ├── preprocess.test.ts
│       │   │   │       ├── primitive.test.ts
│       │   │   │       ├── promise.test.ts
│       │   │   │       ├── prototypes.test.ts
│       │   │   │       ├── readonly.test.ts
│       │   │   │       ├── record.test.ts
│       │   │   │       ├── recursive-types.test.ts
│       │   │   │       ├── refine.test.ts
│       │   │   │       ├── registries.test.ts
│       │   │   │       ├── set.test.ts
│       │   │   │       ├── standard-schema.test.ts
│       │   │   │       ├── string-formats.test.ts
│       │   │   │       ├── string.test.ts
│       │   │   │       ├── stringbool.test.ts
│       │   │   │       ├── template-literal.test.ts
│       │   │   │       ├── to-json-schema.test.ts
│       │   │   │       ├── transform.test.ts
│       │   │   │       ├── tuple.test.ts
│       │   │   │       ├── union.test.ts
│       │   │   │       ├── validations.test.ts
│       │   │   │       └── void.test.ts
│       │   │   ├── core
│       │   │   │   ├── api.ts
│       │   │   │   ├── checks.ts
│       │   │   │   ├── config.ts
│       │   │   │   ├── core.ts
│       │   │   │   ├── doc.ts
│       │   │   │   ├── errors.ts
│       │   │   │   ├── function.ts
│       │   │   │   ├── index.ts
│       │   │   │   ├── json-schema.ts
│       │   │   │   ├── parse.ts
│       │   │   │   ├── regexes.ts
│       │   │   │   ├── registries.ts
│       │   │   │   ├── schemas.ts
│       │   │   │   ├── standard-schema.ts
│       │   │   │   ├── tests
│       │   │   │   │   ├── index.test.ts
│       │   │   │   │   └── locales
│       │   │   │   │       ├── be.test.ts
│       │   │   │   │       ├── en.test.ts
│       │   │   │   │       ├── ru.test.ts
│       │   │   │   │       └── tr.test.ts
│       │   │   │   ├── to-json-schema.ts
│       │   │   │   ├── util.ts
│       │   │   │   ├── versions.ts
│       │   │   │   └── zsf.ts
│       │   │   ├── index.ts
│       │   │   ├── locales
│       │   │   │   ├── ar.ts
│       │   │   │   ├── az.ts
│       │   │   │   ├── be.ts
│       │   │   │   ├── ca.ts
│       │   │   │   ├── cs.ts
│       │   │   │   ├── de.ts
│       │   │   │   ├── en.ts
│       │   │   │   ├── eo.ts
│       │   │   │   ├── es.ts
│       │   │   │   ├── fa.ts
│       │   │   │   ├── fi.ts
│       │   │   │   ├── fr-CA.ts
│       │   │   │   ├── fr.ts
│       │   │   │   ├── he.ts
│       │   │   │   ├── hu.ts
│       │   │   │   ├── id.ts
│       │   │   │   ├── index.ts
│       │   │   │   ├── it.ts
│       │   │   │   ├── ja.ts
│       │   │   │   ├── kh.ts
│       │   │   │   ├── ko.ts
│       │   │   │   ├── mk.ts
│       │   │   │   ├── ms.ts
│       │   │   │   ├── nl.ts
│       │   │   │   ├── no.ts
│       │   │   │   ├── ota.ts
│       │   │   │   ├── pl.ts
│       │   │   │   ├── ps.ts
│       │   │   │   ├── pt.ts
│       │   │   │   ├── ru.ts
│       │   │   │   ├── sl.ts
│       │   │   │   ├── sv.ts
│       │   │   │   ├── ta.ts
│       │   │   │   ├── th.ts
│       │   │   │   ├── tr.ts
│       │   │   │   ├── ua.ts
│       │   │   │   ├── ur.ts
│       │   │   │   ├── vi.ts
│       │   │   │   ├── zh-CN.ts
│       │   │   │   └── zh-TW.ts
│       │   │   └── mini
│       │   │       ├── checks.ts
│       │   │       ├── coerce.ts
│       │   │       ├── external.ts
│       │   │       ├── index.ts
│       │   │       ├── iso.ts
│       │   │       ├── parse.ts
│       │   │       ├── schemas.ts
│       │   │       └── tests
│       │   │           ├── assignability.test.ts
│       │   │           ├── brand.test.ts
│       │   │           ├── checks.test.ts
│       │   │           ├── computed.test.ts
│       │   │           ├── error.test.ts
│       │   │           ├── functions.test.ts
│       │   │           ├── index.test.ts
│       │   │           ├── number.test.ts
│       │   │           ├── object.test.ts
│       │   │           ├── prototypes.test.ts
│       │   │           ├── recursive-types.test.ts
│       │   │           └── string.test.ts
│       │   └── v4-mini
│       │       └── index.ts
│       ├── v3
│       │   ├── errors.cjs
│       │   ├── errors.d.cts
│       │   ├── errors.d.ts
│       │   ├── errors.js
│       │   ├── external.cjs
│       │   ├── external.d.cts
│       │   ├── external.d.ts
│       │   ├── external.js
│       │   ├── helpers
│       │   │   ├── enumUtil.cjs
│       │   │   ├── enumUtil.d.cts
│       │   │   ├── enumUtil.d.ts
│       │   │   ├── enumUtil.js
│       │   │   ├── errorUtil.cjs
│       │   │   ├── errorUtil.d.cts
│       │   │   ├── errorUtil.d.ts
│       │   │   ├── errorUtil.js
│       │   │   ├── parseUtil.cjs
│       │   │   ├── parseUtil.d.cts
│       │   │   ├── parseUtil.d.ts
│       │   │   ├── parseUtil.js
│       │   │   ├── partialUtil.cjs
│       │   │   ├── partialUtil.d.cts
│       │   │   ├── partialUtil.d.ts
│       │   │   ├── partialUtil.js
│       │   │   ├── typeAliases.cjs
│       │   │   ├── typeAliases.d.cts
│       │   │   ├── typeAliases.d.ts
│       │   │   ├── typeAliases.js
│       │   │   ├── util.cjs
│       │   │   ├── util.d.cts
│       │   │   ├── util.d.ts
│       │   │   └── util.js
│       │   ├── index.cjs
│       │   ├── index.d.cts
│       │   ├── index.d.ts
│       │   ├── index.js
│       │   ├── locales
│       │   │   ├── en.cjs
│       │   │   ├── en.d.cts
│       │   │   ├── en.d.ts
│       │   │   └── en.js
│       │   ├── standard-schema.cjs
│       │   ├── standard-schema.d.cts
│       │   ├── standard-schema.d.ts
│       │   ├── standard-schema.js
│       │   ├── types.cjs
│       │   ├── types.d.cts
│       │   ├── types.d.ts
│       │   ├── types.js
│       │   ├── ZodError.cjs
│       │   ├── ZodError.d.cts
│       │   ├── ZodError.d.ts
│       │   └── ZodError.js
│       ├── v4
│       │   ├── classic
│       │   │   ├── checks.cjs
│       │   │   ├── checks.d.cts
│       │   │   ├── checks.d.ts
│       │   │   ├── checks.js
│       │   │   ├── coerce.cjs
│       │   │   ├── coerce.d.cts
│       │   │   ├── coerce.d.ts
│       │   │   ├── coerce.js
│       │   │   ├── compat.cjs
│       │   │   ├── compat.d.cts
│       │   │   ├── compat.d.ts
│       │   │   ├── compat.js
│       │   │   ├── errors.cjs
│       │   │   ├── errors.d.cts
│       │   │   ├── errors.d.ts
│       │   │   ├── errors.js
│       │   │   ├── external.cjs
│       │   │   ├── external.d.cts
│       │   │   ├── external.d.ts
│       │   │   ├── external.js
│       │   │   ├── index.cjs
│       │   │   ├── index.d.cts
│       │   │   ├── index.d.ts
│       │   │   ├── index.js
│       │   │   ├── iso.cjs
│       │   │   ├── iso.d.cts
│       │   │   ├── iso.d.ts
│       │   │   ├── iso.js
│       │   │   ├── parse.cjs
│       │   │   ├── parse.d.cts
│       │   │   ├── parse.d.ts
│       │   │   ├── parse.js
│       │   │   ├── schemas.cjs
│       │   │   ├── schemas.d.cts
│       │   │   ├── schemas.d.ts
│       │   │   └── schemas.js
│       │   ├── core
│       │   │   ├── api.cjs
│       │   │   ├── api.d.cts
│       │   │   ├── api.d.ts
│       │   │   ├── api.js
│       │   │   ├── checks.cjs
│       │   │   ├── checks.d.cts
│       │   │   ├── checks.d.ts
│       │   │   ├── checks.js
│       │   │   ├── core.cjs
│       │   │   ├── core.d.cts
│       │   │   ├── core.d.ts
│       │   │   ├── core.js
│       │   │   ├── doc.cjs
│       │   │   ├── doc.d.cts
│       │   │   ├── doc.d.ts
│       │   │   ├── doc.js
│       │   │   ├── errors.cjs
│       │   │   ├── errors.d.cts
│       │   │   ├── errors.d.ts
│       │   │   ├── errors.js
│       │   │   ├── function.cjs
│       │   │   ├── function.d.cts
│       │   │   ├── function.d.ts
│       │   │   ├── function.js
│       │   │   ├── index.cjs
│       │   │   ├── index.d.cts
│       │   │   ├── index.d.ts
│       │   │   ├── index.js
│       │   │   ├── json-schema.cjs
│       │   │   ├── json-schema.d.cts
│       │   │   ├── json-schema.d.ts
│       │   │   ├── json-schema.js
│       │   │   ├── parse.cjs
│       │   │   ├── parse.d.cts
│       │   │   ├── parse.d.ts
│       │   │   ├── parse.js
│       │   │   ├── regexes.cjs
│       │   │   ├── regexes.d.cts
│       │   │   ├── regexes.d.ts
│       │   │   ├── regexes.js
│       │   │   ├── registries.cjs
│       │   │   ├── registries.d.cts
│       │   │   ├── registries.d.ts
│       │   │   ├── registries.js
│       │   │   ├── schemas.cjs
│       │   │   ├── schemas.d.cts
│       │   │   ├── schemas.d.ts
│       │   │   ├── schemas.js
│       │   │   ├── standard-schema.cjs
│       │   │   ├── standard-schema.d.cts
│       │   │   ├── standard-schema.d.ts
│       │   │   ├── standard-schema.js
│       │   │   ├── to-json-schema.cjs
│       │   │   ├── to-json-schema.d.cts
│       │   │   ├── to-json-schema.d.ts
│       │   │   ├── to-json-schema.js
│       │   │   ├── util.cjs
│       │   │   ├── util.d.cts
│       │   │   ├── util.d.ts
│       │   │   ├── util.js
│       │   │   ├── versions.cjs
│       │   │   ├── versions.d.cts
│       │   │   ├── versions.d.ts
│       │   │   └── versions.js
│       │   ├── index.cjs
│       │   ├── index.d.cts
│       │   ├── index.d.ts
│       │   ├── index.js
│       │   ├── locales
│       │   │   ├── ar.cjs
│       │   │   ├── ar.d.cts
│       │   │   ├── ar.d.ts
│       │   │   ├── ar.js
│       │   │   ├── az.cjs
│       │   │   ├── az.d.cts
│       │   │   ├── az.d.ts
│       │   │   ├── az.js
│       │   │   ├── be.cjs
│       │   │   ├── be.d.cts
│       │   │   ├── be.d.ts
│       │   │   ├── be.js
│       │   │   ├── ca.cjs
│       │   │   ├── ca.d.cts
│       │   │   ├── ca.d.ts
│       │   │   ├── ca.js
│       │   │   ├── cs.cjs
│       │   │   ├── cs.d.cts
│       │   │   ├── cs.d.ts
│       │   │   ├── cs.js
│       │   │   ├── de.cjs
│       │   │   ├── de.d.cts
│       │   │   ├── de.d.ts
│       │   │   ├── de.js
│       │   │   ├── en.cjs
│       │   │   ├── en.d.cts
│       │   │   ├── en.d.ts
│       │   │   ├── en.js
│       │   │   ├── eo.cjs
│       │   │   ├── eo.d.cts
│       │   │   ├── eo.d.ts
│       │   │   ├── eo.js
│       │   │   ├── es.cjs
│       │   │   ├── es.d.cts
│       │   │   ├── es.d.ts
│       │   │   ├── es.js
│       │   │   ├── fa.cjs
│       │   │   ├── fa.d.cts
│       │   │   ├── fa.d.ts
│       │   │   ├── fa.js
│       │   │   ├── fi.cjs
│       │   │   ├── fi.d.cts
│       │   │   ├── fi.d.ts
│       │   │   ├── fi.js
│       │   │   ├── fr-CA.cjs
│       │   │   ├── fr-CA.d.cts
│       │   │   ├── fr-CA.d.ts
│       │   │   ├── fr-CA.js
│       │   │   ├── fr.cjs
│       │   │   ├── fr.d.cts
│       │   │   ├── fr.d.ts
│       │   │   ├── fr.js
│       │   │   ├── he.cjs
│       │   │   ├── he.d.cts
│       │   │   ├── he.d.ts
│       │   │   ├── he.js
│       │   │   ├── hu.cjs
│       │   │   ├── hu.d.cts
│       │   │   ├── hu.d.ts
│       │   │   ├── hu.js
│       │   │   ├── id.cjs
│       │   │   ├── id.d.cts
│       │   │   ├── id.d.ts
│       │   │   ├── id.js
│       │   │   ├── index.cjs
│       │   │   ├── index.d.cts
│       │   │   ├── index.d.ts
│       │   │   ├── index.js
│       │   │   ├── it.cjs
│       │   │   ├── it.d.cts
│       │   │   ├── it.d.ts
│       │   │   ├── it.js
│       │   │   ├── ja.cjs
│       │   │   ├── ja.d.cts
│       │   │   ├── ja.d.ts
│       │   │   ├── ja.js
│       │   │   ├── kh.cjs
│       │   │   ├── kh.d.cts
│       │   │   ├── kh.d.ts
│       │   │   ├── kh.js
│       │   │   ├── ko.cjs
│       │   │   ├── ko.d.cts
│       │   │   ├── ko.d.ts
│       │   │   ├── ko.js
│       │   │   ├── mk.cjs
│       │   │   ├── mk.d.cts
│       │   │   ├── mk.d.ts
│       │   │   ├── mk.js
│       │   │   ├── ms.cjs
│       │   │   ├── ms.d.cts
│       │   │   ├── ms.d.ts
│       │   │   ├── ms.js
│       │   │   ├── nl.cjs
│       │   │   ├── nl.d.cts
│       │   │   ├── nl.d.ts
│       │   │   ├── nl.js
│       │   │   ├── no.cjs
│       │   │   ├── no.d.cts
│       │   │   ├── no.d.ts
│       │   │   ├── no.js
│       │   │   ├── ota.cjs
│       │   │   ├── ota.d.cts
│       │   │   ├── ota.d.ts
│       │   │   ├── ota.js
│       │   │   ├── pl.cjs
│       │   │   ├── pl.d.cts
│       │   │   ├── pl.d.ts
│       │   │   ├── pl.js
│       │   │   ├── ps.cjs
│       │   │   ├── ps.d.cts
│       │   │   ├── ps.d.ts
│       │   │   ├── ps.js
│       │   │   ├── pt.cjs
│       │   │   ├── pt.d.cts
│       │   │   ├── pt.d.ts
│       │   │   ├── pt.js
│       │   │   ├── ru.cjs
│       │   │   ├── ru.d.cts
│       │   │   ├── ru.d.ts
│       │   │   ├── ru.js
│       │   │   ├── sl.cjs
│       │   │   ├── sl.d.cts
│       │   │   ├── sl.d.ts
│       │   │   ├── sl.js
│       │   │   ├── sv.cjs
│       │   │   ├── sv.d.cts
│       │   │   ├── sv.d.ts
│       │   │   ├── sv.js
│       │   │   ├── ta.cjs
│       │   │   ├── ta.d.cts
│       │   │   ├── ta.d.ts
│       │   │   ├── ta.js
│       │   │   ├── th.cjs
│       │   │   ├── th.d.cts
│       │   │   ├── th.d.ts
│       │   │   ├── th.js
│       │   │   ├── tr.cjs
│       │   │   ├── tr.d.cts
│       │   │   ├── tr.d.ts
│       │   │   ├── tr.js
│       │   │   ├── ua.cjs
│       │   │   ├── ua.d.cts
│       │   │   ├── ua.d.ts
│       │   │   ├── ua.js
│       │   │   ├── ur.cjs
│       │   │   ├── ur.d.cts
│       │   │   ├── ur.d.ts
│       │   │   ├── ur.js
│       │   │   ├── vi.cjs
│       │   │   ├── vi.d.cts
│       │   │   ├── vi.d.ts
│       │   │   ├── vi.js
│       │   │   ├── zh-CN.cjs
│       │   │   ├── zh-CN.d.cts
│       │   │   ├── zh-CN.d.ts
│       │   │   ├── zh-CN.js
│       │   │   ├── zh-TW.cjs
│       │   │   ├── zh-TW.d.cts
│       │   │   ├── zh-TW.d.ts
│       │   │   └── zh-TW.js
│       │   └── mini
│       │       ├── checks.cjs
│       │       ├── checks.d.cts
│       │       ├── checks.d.ts
│       │       ├── checks.js
│       │       ├── coerce.cjs
│       │       ├── coerce.d.cts
│       │       ├── coerce.d.ts
│       │       ├── coerce.js
│       │       ├── external.cjs
│       │       ├── external.d.cts
│       │       ├── external.d.ts
│       │       ├── external.js
│       │       ├── index.cjs
│       │       ├── index.d.cts
│       │       ├── index.d.ts
│       │       ├── index.js
│       │       ├── iso.cjs
│       │       ├── iso.d.cts
│       │       ├── iso.d.ts
│       │       ├── iso.js
│       │       ├── parse.cjs
│       │       ├── parse.d.cts
│       │       ├── parse.d.ts
│       │       ├── parse.js
│       │       ├── schemas.cjs
│       │       ├── schemas.d.cts
│       │       ├── schemas.d.ts
│       │       └── schemas.js
│       └── v4-mini
│           ├── index.cjs
│           ├── index.d.cts
│           ├── index.d.ts
│           └── index.js
├── package-lock.json
├── package.json
├── README.ko.md
├── README.kr.md
├── README.md
├── src
│   ├── agentDownloader.ts
│   ├── agentManager.ts
│   ├── aiAnalysisService.ts
│   ├── analytics.ts
│   ├── githubIntegration.ts
│   ├── index.ts
│   ├── projectAnalyzer.ts
│   └── splashCommand.ts
├── start.sh
├── test-CLAUDE.md
├── test-server.js
├── TROUBLESHOOTING.md
├── tsconfig.json
└── USER_GUIDE.md
```

# Files

--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------

```html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Pair-Role MCP Server - Smart Role Assignment for Development Teams</title>
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/tailwind.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        .gradient-bg {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        .role-card {
            transition: all 0.3s ease;
        }
        .role-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
        }
        .category-badge {
            transition: all 0.2s ease;
        }
        .category-badge:hover {
            transform: scale(1.05);
        }
        .feature-icon {
            transition: all 0.3s ease;
        }
        .feature-icon:hover {
            transform: rotate(10deg) scale(1.1);
        }
        .code-block {
            background-color: #1e1e1e;
            color: #d4d4d4;
            border-radius: 8px;
            padding: 16px;
            font-family: 'Consolas', 'Monaco', monospace;
            overflow-x: auto;
        }
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }
        .hero-animation {
            animation: float 6s ease-in-out infinite;
        }
        @keyframes float {
            0% { transform: translatey(0px); }
            50% { transform: translatey(-20px); }
            100% { transform: translatey(0px); }
        }
    </style>
</head>
<body class="bg-gray-50">
    <!-- Navigation -->
    <nav class="bg-white shadow-lg sticky top-0 z-50">
        <div class="container mx-auto px-6 py-4">
            <div class="flex items-center justify-between">
                <div class="flex items-center">
                    <i class="fas fa-users-cog text-3xl text-purple-600 mr-3"></i>
                    <h1 class="text-2xl font-bold text-gray-800">Pair-Role MCP Server</h1>
                </div>
                <div class="flex space-x-6">
                    <a href="#features" class="text-gray-700 hover:text-purple-600 transition">Features</a>
                    <a href="#roles" class="text-gray-700 hover:text-purple-600 transition">Roles</a>
                    <a href="#usage" class="text-gray-700 hover:text-purple-600 transition">Usage</a>
                    <a href="#installation" class="text-gray-700 hover:text-purple-600 transition">Installation</a>
                    <a href="https://github.com/hongsw/claude-agents-power-mcp-server" class="text-gray-700 hover:text-purple-600 transition">
                        <i class="fab fa-github text-2xl"></i>
                    </a>
                </div>
            </div>
        </div>
    </nav>

    <!-- Hero Section -->
    <section class="gradient-bg text-white py-20">
        <div class="container mx-auto px-6">
            <div class="flex flex-col md:flex-row items-center">
                <div class="md:w-1/2 mb-10 md:mb-0">
                    <h2 class="text-4xl md:text-5xl font-bold mb-6">
                        🎯 Smart Role Assignment for Development Teams
                    </h2>
                    <p class="text-xl mb-8 text-purple-100">
                        An intelligent MCP server that analyzes your project and recommends the perfect team composition from 100+ professional roles across all company departments.
                    </p>
                    <div class="flex space-x-4">
                        <a href="#installation" class="bg-white text-purple-700 px-8 py-3 rounded-lg font-bold hover:bg-purple-100 transition">
                            Get Started
                        </a>
                        <a href="https://github.com/hongsw/claude-agents-power-mcp-server" class="border-2 border-white text-white px-8 py-3 rounded-lg font-bold hover:bg-white hover:text-purple-700 transition">
                            View on GitHub
                        </a>
                    </div>
                </div>
                <div class="md:w-1/2 flex justify-center">
                    <div class="hero-animation">
                        <div class="bg-white bg-opacity-20 backdrop-blur-lg rounded-lg p-8 shadow-2xl">
                            <div class="text-center mb-4">
                                <i class="fas fa-project-diagram text-6xl mb-4"></i>
                                <h3 class="text-2xl font-bold">AI-Powered Team Builder</h3>
                            </div>
                            <div class="space-y-2">
                                <div class="bg-white bg-opacity-20 rounded px-4 py-2">
                                    <i class="fas fa-check-circle mr-2"></i> Analyze Project
                                </div>
                                <div class="bg-white bg-opacity-20 rounded px-4 py-2">
                                    <i class="fas fa-users mr-2"></i> Recommend Roles
                                </div>
                                <div class="bg-white bg-opacity-20 rounded px-4 py-2">
                                    <i class="fas fa-download mr-2"></i> Install Agents
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Stats Section -->
    <section class="py-12 bg-white">
        <div class="container mx-auto px-6">
            <div class="grid grid-cols-2 md:grid-cols-4 gap-6 text-center">
                <div class="p-6">
                    <div class="text-4xl font-bold text-purple-600">100+</div>
                    <div class="text-gray-600 mt-2">Professional Roles</div>
                </div>
                <div class="p-6">
                    <div class="text-4xl font-bold text-purple-600">8</div>
                    <div class="text-gray-600 mt-2">Departments</div>
                </div>
                <div class="p-6">
                    <div class="text-4xl font-bold text-purple-600">2</div>
                    <div class="text-gray-600 mt-2">Languages</div>
                </div>
                <div class="p-6">
                    <div class="text-4xl font-bold text-purple-600">∞</div>
                    <div class="text-gray-600 mt-2">Team Combinations</div>
                </div>
            </div>
        </div>
    </section>

    <!-- Features Section -->
    <section id="features" class="py-20 bg-gray-50">
        <div class="container mx-auto px-6">
            <h2 class="text-3xl font-bold text-center text-gray-800 mb-16">
                🌟 Key Features
            </h2>
            <div class="grid md:grid-cols-3 gap-8">
                <div class="bg-white rounded-lg shadow-lg p-8 text-center role-card">
                    <div class="feature-icon inline-block mb-4">
                        <i class="fas fa-search text-5xl text-purple-600"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-4">Intelligent Project Analysis</h3>
                    <p class="text-gray-600">
                        Automatically detects project type, frameworks, and complexity to provide smart role recommendations based on your tech stack.
                    </p>
                </div>
                <div class="bg-white rounded-lg shadow-lg p-8 text-center role-card">
                    <div class="feature-icon inline-block mb-4">
                        <i class="fas fa-users text-5xl text-purple-600"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-4">100+ Professional Roles</h3>
                    <p class="text-gray-600">
                        Comprehensive coverage across Technology, Data, Product, Marketing, Operations, Finance, HR, and Executive roles.
                    </p>
                </div>
                <div class="bg-white rounded-lg shadow-lg p-8 text-center role-card">
                    <div class="feature-icon inline-block mb-4">
                        <i class="fas fa-globe text-5xl text-purple-600"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-4">Multi-Language Support</h3>
                    <p class="text-gray-600">
                        Available in English and Korean, supporting global standards and local business contexts.
                    </p>
                </div>
            </div>
        </div>
    </section>

    <!-- Roles Section -->
    <section id="roles" class="py-20 bg-white">
        <div class="container mx-auto px-6">
            <h2 class="text-3xl font-bold text-center text-gray-800 mb-16">
                📋 Available Roles by Department
            </h2>
            
            <!-- Department Tabs -->
            <div class="flex flex-wrap justify-center mb-8 gap-2">
                <button onclick="showDepartment('tech')" class="category-badge bg-purple-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    🔧 Technology (20)
                </button>
                <button onclick="showDepartment('data')" class="category-badge bg-blue-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    📊 Data & Analytics (15)
                </button>
                <button onclick="showDepartment('product')" class="category-badge bg-pink-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    🎨 Product & Design (10)
                </button>
                <button onclick="showDepartment('marketing')" class="category-badge bg-green-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    📈 Marketing & Sales (10)
                </button>
                <button onclick="showDepartment('operations')" class="category-badge bg-yellow-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    ⚙️ Operations (15)
                </button>
                <button onclick="showDepartment('finance')" class="category-badge bg-red-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    💰 Finance (10)
                </button>
                <button onclick="showDepartment('hr')" class="category-badge bg-indigo-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    👥 HR (10)
                </button>
                <button onclick="showDepartment('executive')" class="category-badge bg-gray-800 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    🏢 Executive (10)
                </button>
            </div>

            <!-- Department Content -->
            <div id="tech" class="tab-content active">
                <div class="grid md:grid-cols-3 gap-6">
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Software Engineer</h4>
                        <p class="text-gray-600 text-sm mb-3">Full-stack development, system design</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Bash</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Write</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Edit</span>
                        </div>
                    </div>
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Frontend Developer</h4>
                        <p class="text-gray-600 text-sm mb-3">React, Vue, Angular, UI/UX</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Write</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Edit</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Bash</span>
                        </div>
                    </div>
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Backend Developer</h4>
                        <p class="text-gray-600 text-sm mb-3">APIs, databases, server architecture</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Bash</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Write</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Edit</span>
                        </div>
                    </div>
                    <!-- More roles... -->
                </div>
                <p class="text-center mt-6 text-gray-600">
                    + 17 more technology roles including DevOps, Security, Cloud, Mobile, QA, and more!
                </p>
            </div>

            <div id="data" class="tab-content">
                <div class="grid md:grid-cols-3 gap-6">
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Data Scientist</h4>
                        <p class="text-gray-600 text-sm mb-3">ML modeling, statistical analysis</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Bash</span>
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Write</span>
                        </div>
                    </div>
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Data Analyst</h4>
                        <p class="text-gray-600 text-sm mb-3">Business insights, reporting</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Write</span>
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Bash</span>
                        </div>
                    </div>
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Business Intelligence Analyst</h4>
                        <p class="text-gray-600 text-sm mb-3">Dashboards, BI tools</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Write</span>
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Bash</span>
                        </div>
                    </div>
                </div>
                <p class="text-center mt-6 text-gray-600">
                    + 12 more data & analytics roles including Analytics Engineer, Marketing Analyst, and more!
                </p>
            </div>

            <div id="product" class="tab-content">
                <div class="grid md:grid-cols-3 gap-6">
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Product Manager</h4>
                        <p class="text-gray-600 text-sm mb-3">Product strategy, roadmap</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-pink-100 text-pink-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-pink-100 text-pink-800 px-2 py-1 rounded text-xs">Write</span>
                        </div>
                    </div>
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">UX Designer</h4>
                        <p class="text-gray-600 text-sm mb-3">User research, wireframes</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-pink-100 text-pink-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-pink-100 text-pink-800 px-2 py-1 rounded text-xs">Write</span>
                        </div>
                    </div>
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">UI Designer</h4>
                        <p class="text-gray-600 text-sm mb-3">Visual design, prototypes</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-pink-100 text-pink-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-pink-100 text-pink-800 px-2 py-1 rounded text-xs">Write</span>
                        </div>
                    </div>
                </div>
                <p class="text-center mt-6 text-gray-600">
                    + 7 more product & design roles including Product Designer, UX Researcher, and more!
                </p>
            </div>

            <!-- Other department tabs... -->
        </div>
    </section>

    <!-- Usage Examples Section -->
    <section id="usage" class="py-20 bg-gray-50">
        <div class="container mx-auto px-6">
            <h2 class="text-3xl font-bold text-center text-gray-800 mb-16">
                🎯 Usage Examples
            </h2>
            
            <div class="grid md:grid-cols-3 gap-8">
                <!-- Startup Example -->
                <div class="bg-white rounded-lg shadow-lg p-8">
                    <div class="text-2xl mb-4">🚀</div>
                    <h3 class="text-xl font-bold mb-4">Startup MVP Development</h3>
                    <div class="code-block mb-4">
                        <pre><code># Analyze project
mcp__pair-role__analyze-project

# Install startup team
mcp__pair-role__install-agents [
  "product-manager",
  "frontend-developer",
  "backend-developer",
  "growth-marketing-manager"
]</code></pre>
                    </div>
                    <p class="text-gray-600">Perfect for building your minimum viable product with a lean team.</p>
                </div>

                <!-- Enterprise Example -->
                <div class="bg-white rounded-lg shadow-lg p-8">
                    <div class="text-2xl mb-4">🏢</div>
                    <h3 class="text-xl font-bold mb-4">Enterprise Application</h3>
                    <div class="code-block mb-4">
                        <pre><code># Get enterprise recommendations
mcp__pair-role__recommend-by-keywords [
  "enterprise", "security", 
  "scalability", "compliance"
]

# Install enterprise team
mcp__pair-role__install-agents [
  "solution-architect",
  "security-engineer",
  "devops-engineer",
  "compliance-manager"
]</code></pre>
                    </div>
                    <p class="text-gray-600">Build secure, scalable enterprise solutions with the right expertise.</p>
                </div>

                <!-- Data Platform Example -->
                <div class="bg-white rounded-lg shadow-lg p-8">
                    <div class="text-2xl mb-4">📊</div>
                    <h3 class="text-xl font-bold mb-4">Data Platform</h3>
                    <div class="code-block mb-4">
                        <pre><code># Search data roles
mcp__pair-role__search-agents \
  "data analytics machine learning"

# Install data team
mcp__pair-role__install-agents [
  "data-scientist",
  "data-engineer",
  "machine-learning-engineer",
  "analytics-engineer"
]</code></pre>
                    </div>
                    <p class="text-gray-600">Create powerful data platforms with specialized data professionals.</p>
                </div>
            </div>
        </div>
    </section>

    <!-- Installation Section -->
    <section id="installation" class="py-20 bg-white">
        <div class="container mx-auto px-6">
            <h2 class="text-3xl font-bold text-center text-gray-800 mb-16">
                ⚡ Quick Installation
            </h2>
            
            <div class="max-w-3xl mx-auto">
                <div class="mb-8">
                    <h3 class="text-xl font-bold mb-4">1. Clone and Build</h3>
                    <div class="code-block">
                        <pre><code>git clone https://github.com/hongsw/claude-agents-power-mcp-server.git
cd claude-agents-power-mcp-server
npm install
npm run build</code></pre>
                    </div>
                </div>

                <div class="mb-8">
                    <h3 class="text-xl font-bold mb-4">2. Configure MCP</h3>
                    <p class="text-gray-600 mb-4">Add to your <code class="bg-gray-200 px-2 py-1 rounded">~/.config/claude/mcp_servers.json</code>:</p>
                    <div class="code-block">
                        <pre><code>{
  "mcpServers": {
    "pair-role": {
      "command": "node",
      "args": ["/path/to/claude-agents-power-mcp-server/dist/index.js"],
      "cwd": "/path/to/your/project",
      "env": {}
    }
  }
}</code></pre>
                    </div>
                </div>

                <div>
                    <h3 class="text-xl font-bold mb-4">3. Start Using</h3>
                    <p class="text-gray-600 mb-4">Restart Claude Code and start building your perfect team!</p>
                    <div class="code-block">
                        <pre><code># Analyze your project
mcp__pair-role__analyze-project

# Get recommendations
mcp__pair-role__recommend-by-keywords ["your", "tech", "stack"]

# Install agents
mcp__pair-role__install-agents ["selected", "roles"]</code></pre>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- CTA Section -->
    <section class="gradient-bg text-white py-20">
        <div class="container mx-auto px-6 text-center">
            <h2 class="text-3xl font-bold mb-6">
                Ready to Build Your Perfect Team?
            </h2>
            <p class="text-xl mb-8 text-purple-100">
                Start using Pair-Role MCP Server today and revolutionize how you build development teams.
            </p>
            <div class="flex justify-center space-x-4">
                <a href="https://github.com/hongsw/claude-agents-power-mcp-server" class="bg-white text-purple-700 px-8 py-3 rounded-lg font-bold hover:bg-purple-100 transition">
                    <i class="fab fa-github mr-2"></i> View on GitHub
                </a>
                <a href="https://github.com/hongsw/claude-agents-power-mcp-server/issues" class="border-2 border-white text-white px-8 py-3 rounded-lg font-bold hover:bg-white hover:text-purple-700 transition">
                    <i class="fas fa-comment mr-2"></i> Get Support
                </a>
            </div>
        </div>
    </section>

    <!-- Footer -->
    <footer class="bg-gray-800 text-white py-8">
        <div class="container mx-auto px-6 text-center">
            <p class="mb-4">
                Made with ❤️ for the Claude Code community
            </p>
            <div class="flex justify-center space-x-6">
                <a href="https://github.com/hongsw/claude-agents-power-mcp-server" class="hover:text-purple-400 transition">
                    <i class="fab fa-github text-2xl"></i>
                </a>
                <a href="https://miri.dev" class="hover:text-purple-400 transition">
                    <i class="fas fa-globe text-2xl"></i>
                </a>
                <a href="https://discord.gg/claudecode" class="hover:text-purple-400 transition">
                    <i class="fab fa-discord text-2xl"></i>
                </a>
            </div>
            <p class="mt-4 text-gray-400">
                © 2024 Pair-Role MCP Server. MIT License.
            </p>
        </div>
    </footer>

    <script>
        function showDepartment(dept) {
            // Hide all tabs
            const tabs = document.querySelectorAll('.tab-content');
            tabs.forEach(tab => tab.classList.remove('active'));
            
            // Show selected tab
            document.getElementById(dept).classList.add('active');
            
            // Update button styles
            const buttons = document.querySelectorAll('.category-badge');
            buttons.forEach(button => {
                button.style.opacity = '0.7';
            });
            event.target.style.opacity = '1';
        }

        // Smooth scrolling for navigation links
        document.querySelectorAll('a[href^="#"]').forEach(anchor => {
            anchor.addEventListener('click', function (e) {
                e.preventDefault();
                document.querySelector(this.getAttribute('href')).scrollIntoView({
                    behavior: 'smooth'
                });
            });
        });
    </script>
</body>
</html>
```

--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------

```html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Pair-Role MCP Server - Smart Role Assignment for Development Teams</title>
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/tailwind.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        .gradient-bg {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        .role-card {
            transition: all 0.3s ease;
        }
        .role-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
        }
        .category-badge {
            transition: all 0.2s ease;
        }
        .category-badge:hover {
            transform: scale(1.05);
        }
        .feature-icon {
            transition: all 0.3s ease;
        }
        .feature-icon:hover {
            transform: rotate(10deg) scale(1.1);
        }
        .code-block {
            background-color: #1e1e1e;
            color: #d4d4d4;
            border-radius: 8px;
            padding: 16px;
            font-family: 'Consolas', 'Monaco', monospace;
            overflow-x: auto;
        }
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }
        .hero-animation {
            animation: float 6s ease-in-out infinite;
        }
        @keyframes float {
            0% { transform: translatey(0px); }
            50% { transform: translatey(-20px); }
            100% { transform: translatey(0px); }
        }
    </style>
</head>
<body class="bg-gray-50">
    <!-- Navigation -->
    <nav class="bg-white shadow-lg sticky top-0 z-50">
        <div class="container mx-auto px-6 py-4">
            <div class="flex items-center justify-between">
                <div class="flex items-center">
                    <i class="fas fa-users-cog text-3xl text-purple-600 mr-3"></i>
                    <h1 class="text-2xl font-bold text-gray-800">Pair-Role MCP Server</h1>
                </div>
                <div class="flex space-x-6">
                    <a href="#features" class="text-gray-700 hover:text-purple-600 transition">Features</a>
                    <a href="#roles" class="text-gray-700 hover:text-purple-600 transition">Roles</a>
                    <a href="#usage" class="text-gray-700 hover:text-purple-600 transition">Usage</a>
                    <a href="#installation" class="text-gray-700 hover:text-purple-600 transition">Installation</a>
                    <a href="https://github.com/hongsw/claude-agents-power-mcp-server" class="text-gray-700 hover:text-purple-600 transition">
                        <i class="fab fa-github text-2xl"></i>
                    </a>
                </div>
            </div>
        </div>
    </nav>

    <!-- Hero Section -->
    <section class="gradient-bg text-white py-20">
        <div class="container mx-auto px-6">
            <div class="flex flex-col md:flex-row items-center">
                <div class="md:w-1/2 mb-10 md:mb-0">
                    <h2 class="text-4xl md:text-5xl font-bold mb-6">
                        🎯 Smart Role Assignment for Development Teams
                    </h2>
                    <p class="text-xl mb-8 text-purple-100">
                        An intelligent MCP server that analyzes your project and recommends the perfect team composition from 100+ professional roles across all company departments.
                    </p>
                    <div class="flex space-x-4">
                        <a href="#installation" class="bg-white text-purple-700 px-8 py-3 rounded-lg font-bold hover:bg-purple-100 transition">
                            Get Started
                        </a>
                        <a href="https://github.com/hongsw/claude-agents-power-mcp-server" class="border-2 border-white text-white px-8 py-3 rounded-lg font-bold hover:bg-white hover:text-purple-700 transition">
                            View on GitHub
                        </a>
                    </div>
                </div>
                <div class="md:w-1/2 flex justify-center">
                    <div class="hero-animation">
                        <div class="bg-white bg-opacity-20 backdrop-blur-lg rounded-lg p-8 shadow-2xl">
                            <div class="text-center mb-4">
                                <i class="fas fa-project-diagram text-6xl mb-4"></i>
                                <h3 class="text-2xl font-bold">AI-Powered Team Builder</h3>
                            </div>
                            <div class="space-y-2">
                                <div class="bg-white bg-opacity-20 rounded px-4 py-2">
                                    <i class="fas fa-check-circle mr-2"></i> Analyze Project
                                </div>
                                <div class="bg-white bg-opacity-20 rounded px-4 py-2">
                                    <i class="fas fa-users mr-2"></i> Recommend Roles
                                </div>
                                <div class="bg-white bg-opacity-20 rounded px-4 py-2">
                                    <i class="fas fa-download mr-2"></i> Install Agents
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Stats Section -->
    <section class="py-12 bg-white">
        <div class="container mx-auto px-6">
            <div class="grid grid-cols-2 md:grid-cols-4 gap-6 text-center">
                <div class="p-6">
                    <div class="text-4xl font-bold text-purple-600">100+</div>
                    <div class="text-gray-600 mt-2">Professional Roles</div>
                </div>
                <div class="p-6">
                    <div class="text-4xl font-bold text-purple-600">8</div>
                    <div class="text-gray-600 mt-2">Departments</div>
                </div>
                <div class="p-6">
                    <div class="text-4xl font-bold text-purple-600">2</div>
                    <div class="text-gray-600 mt-2">Languages</div>
                </div>
                <div class="p-6">
                    <div class="text-4xl font-bold text-purple-600">∞</div>
                    <div class="text-gray-600 mt-2">Team Combinations</div>
                </div>
            </div>
        </div>
    </section>

    <!-- Features Section -->
    <section id="features" class="py-20 bg-gray-50">
        <div class="container mx-auto px-6">
            <h2 class="text-3xl font-bold text-center text-gray-800 mb-16">
                🌟 Key Features
            </h2>
            <div class="grid md:grid-cols-3 gap-8">
                <div class="bg-white rounded-lg shadow-lg p-8 text-center role-card">
                    <div class="feature-icon inline-block mb-4">
                        <i class="fas fa-search text-5xl text-purple-600"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-4">Intelligent Project Analysis</h3>
                    <p class="text-gray-600">
                        Automatically detects project type, frameworks, and complexity to provide smart role recommendations based on your tech stack.
                    </p>
                </div>
                <div class="bg-white rounded-lg shadow-lg p-8 text-center role-card">
                    <div class="feature-icon inline-block mb-4">
                        <i class="fas fa-users text-5xl text-purple-600"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-4">100+ Professional Roles</h3>
                    <p class="text-gray-600">
                        Comprehensive coverage across Technology, Data, Product, Marketing, Operations, Finance, HR, and Executive roles.
                    </p>
                </div>
                <div class="bg-white rounded-lg shadow-lg p-8 text-center role-card">
                    <div class="feature-icon inline-block mb-4">
                        <i class="fas fa-globe text-5xl text-purple-600"></i>
                    </div>
                    <h3 class="text-xl font-bold mb-4">Multi-Language Support</h3>
                    <p class="text-gray-600">
                        Available in English and Korean, supporting global standards and local business contexts.
                    </p>
                </div>
            </div>
        </div>
    </section>

    <!-- Roles Section -->
    <section id="roles" class="py-20 bg-white">
        <div class="container mx-auto px-6">
            <h2 class="text-3xl font-bold text-center text-gray-800 mb-16">
                📋 Available Roles by Department
            </h2>
            
            <!-- Department Tabs -->
            <div class="flex flex-wrap justify-center mb-8 gap-2">
                <button onclick="showDepartment('tech')" class="category-badge bg-purple-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    🔧 Technology (20)
                </button>
                <button onclick="showDepartment('data')" class="category-badge bg-blue-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    📊 Data & Analytics (15)
                </button>
                <button onclick="showDepartment('product')" class="category-badge bg-pink-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    🎨 Product & Design (10)
                </button>
                <button onclick="showDepartment('marketing')" class="category-badge bg-green-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    📈 Marketing & Sales (10)
                </button>
                <button onclick="showDepartment('operations')" class="category-badge bg-yellow-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    ⚙️ Operations (15)
                </button>
                <button onclick="showDepartment('finance')" class="category-badge bg-red-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    💰 Finance (10)
                </button>
                <button onclick="showDepartment('hr')" class="category-badge bg-indigo-600 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    👥 HR (10)
                </button>
                <button onclick="showDepartment('executive')" class="category-badge bg-gray-800 text-white px-4 py-2 rounded-full text-sm font-semibold">
                    🏢 Executive (10)
                </button>
            </div>

            <!-- Department Content -->
            <div id="tech" class="tab-content active">
                <div class="grid md:grid-cols-3 gap-6">
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Software Engineer</h4>
                        <p class="text-gray-600 text-sm mb-3">Full-stack development, system design</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Bash</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Write</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Edit</span>
                        </div>
                    </div>
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Frontend Developer</h4>
                        <p class="text-gray-600 text-sm mb-3">React, Vue, Angular, UI/UX</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Write</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Edit</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Bash</span>
                        </div>
                    </div>
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Backend Developer</h4>
                        <p class="text-gray-600 text-sm mb-3">APIs, databases, server architecture</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Bash</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Write</span>
                            <span class="bg-purple-100 text-purple-800 px-2 py-1 rounded text-xs">Edit</span>
                        </div>
                    </div>
                    <!-- More roles... -->
                </div>
                <p class="text-center mt-6 text-gray-600">
                    + 17 more technology roles including DevOps, Security, Cloud, Mobile, QA, and more!
                </p>
            </div>

            <div id="data" class="tab-content">
                <div class="grid md:grid-cols-3 gap-6">
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Data Scientist</h4>
                        <p class="text-gray-600 text-sm mb-3">ML modeling, statistical analysis</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Bash</span>
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Write</span>
                        </div>
                    </div>
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Data Analyst</h4>
                        <p class="text-gray-600 text-sm mb-3">Business insights, reporting</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Write</span>
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Bash</span>
                        </div>
                    </div>
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Business Intelligence Analyst</h4>
                        <p class="text-gray-600 text-sm mb-3">Dashboards, BI tools</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Write</span>
                            <span class="bg-blue-100 text-blue-800 px-2 py-1 rounded text-xs">Bash</span>
                        </div>
                    </div>
                </div>
                <p class="text-center mt-6 text-gray-600">
                    + 12 more data & analytics roles including Analytics Engineer, Marketing Analyst, and more!
                </p>
            </div>

            <div id="product" class="tab-content">
                <div class="grid md:grid-cols-3 gap-6">
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">Product Manager</h4>
                        <p class="text-gray-600 text-sm mb-3">Product strategy, roadmap</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-pink-100 text-pink-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-pink-100 text-pink-800 px-2 py-1 rounded text-xs">Write</span>
                        </div>
                    </div>
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">UX Designer</h4>
                        <p class="text-gray-600 text-sm mb-3">User research, wireframes</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-pink-100 text-pink-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-pink-100 text-pink-800 px-2 py-1 rounded text-xs">Write</span>
                        </div>
                    </div>
                    <div class="role-card bg-gray-50 p-6 rounded-lg">
                        <h4 class="font-bold text-lg mb-2">UI Designer</h4>
                        <p class="text-gray-600 text-sm mb-3">Visual design, prototypes</p>
                        <div class="flex flex-wrap gap-2">
                            <span class="bg-pink-100 text-pink-800 px-2 py-1 rounded text-xs">Read</span>
                            <span class="bg-pink-100 text-pink-800 px-2 py-1 rounded text-xs">Write</span>
                        </div>
                    </div>
                </div>
                <p class="text-center mt-6 text-gray-600">
                    + 7 more product & design roles including Product Designer, UX Researcher, and more!
                </p>
            </div>

            <!-- Other department tabs... -->
        </div>
    </section>

    <!-- Usage Examples Section -->
    <section id="usage" class="py-20 bg-gray-50">
        <div class="container mx-auto px-6">
            <h2 class="text-3xl font-bold text-center text-gray-800 mb-16">
                🎯 Usage Examples
            </h2>
            
            <div class="grid md:grid-cols-3 gap-8">
                <!-- Startup Example -->
                <div class="bg-white rounded-lg shadow-lg p-8">
                    <div class="text-2xl mb-4">🚀</div>
                    <h3 class="text-xl font-bold mb-4">Startup MVP Development</h3>
                    <div class="code-block mb-4">
                        <pre><code># Analyze project
mcp__pair-role__analyze-project

# Install startup team
mcp__pair-role__install-agents [
  "product-manager",
  "frontend-developer",
  "backend-developer",
  "growth-marketing-manager"
]</code></pre>
                    </div>
                    <p class="text-gray-600">Perfect for building your minimum viable product with a lean team.</p>
                </div>

                <!-- Enterprise Example -->
                <div class="bg-white rounded-lg shadow-lg p-8">
                    <div class="text-2xl mb-4">🏢</div>
                    <h3 class="text-xl font-bold mb-4">Enterprise Application</h3>
                    <div class="code-block mb-4">
                        <pre><code># Get enterprise recommendations
mcp__pair-role__recommend-by-keywords [
  "enterprise", "security", 
  "scalability", "compliance"
]

# Install enterprise team
mcp__pair-role__install-agents [
  "solution-architect",
  "security-engineer",
  "devops-engineer",
  "compliance-manager"
]</code></pre>
                    </div>
                    <p class="text-gray-600">Build secure, scalable enterprise solutions with the right expertise.</p>
                </div>

                <!-- Data Platform Example -->
                <div class="bg-white rounded-lg shadow-lg p-8">
                    <div class="text-2xl mb-4">📊</div>
                    <h3 class="text-xl font-bold mb-4">Data Platform</h3>
                    <div class="code-block mb-4">
                        <pre><code># Search data roles
mcp__pair-role__search-agents \
  "data analytics machine learning"

# Install data team
mcp__pair-role__install-agents [
  "data-scientist",
  "data-engineer",
  "machine-learning-engineer",
  "analytics-engineer"
]</code></pre>
                    </div>
                    <p class="text-gray-600">Create powerful data platforms with specialized data professionals.</p>
                </div>
            </div>
        </div>
    </section>

    <!-- Installation Section -->
    <section id="installation" class="py-20 bg-white">
        <div class="container mx-auto px-6">
            <h2 class="text-3xl font-bold text-center text-gray-800 mb-16">
                ⚡ Quick Installation
            </h2>
            
            <div class="max-w-3xl mx-auto">
                <div class="mb-8">
                    <h3 class="text-xl font-bold mb-4">1. Clone and Build</h3>
                    <div class="code-block">
                        <pre><code>git clone https://github.com/hongsw/claude-agents-power-mcp-server.git
cd claude-agents-power-mcp-server
npm install
npm run build</code></pre>
                    </div>
                </div>

                <div class="mb-8">
                    <h3 class="text-xl font-bold mb-4">2. Configure MCP</h3>
                    <p class="text-gray-600 mb-4">Add to your <code class="bg-gray-200 px-2 py-1 rounded">~/.config/claude/mcp_servers.json</code>:</p>
                    <div class="code-block">
                        <pre><code>{
  "mcpServers": {
    "pair-role": {
      "command": "node",
      "args": ["/path/to/claude-agents-power-mcp-server/dist/index.js"],
      "cwd": "/path/to/your/project",
      "env": {}
    }
  }
}</code></pre>
                    </div>
                </div>

                <div>
                    <h3 class="text-xl font-bold mb-4">3. Start Using</h3>
                    <p class="text-gray-600 mb-4">Restart Claude Code and start building your perfect team!</p>
                    <div class="code-block">
                        <pre><code># Analyze your project
mcp__pair-role__analyze-project

# Get recommendations
mcp__pair-role__recommend-by-keywords ["your", "tech", "stack"]

# Install agents
mcp__pair-role__install-agents ["selected", "roles"]</code></pre>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- CTA Section -->
    <section class="gradient-bg text-white py-20">
        <div class="container mx-auto px-6 text-center">
            <h2 class="text-3xl font-bold mb-6">
                Ready to Build Your Perfect Team?
            </h2>
            <p class="text-xl mb-8 text-purple-100">
                Start using Pair-Role MCP Server today and revolutionize how you build development teams.
            </p>
            <div class="flex justify-center space-x-4">
                <a href="https://github.com/hongsw/claude-agents-power-mcp-server" class="bg-white text-purple-700 px-8 py-3 rounded-lg font-bold hover:bg-purple-100 transition">
                    <i class="fab fa-github mr-2"></i> View on GitHub
                </a>
                <a href="https://github.com/hongsw/claude-agents-power-mcp-server/issues" class="border-2 border-white text-white px-8 py-3 rounded-lg font-bold hover:bg-white hover:text-purple-700 transition">
                    <i class="fas fa-comment mr-2"></i> Get Support
                </a>
            </div>
        </div>
    </section>

    <!-- Footer -->
    <footer class="bg-gray-800 text-white py-8">
        <div class="container mx-auto px-6 text-center">
            <p class="mb-4">
                Made with ❤️ for the Claude Code community
            </p>
            <div class="flex justify-center space-x-6">
                <a href="https://github.com/hongsw/claude-agents-power-mcp-server" class="hover:text-purple-400 transition">
                    <i class="fab fa-github text-2xl"></i>
                </a>
                <a href="https://miri.dev" class="hover:text-purple-400 transition">
                    <i class="fas fa-globe text-2xl"></i>
                </a>
                <a href="https://discord.gg/claudecode" class="hover:text-purple-400 transition">
                    <i class="fab fa-discord text-2xl"></i>
                </a>
            </div>
            <p class="mt-4 text-gray-400">
                © 2024 Pair-Role MCP Server. MIT License.
            </p>
        </div>
    </footer>

    <script>
        function showDepartment(dept) {
            // Hide all tabs
            const tabs = document.querySelectorAll('.tab-content');
            tabs.forEach(tab => tab.classList.remove('active'));
            
            // Show selected tab
            document.getElementById(dept).classList.add('active');
            
            // Update button styles
            const buttons = document.querySelectorAll('.category-badge');
            buttons.forEach(button => {
                button.style.opacity = '0.7';
            });
            event.target.style.opacity = '1';
        }

        // Smooth scrolling for navigation links
        document.querySelectorAll('a[href^="#"]').forEach(anchor => {
            anchor.addEventListener('click', function (e) {
                e.preventDefault();
                document.querySelector(this.getAttribute('href')).scrollIntoView({
                    behavior: 'smooth'
                });
            });
        });
    </script>
</body>
</html>
```

--------------------------------------------------------------------------------
/src/aiAnalysisService.ts:
--------------------------------------------------------------------------------

```typescript
import fs from 'fs';
import path from 'path';
import { glob } from 'glob';

export interface AIProjectAnalysis {
  projectType: string;
  technologies: string[];
  frameworks: string[];
  complexity: number;
  phase: string;
  teamSize: number;
  description?: string;
  goals?: string[];
  requirements?: string[];
  architecturalPatterns?: string[];
  developmentPractices?: string[];
  qualityIndicators?: {
    hasTests: boolean;
    hasDocumentation: boolean;
    hasCI: boolean;
    hasLinting: boolean;
    codeComplexity: 'low' | 'medium' | 'high';
  };
}

export interface AIAgentRecommendation {
  name: string;
  description: string;
  relevanceScore: number;
  reasoning: string;
  tools: string[];
  category: string;
  priority: 'essential' | 'recommended' | 'optional';
  color?: string; // HEX color code for agent visualization
  specificTasks?: string[];
  integrationPoints?: string[];
}

/**
 * AI-Powered Project Analysis Service
 * Uses intelligent analysis instead of static rules to understand projects
 */
export class AIAnalysisService {
  
  /**
   * Perform comprehensive AI analysis of a project
   */
  async analyzeProject(claudeMdPath: string, projectRoot?: string): Promise<AIProjectAnalysis> {
    const projectPath = projectRoot || path.dirname(claudeMdPath);
    
    // Gather comprehensive project context
    const context = await this.gatherProjectContext(claudeMdPath, projectPath);
    
    // Perform AI analysis
    const analysis = await this.performAIAnalysis(context);
    
    return analysis;
  }

  /**
   * Generate agent recommendations based on AI analysis
   */
  async generateRecommendations(analysis: AIProjectAnalysis): Promise<AIAgentRecommendation[]> {
    // Use AI to generate intelligent recommendations
    return this.performAIRecommendation(analysis);
  }

  /**
   * Gather comprehensive project context for AI analysis
   */
  private async gatherProjectContext(claudeMdPath: string, projectPath: string): Promise<{
    claudeMdContent?: string;
    fileStructure: string[];
    packageInfo?: any;
    configFiles: string[];
    codeMetrics: {
      totalFiles: number;
      codeFiles: number;
      testFiles: number;
      docFiles: number;
      languages: string[];
    };
    dependencies?: any;
    gitInfo?: {
      hasGit: boolean;
      recentCommits?: string[];
      branches?: string[];
    };
  }> {
    const context: any = {
      fileStructure: [],
      configFiles: [],
      codeMetrics: {
        totalFiles: 0,
        codeFiles: 0,
        testFiles: 0,
        docFiles: 0,
        languages: []
      }
    };

    // Read CLAUDE.md if exists
    try {
      if (fs.existsSync(claudeMdPath)) {
        context.claudeMdContent = fs.readFileSync(claudeMdPath, 'utf8');
      }
    } catch (error) {
      // Continue without CLAUDE.md
    }

    try {
      // Get file structure (limited depth to avoid performance issues)
      const files = await glob('**/*', { 
        cwd: projectPath,
        ignore: ['node_modules/**', 'dist/**', 'build/**', '.git/**', 'venv/**', '__pycache__/**'],
        nodir: true,
        maxDepth: 4
      });

      context.fileStructure = files.slice(0, 100); // Limit for performance
      context.codeMetrics.totalFiles = files.length;

      // Analyze file types
      const codeExtensions = ['.js', '.ts', '.jsx', '.tsx', '.py', '.java', '.go', '.rs', '.php', '.rb', '.cs', '.cpp', '.c', '.h'];
      const testExtensions = ['.test.', '.spec.', '_test.', '_spec.'];
      const docExtensions = ['.md', '.rst', '.txt', '.doc'];

      files.forEach(file => {
        const ext = path.extname(file);
        const basename = path.basename(file);
        
        if (codeExtensions.includes(ext)) {
          context.codeMetrics.codeFiles++;
          const lang = this.getLanguageFromExtension(ext);
          if (lang && !context.codeMetrics.languages.includes(lang)) {
            context.codeMetrics.languages.push(lang);
          }
        }
        
        if (testExtensions.some(testExt => basename.includes(testExt))) {
          context.codeMetrics.testFiles++;
        }
        
        if (docExtensions.includes(ext)) {
          context.codeMetrics.docFiles++;
        }
      });

      // Identify config files
      const configPatterns = [
        'package.json', 'package-lock.json', 'yarn.lock',
        'requirements.txt', 'pyproject.toml', 'setup.py',
        'Cargo.toml', 'go.mod', 'pom.xml', 'build.gradle',
        'Dockerfile', 'docker-compose.yml',
        '.gitignore', '.eslintrc*', '.prettierrc*',
        'tsconfig.json', 'webpack.config.js', 'vite.config.*',
        'tailwind.config.js', 'next.config.js', 'nuxt.config.js'
      ];

      context.configFiles = files.filter(file => 
        configPatterns.some(pattern => 
          pattern.includes('*') ? 
            file.includes(pattern.replace('*', '')) : 
            path.basename(file) === pattern
        )
      );

      // Read package.json for detailed dependency analysis
      const packageJsonPath = path.join(projectPath, 'package.json');
      if (fs.existsSync(packageJsonPath)) {
        try {
          context.packageInfo = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
          context.dependencies = {
            ...context.packageInfo.dependencies,
            ...context.packageInfo.devDependencies
          };
        } catch (e) {
          // Continue without package.json parsing
        }
      }

      // Check for git repository
      const gitPath = path.join(projectPath, '.git');
      context.gitInfo = {
        hasGit: fs.existsSync(gitPath)
      };

    } catch (error) {
      console.warn('Error gathering project context:', error);
    }

    return context;
  }

  /**
   * Perform AI-powered analysis of the project context
   */
  private async performAIAnalysis(context: any): Promise<AIProjectAnalysis> {
    // This is where we would integrate with Claude API or use AI reasoning
    // For now, implementing intelligent rule-based analysis that mimics AI decision making
    
    const analysis: AIProjectAnalysis = {
      projectType: 'unknown',
      technologies: [],
      frameworks: [],
      complexity: 5,
      phase: 'development',
      teamSize: 5,
      description: '',
      goals: [],
      requirements: [],
      architecturalPatterns: [],
      developmentPractices: [],
      qualityIndicators: {
        hasTests: context.codeMetrics.testFiles > 0,
        hasDocumentation: context.codeMetrics.docFiles > 5,
        hasCI: context.configFiles.some((file: string) => file.includes('.github/workflows') || file.includes('.gitlab-ci')),
        hasLinting: context.configFiles.some((file: string) => file.includes('eslint') || file.includes('prettier')),
        codeComplexity: context.codeMetrics.totalFiles > 100 ? 'high' : context.codeMetrics.totalFiles > 30 ? 'medium' : 'low'
      }
    };

    // Extract information from CLAUDE.md with intelligent parsing
    if (context.claudeMdContent) {
      analysis.description = this.extractProjectDescription(context.claudeMdContent);
      analysis.goals = this.extractProjectGoals(context.claudeMdContent);
      analysis.requirements = this.extractProjectRequirements(context.claudeMdContent);
    }

    // Intelligent project type detection
    analysis.projectType = this.determineProjectType(context);
    
    // Technology and framework detection with context awareness
    analysis.technologies = this.detectTechnologies(context);
    analysis.frameworks = this.detectFrameworks(context);
    
    // Complexity assessment using multiple factors
    analysis.complexity = this.calculateComplexity(context, analysis);
    
    // Development phase detection
    analysis.phase = this.determineDevelopmentPhase(context, analysis);
    
    // Optimal team size recommendation
    analysis.teamSize = this.recommendTeamSize(analysis);
    
    // Architectural patterns detection
    analysis.architecturalPatterns = this.detectArchitecturalPatterns(context);
    
    // Development practices assessment
    analysis.developmentPractices = this.assessDevelopmentPractices(context);

    return analysis;
  }

  /**
   * Generate intelligent agent recommendations based on analysis
   */
  private async performAIRecommendation(analysis: AIProjectAnalysis): Promise<AIAgentRecommendation[]> {
    const recommendations: AIAgentRecommendation[] = [];

    // Intelligent recommendation rules based on comprehensive analysis
    const recommendationRules = this.createIntelligentRecommendationRules();

    for (const rule of recommendationRules) {
      const relevance = rule.evaluate(analysis);
      if (relevance.isRelevant) {
        recommendations.push({
          name: rule.agentName,
          description: rule.description,
          relevanceScore: relevance.score,
          reasoning: relevance.reasoning,
          tools: rule.tools,
          category: rule.category,
          priority: relevance.priority,
          color: this.getAgentColor(rule.agentName, rule.category),
          specificTasks: relevance.specificTasks,
          integrationPoints: relevance.integrationPoints
        });
      }
    }

    // Sort by relevance score and apply intelligent filtering
    return recommendations
      .sort((a, b) => b.relevanceScore - a.relevanceScore)
      .slice(0, analysis.teamSize + 2); // Recommend slightly more than team size
  }

  /**
   * Create intelligent recommendation rules
   */
  private createIntelligentRecommendationRules() {
    return [
      // Frontend Development Rules
      {
        agentName: 'frontend-developer',
        description: 'UI/UX implementation specialist with modern web technologies expertise',
        category: 'development',
        tools: ['Read', 'Write', 'Edit', 'MultiEdit', 'Bash'],
        evaluate: (analysis: AIProjectAnalysis) => {
          const hasFrontend = analysis.frameworks.some(f => ['React', 'Vue', 'Angular', 'Svelte'].includes(f)) ||
                             analysis.technologies.includes('JavaScript') ||
                             analysis.projectType.includes('web');
          
          if (!hasFrontend) return { isRelevant: false, score: 0, reasoning: '', priority: 'optional' as const };

          let score = 90;
          let reasoning = 'Essential for frontend development with ';
          const tasks = ['Implement user interfaces', 'Optimize performance', 'Ensure accessibility'];
          const integrationPoints = ['Backend APIs', 'Design system', 'Testing framework'];

          if (analysis.frameworks.length > 0) {
            score += 5;
            reasoning += analysis.frameworks.join(', ');
          } else {
            reasoning += 'modern web technologies';
          }

          if (analysis.qualityIndicators?.hasTests) {
            tasks.push('Write frontend tests');
            score += 3;
          }

          return {
            isRelevant: true,
            score,
            reasoning,
            priority: 'essential' as const,
            specificTasks: tasks,
            integrationPoints
          };
        }
      },

      // Backend Development Rules  
      {
        agentName: 'backend-engineer',
        description: 'Server-side development and API specialist',
        category: 'development',
        tools: ['Read', 'Write', 'Edit', 'MultiEdit', 'Bash'],
        evaluate: (analysis: AIProjectAnalysis) => {
          const hasBackend = analysis.technologies.includes('Node.js') ||
                            analysis.technologies.includes('Python') ||
                            analysis.technologies.includes('Java') ||
                            analysis.projectType.includes('api') ||
                            analysis.projectType.includes('server');

          if (!hasBackend) return { isRelevant: false, score: 0, reasoning: '', priority: 'optional' as const };

          let score = 95;
          let reasoning = 'Critical for backend development and API design';
          const tasks = ['Design APIs', 'Implement business logic', 'Database integration'];
          const integrationPoints = ['Frontend applications', 'Database systems', 'External services'];

          if (analysis.complexity > 7) {
            score += 3;
            tasks.push('Optimize performance');
            reasoning += ' with complex system requirements';
          }

          if (analysis.qualityIndicators?.hasTests) {
            tasks.push('API testing and validation');
          }

          return {
            isRelevant: true,
            score,
            reasoning,
            priority: 'essential' as const,
            specificTasks: tasks,
            integrationPoints
          };
        }
      },

      // Full-Stack Development Rules
      {
        agentName: 'full-stack-developer',
        description: 'End-to-end development specialist',
        category: 'development',
        tools: ['Read', 'Write', 'Edit', 'MultiEdit', 'Bash', 'WebSearch'],
        evaluate: (analysis: AIProjectAnalysis) => {
          const hasBothEnds = analysis.frameworks.length > 0 && 
                             (analysis.technologies.includes('Node.js') || analysis.technologies.includes('Python'));

          if (!hasBothEnds) return { isRelevant: false, score: 0, reasoning: '', priority: 'optional' as const };

          let score = 88;
          const reasoning = 'Perfect for full-stack applications requiring end-to-end integration';
          const tasks = ['Coordinate frontend-backend integration', 'Implement full features', 'System architecture'];
          const integrationPoints = ['Frontend frameworks', 'Backend services', 'Database layer'];

          if (analysis.teamSize <= 3) {
            score += 7; // More valuable for smaller teams
          }

          return {
            isRelevant: true,
            score,
            reasoning,
            priority: 'essential' as const,
            specificTasks: tasks,
            integrationPoints
          };
        }
      },

      // DevOps and Infrastructure Rules
      {
        agentName: 'devops-engineer',
        description: 'Infrastructure and deployment specialist',
        category: 'infrastructure',
        tools: ['Read', 'Write', 'Bash', 'Edit'],
        evaluate: (analysis: AIProjectAnalysis) => {
          const needsDevOps = analysis.complexity > 6 ||
                             analysis.technologies.includes('Docker') ||
                             analysis.qualityIndicators?.hasCI ||
                             analysis.phase === 'deployment';

          if (!needsDevOps) return { isRelevant: false, score: 0, reasoning: '', priority: 'optional' as const };

          let score = 82;
          let reasoning = 'Required for deployment and infrastructure management';
          const tasks = ['Setup CI/CD pipelines', 'Configure deployment', 'Monitor systems'];
          const integrationPoints = ['Development workflow', 'Production environment', 'Monitoring tools'];

          if (analysis.technologies.includes('Docker')) {
            score += 8;
            reasoning += ' with containerization expertise';
          }

          if (analysis.complexity > 8) {
            score += 5;
            tasks.push('Scale infrastructure');
          }

          return {
            isRelevant: true,
            score,
            reasoning,
            priority: analysis.phase === 'deployment' ? 'essential' as const : 'recommended' as const,
            specificTasks: tasks,
            integrationPoints
          };
        }
      },

      // Quality Assurance Rules
      {
        agentName: 'qa-engineer',
        description: 'Quality assurance and testing specialist',
        category: 'quality',
        tools: ['Read', 'Write', 'Bash'],
        evaluate: (analysis: AIProjectAnalysis) => {
          const needsQA = analysis.complexity > 5 || 
                         analysis.projectType.includes('web') ||
                         !analysis.qualityIndicators?.hasTests;

          if (!needsQA) return { isRelevant: false, score: 0, reasoning: '', priority: 'optional' as const };

          let score = 75;
          let reasoning = 'Important for quality assurance and testing strategy';
          const tasks = ['Design test strategies', 'Implement automated testing', 'Quality validation'];
          const integrationPoints = ['Development workflow', 'CI/CD pipeline', 'User acceptance'];

          if (!analysis.qualityIndicators?.hasTests) {
            score += 10;
            reasoning += ' - no existing tests detected';
            tasks.unshift('Establish testing framework');
          }

          if (analysis.complexity > 8) {
            score += 5;
            tasks.push('Performance testing');
          }

          return {
            isRelevant: true,
            score,
            reasoning,
            priority: 'recommended' as const,
            specificTasks: tasks,
            integrationPoints
          };
        }
      },

      // Security Engineering Rules
      {
        agentName: 'security-engineer',
        description: 'Security and compliance specialist',
        category: 'security',
        tools: ['Read', 'Bash', 'Edit'],
        evaluate: (analysis: AIProjectAnalysis) => {
          const needsSecurity = analysis.projectType.includes('web') ||
                               analysis.complexity > 7 ||
                               analysis.technologies.some(t => ['authentication', 'payment', 'data'].some(s => t.toLowerCase().includes(s)));

          if (!needsSecurity) return { isRelevant: false, score: 0, reasoning: '', priority: 'optional' as const };

          let score = 78;
          let reasoning = 'Critical for security and compliance requirements';
          const tasks = ['Security audits', 'Implement security measures', 'Compliance validation'];
          const integrationPoints = ['Authentication systems', 'Data protection', 'API security'];

          if (analysis.projectType.includes('web')) {
            score += 7;
            tasks.push('Web application security');
          }

          if (analysis.complexity > 8) {
            score += 5;
            reasoning += ' for complex systems';
          }

          return {
            isRelevant: true,
            score,
            reasoning,
            priority: 'recommended' as const,
            specificTasks: tasks,
            integrationPoints
          };
        }
      },

      // Technical Leadership Rules
      {
        agentName: 'tech-lead',
        description: 'Technical leadership and architecture specialist',
        category: 'management',
        tools: ['Read', 'Write'],
        evaluate: (analysis: AIProjectAnalysis) => {
          const needsLeadership = analysis.complexity > 7 ||
                                 analysis.technologies.length > 4 ||
                                 analysis.teamSize > 5;

          if (!needsLeadership) return { isRelevant: false, score: 0, reasoning: '', priority: 'optional' as const };

          let score = 83;
          const reasoning = 'Essential for technical leadership and coordination in complex projects';
          const tasks = ['Technical decision making', 'Team coordination', 'Architecture oversight'];
          const integrationPoints = ['Development team', 'Project stakeholders', 'Architecture decisions'];

          if (analysis.teamSize > 7) {
            score += 5;
          }

          return {
            isRelevant: true,
            score,
            reasoning,
            priority: 'recommended' as const,
            specificTasks: tasks,
            integrationPoints
          };
        }
      },

      // Documentation Specialist Rules
      {
        agentName: 'technical-writer',
        description: 'Documentation and content specialist',
        category: 'documentation',
        tools: ['Read', 'Write', 'Edit'],
        evaluate: (analysis: AIProjectAnalysis) => {
          const needsDocs = analysis.complexity > 6 ||
                           !analysis.qualityIndicators?.hasDocumentation ||
                           analysis.projectType.includes('api');

          if (!needsDocs) return { isRelevant: false, score: 0, reasoning: '', priority: 'optional' as const };

          let score = 65;
          let reasoning = 'Important for documentation and user guides';
          const tasks = ['Create technical documentation', 'API documentation', 'User guides'];
          const integrationPoints = ['Development workflow', 'User experience', 'Knowledge management'];

          if (!analysis.qualityIndicators?.hasDocumentation) {
            score += 8;
            reasoning += ' - insufficient documentation detected';
          }

          if (analysis.projectType.includes('api')) {
            score += 7;
            tasks.push('API documentation');
          }

          return {
            isRelevant: true,
            score,
            reasoning,
            priority: 'optional' as const,
            specificTasks: tasks,
            integrationPoints
          };
        }
      }
    ];
  }

  // Helper methods for analysis

  private getLanguageFromExtension(ext: string): string | null {
    const langMap: Record<string, string> = {
      '.js': 'JavaScript',
      '.ts': 'TypeScript', 
      '.jsx': 'React',
      '.tsx': 'React TypeScript',
      '.py': 'Python',
      '.java': 'Java',
      '.go': 'Go',
      '.rs': 'Rust',
      '.php': 'PHP',
      '.rb': 'Ruby',
      '.cs': 'C#',
      '.cpp': 'C++',
      '.c': 'C'
    };
    return langMap[ext] || null;
  }

  private extractProjectDescription(content: string): string {
    // Extract description from CLAUDE.md
    const lines = content.split('\n');
    for (let i = 0; i < lines.length; i++) {
      const line = lines[i].trim();
      if (line.startsWith('# ') && line.length > 2) {
        return line.substring(2).trim();
      }
    }
    return 'Project description not available';
  }

  private extractProjectGoals(content: string): string[] {
    const goals: string[] = [];
    const lines = content.split('\n');
    let inGoalsSection = false;

    for (const line of lines) {
      const trimmed = line.trim();
      if (trimmed.toLowerCase().includes('goal') || trimmed.toLowerCase().includes('objective')) {
        inGoalsSection = true;
        continue;
      }
      if (inGoalsSection && trimmed.startsWith('- ')) {
        goals.push(trimmed.substring(2));
      } else if (inGoalsSection && trimmed.startsWith('#')) {
        break;
      }
    }

    return goals;
  }

  private extractProjectRequirements(content: string): string[] {
    const requirements: string[] = [];
    const lines = content.split('\n');
    let inReqSection = false;

    for (const line of lines) {
      const trimmed = line.trim();
      if (trimmed.toLowerCase().includes('requirement') || trimmed.toLowerCase().includes('need')) {
        inReqSection = true;
        continue;
      }
      if (inReqSection && trimmed.startsWith('- ')) {
        requirements.push(trimmed.substring(2));
      } else if (inReqSection && trimmed.startsWith('#')) {
        break;
      }
    }

    return requirements;
  }

  private determineProjectType(context: any): string {
    const files = context.fileStructure;
    const deps = context.dependencies || {};

    // Web application detection
    if (files.some((f: string) => f.includes('index.html')) || 
        Object.keys(deps).some(dep => ['react', 'vue', 'angular'].includes(dep))) {
      return 'web-application';
    }

    // API detection
    if (files.some((f: string) => f.includes('api/') || f.includes('server.')) || 
        Object.keys(deps).some(dep => ['express', 'fastapi', 'nest'].includes(dep))) {
      return 'api-service';
    }

    // Mobile app detection
    if (files.some((f: string) => f.includes('pubspec.yaml') || f.includes('Info.plist')) ||
        Object.keys(deps).some(dep => ['react-native', 'ionic', 'flutter'].includes(dep))) {
      return 'mobile-application';
    }

    // CLI tool detection
    if (files.some((f: string) => f.includes('bin/') || f.includes('cli.')) ||
        context.packageInfo?.bin) {
      return 'cli-tool';
    }

    // Library detection
    if (context.packageInfo?.main && !context.packageInfo?.private) {
      return 'library';
    }

    return 'application';
  }

  private detectTechnologies(context: any): string[] {
    const technologies = new Set<string>();
    const deps = context.dependencies || {};
    const languages = context.codeMetrics.languages || [];

    // Add detected languages
    languages.forEach((lang: string) => technologies.add(lang));

    // Database technologies
    if (Object.keys(deps).some(dep => dep.includes('postgres'))) technologies.add('PostgreSQL');
    if (Object.keys(deps).some(dep => dep.includes('mongo'))) technologies.add('MongoDB');
    if (Object.keys(deps).some(dep => dep.includes('redis'))) technologies.add('Redis');
    if (Object.keys(deps).some(dep => dep.includes('mysql'))) technologies.add('MySQL');

    // Cloud and infrastructure
    if (Object.keys(deps).some(dep => dep.includes('aws'))) technologies.add('AWS');
    if (context.fileStructure.some((f: string) => f.includes('Dockerfile'))) technologies.add('Docker');
    if (context.fileStructure.some((f: string) => f.includes('kubernetes'))) technologies.add('Kubernetes');

    // Build tools and bundlers
    if (Object.keys(deps).some(dep => ['webpack', 'vite', 'rollup', 'parcel'].includes(dep))) {
      technologies.add('Build Tools');
    }

    return Array.from(technologies);
  }

  private detectFrameworks(context: any): string[] {
    const frameworks = new Set<string>();
    const deps = context.dependencies || {};

    // Frontend frameworks
    if (Object.keys(deps).some(dep => dep.includes('react'))) frameworks.add('React');
    if (Object.keys(deps).some(dep => dep.includes('vue'))) frameworks.add('Vue');
    if (Object.keys(deps).some(dep => dep.includes('angular'))) frameworks.add('Angular');
    if (Object.keys(deps).some(dep => dep.includes('svelte'))) frameworks.add('Svelte');
    if (Object.keys(deps).some(dep => dep.includes('next'))) frameworks.add('Next.js');
    if (Object.keys(deps).some(dep => dep.includes('nuxt'))) frameworks.add('Nuxt.js');

    // Backend frameworks
    if (Object.keys(deps).some(dep => dep.includes('express'))) frameworks.add('Express');
    if (Object.keys(deps).some(dep => dep.includes('nest'))) frameworks.add('NestJS');
    if (Object.keys(deps).some(dep => dep.includes('koa'))) frameworks.add('Koa');

    // Testing frameworks
    if (Object.keys(deps).some(dep => ['jest', 'mocha', 'chai', 'cypress'].includes(dep))) {
      frameworks.add('Testing Framework');
    }

    return Array.from(frameworks);
  }

  private calculateComplexity(context: any, analysis: AIProjectAnalysis): number {
    let complexity = 5; // Base complexity

    // File count impact
    if (context.codeMetrics.totalFiles > 100) complexity += 2;
    if (context.codeMetrics.totalFiles > 50) complexity += 1;

    // Technology diversity
    complexity += Math.min(analysis.technologies.length * 0.5, 2);
    
    // Framework complexity
    if (analysis.frameworks.length > 2) complexity += 1;

    // Language diversity
    if (context.codeMetrics.languages.length > 2) complexity += 1;

    // Architecture indicators
    if (context.fileStructure.some((f: string) => f.includes('microservice'))) complexity += 2;
    if (context.fileStructure.some((f: string) => f.includes('api/') && f.includes('v1/'))) complexity += 1;

    // Quality indicators (well-structured projects are more complex to maintain)
    if (analysis.qualityIndicators?.hasTests) complexity += 0.5;
    if (analysis.qualityIndicators?.hasCI) complexity += 0.5;
    if (analysis.qualityIndicators?.hasLinting) complexity += 0.5;

    return Math.min(Math.round(complexity * 10) / 10, 10);
  }

  private determineDevelopmentPhase(context: any, analysis: AIProjectAnalysis): string {
    // Phase detection based on project indicators
    if (context.codeMetrics.totalFiles < 10) return 'planning';
    if (!analysis.qualityIndicators?.hasTests && context.codeMetrics.codeFiles > 0) return 'development';
    if (analysis.qualityIndicators?.hasTests && analysis.qualityIndicators?.hasCI) return 'testing';
    if (context.fileStructure.some((f: string) => f.includes('docker') || f.includes('deploy'))) return 'deployment';
    if (analysis.qualityIndicators?.hasDocumentation && analysis.qualityIndicators?.hasCI) return 'maintenance';
    
    return 'development';
  }

  private recommendTeamSize(analysis: AIProjectAnalysis): number {
    let teamSize = 3; // Base team size

    // Complexity impact
    if (analysis.complexity > 8) teamSize += 3;
    else if (analysis.complexity > 6) teamSize += 2;
    else if (analysis.complexity > 4) teamSize += 1;

    // Technology diversity impact
    if (analysis.technologies.length > 5) teamSize += 2;
    else if (analysis.technologies.length > 3) teamSize += 1;

    // Project type impact
    if (analysis.projectType.includes('enterprise')) teamSize += 2;
    if (analysis.projectType.includes('microservice')) teamSize += 1;

    return Math.min(teamSize, 12); // Cap at 12 for practical reasons
  }

  private detectArchitecturalPatterns(context: any): string[] {
    const patterns: string[] = [];
    const files = context.fileStructure;

    if (files.some((f: string) => f.includes('component') && f.includes('service'))) {
      patterns.push('Component-Service Architecture');
    }
    if (files.some((f: string) => f.includes('api/v'))) {
      patterns.push('Versioned API');
    }
    if (files.some((f: string) => f.includes('middleware'))) {
      patterns.push('Middleware Pattern');
    }
    if (files.some((f: string) => f.includes('repository') || f.includes('dao'))) {
      patterns.push('Repository Pattern');
    }
    if (files.some((f: string) => f.includes('model') && f.includes('view') && f.includes('controller'))) {
      patterns.push('MVC Architecture');
    }

    return patterns;
  }

  private assessDevelopmentPractices(context: any): string[] {
    const practices: string[] = [];

    if (context.qualityIndicators?.hasTests) practices.push('Automated Testing');
    if (context.qualityIndicators?.hasCI) practices.push('Continuous Integration');
    if (context.qualityIndicators?.hasLinting) practices.push('Code Quality Tools');
    if (context.qualityIndicators?.hasDocumentation) practices.push('Documentation');
    if (context.gitInfo?.hasGit) practices.push('Version Control');
    if (context.fileStructure.some((f: string) => f.includes('docker'))) practices.push('Containerization');

    return practices;
  }

  /**
   * Get color code for agent based on name and category
   */
  private getAgentColor(agentName: string, category: string): string {
    // Color palette based on agent types and categories
    const colorMap: Record<string, string> = {
      // Core Development (Blue shades)
      'frontend-developer': '#3B82F6',
      'backend-engineer': '#1E40AF',
      'full-stack-developer': '#2563EB',
      'mobile-developer': '#60A5FA',
      
      // Architecture & Design (Purple shades)
      'system-architect': '#8B5CF6',
      'solution-architect': '#7C3AED',
      'technical-architect': '#9333EA',
      'api-designer': '#A78BFA',
      
      // Data & AI (Green shades)
      'data-scientist': '#10B981',
      'ml-engineer': '#059669',
      'data-engineer': '#34D399',
      'ai-specialist': '#6EE7B7',
      
      // Security (Red shades)
      'security-engineer': '#EF4444',
      'security-architect': '#DC2626',
      'compliance-auditor': '#F87171',
      'vulnerability-scanner': '#FCA5A5',
      
      // DevOps & Infrastructure (Orange shades)
      'devops-engineer': '#F97316',
      'sre-engineer': '#EA580C',
      'cloud-architect': '#FB923C',
      'cicd-engineer': '#FDBA74',
      
      // Testing & QA (Yellow shades)
      'qa-engineer': '#F59E0B',
      'test-automation': '#D97706',
      'performance-tester': '#FCD34D',
      'security-tester': '#FDE68A',
      
      // Product & Business (Pink shades)
      'product-manager': '#EC4899',
      'business-analyst': '#DB2777',
      'scrum-master': '#F472B6',
      'project-manager': '#FBCFE8',
      
      // Documentation & Support (Teal shades)
      'technical-writer': '#14B8A6',
      'documentation-specialist': '#0D9488',
      'api-documenter': '#5EEAD4',
      'support-engineer': '#99F6E4',
    };

    // Return specific color if mapped, otherwise generate based on category
    if (colorMap[agentName]) {
      return colorMap[agentName];
    }

    // Default colors by category
    const categoryColors: Record<string, string> = {
      'development': '#3B82F6',
      'architecture': '#8B5CF6',
      'data': '#10B981',
      'security': '#EF4444',
      'infrastructure': '#F97316',
      'testing': '#F59E0B',
      'management': '#EC4899',
      'documentation': '#14B8A6',
      'design': '#A78BFA',
      'operations': '#F97316',
    };

    // Return category color or default
    return categoryColors[category.toLowerCase()] || '#6B7280';
  }
}
```
Page 3/4FirstPrevNextLast