{"_id":"@azat-io/ai-config","_rev":"7-83668bf80609b55a4736212d6a8a2907","name":"@azat-io/ai-config","dist-tags":{"latest":"1.5.0"},"versions":{"0.0.1":{"name":"@azat-io/ai-config","version":"0.0.1","keywords":["oidc","trusted-publishing","setup"],"_id":"@azat-io/ai-config@0.0.1","maintainers":[{"name":"azat-io","email":"to@azat.io"}],"dist":{"shasum":"8b1900833cc6f88c60a75d2139720a6e265e1553","tarball":"https://registry.npmjs.org/@azat-io/ai-config/-/ai-config-0.0.1.tgz","fileCount":2,"integrity":"sha512-iZuhIuoFhrQkBd8/dj8C54fFGwsAVwtY6xRHoEokTSow3nZW/4cF+nyYIJIjo4OpaTUPFwiMHwh+axx+YxdzmQ==","signatures":[{"sig":"MEQCICYjmf4vh5HyOB2hl2inF7opiG1HQtVB4Nc7VNWofFPDAiB3XYWYu+iLvngMnQRz7XSg2vWRm5npEmJbjCArVAThxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2035},"_npmUser":{"name":"azat-io","email":"to@azat.io"},"_npmVersion":"11.8.0","description":"OIDC trusted publishing setup package for @azat-io/ai-config","directories":{},"_nodeVersion":"25.5.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-config_0.0.1_1769954468049_0.8457787348748771","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@azat-io/ai-config","version":"1.0.0","keywords":["eslint","eslint-config","config","code-styles","linter","javascript","typescript"],"author":{"name":"Azat S.","email":"to@azat.io"},"license":"MIT","_id":"@azat-io/ai-config@1.0.0","maintainers":[{"name":"azat-io","email":"to@azat.io"}],"homepage":"https://github.com/ai-config","bugs":{"url":"https://github.com/azat-io/ai-config/issues"},"bin":{"ai-config":"bin/ai-config.js"},"dist":{"shasum":"734a32a8728f713bf331c03a0dbdefea21ccc8a6","tarball":"https://registry.npmjs.org/@azat-io/ai-config/-/ai-config-1.0.0.tgz","fileCount":49,"integrity":"sha512-CZvIYPtvo+gLdZr8EnNnf71dZ+Tq5s3biBOCjS08jyzzRFHrH6VzQoLGQaINtzM2wPyMkCpAewKbl/2Vo7aJIQ==","signatures":[{"sig":"MEUCIQDbS1m/uhLfoXTEUqINcY/v6RYBAPCfYjXcZT0atUGTyAIgSeJ8XhjOlfqOcm/lEibhV72c/hiN7ehVMEZfL0WrfuE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@azat-io%2fai-config@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":87005},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"90071a1d15e44cfbacd1125edd8ac3fb5313022f","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:49abc04b-8f3f-4a0d-a1b2-37dbc401ba85"}},"repository":{"url":"git+https://github.com/azat-io/ai-config.git","type":"git"},"_npmVersion":"11.6.2","description":"AI shareable config","directories":{},"_nodeVersion":"24.13.0","dependencies":{"picocolors":"^1.1.1","@clack/prompts":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-config_1.0.0_1769954927305_0.9259417573810902","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@azat-io/ai-config","version":"1.1.0","keywords":["ai","ai-config","claude","claude-code","codex","gemini","gemini-cli","opencode","mcp","cli"],"author":{"name":"Azat S.","email":"to@azat.io"},"license":"MIT","_id":"@azat-io/ai-config@1.1.0","maintainers":[{"name":"azat-io","email":"to@azat.io"}],"homepage":"https://github.com/azat-io/ai-config","bugs":{"url":"https://github.com/azat-io/ai-config/issues"},"bin":{"ai-config":"bin/ai-config.js"},"dist":{"shasum":"ce9cc2adf7c19ebb9ccd63ebafb2cbb3ec7bee53","tarball":"https://registry.npmjs.org/@azat-io/ai-config/-/ai-config-1.1.0.tgz","fileCount":50,"integrity":"sha512-iWClBHfuTnlCvJgythqx1x0DKeSLclaOs4+2PUMulhjVwU5yxonERKFwnp16/JNzPFnLZxl6cW2mII4mRnf/3w==","signatures":[{"sig":"MEYCIQD8KK2V3y0ibBdnklSLpc8KMxpUkuvK8OgdhWdDtLtZXQIhALvKbUjlsv07TaGh+yYW5memcKh5pX4afjhTCZO3fImf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@azat-io%2fai-config@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":92140},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"7b3c269cc25c4deb630b5c439706dbfcecaa92a4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:49abc04b-8f3f-4a0d-a1b2-37dbc401ba85"}},"repository":{"url":"git+https://github.com/azat-io/ai-config.git","type":"git"},"_npmVersion":"11.6.2","description":"AI shareable config","directories":{},"_nodeVersion":"24.13.0","dependencies":{"picocolors":"^1.1.1","@clack/prompts":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-config_1.1.0_1770097494216_0.689793748210128","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@azat-io/ai-config","version":"1.2.0","keywords":["ai","ai-config","claude","claude-code","codex","gemini","gemini-cli","opencode","mcp","cli"],"author":{"name":"Azat S.","email":"to@azat.io"},"license":"MIT","_id":"@azat-io/ai-config@1.2.0","maintainers":[{"name":"azat-io","email":"to@azat.io"}],"homepage":"https://github.com/azat-io/ai-config","bugs":{"url":"https://github.com/azat-io/ai-config/issues"},"bin":{"ai-config":"bin/ai-config.js"},"dist":{"shasum":"1ff121bca69ea6043470b60ae59c0b4b875c6bb2","tarball":"https://registry.npmjs.org/@azat-io/ai-config/-/ai-config-1.2.0.tgz","fileCount":54,"integrity":"sha512-7Q1BUXQTfd0kNbq24kKtZbxiL82ik5wluT8lDhELBHxxN4PSQLWSikCRoJQmaTCcRy9OSYlc8WyiNvGyiubnTA==","signatures":[{"sig":"MEUCIQD4lU2XQ+uoNXs5SUWOk5YZ8QFyYO3qDDNzt7gNmYB0EAIgRwwNAXdtZV1hwHCSCNX7s0BhNbl4pzyA2+cEs96cnJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@azat-io%2fai-config@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95469},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"d971d31d2cfcf4df541af18c03b40b7d8be1dbd4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:49abc04b-8f3f-4a0d-a1b2-37dbc401ba85"}},"repository":{"url":"git+https://github.com/azat-io/ai-config.git","type":"git"},"_npmVersion":"11.6.2","description":"AI shareable config","directories":{},"_nodeVersion":"24.13.0","dependencies":{"picocolors":"^1.1.1","@clack/prompts":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-config_1.2.0_1770830424980_0.9638263094546049","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@azat-io/ai-config","version":"1.3.0","keywords":["ai","ai-config","claude","claude-code","codex","gemini","gemini-cli","opencode","mcp","cli"],"author":{"name":"Azat S.","email":"to@azat.io"},"license":"MIT","_id":"@azat-io/ai-config@1.3.0","maintainers":[{"name":"azat-io","email":"to@azat.io"}],"homepage":"https://github.com/azat-io/ai-config","bugs":{"url":"https://github.com/azat-io/ai-config/issues"},"bin":{"ai-config":"bin/ai-config.js"},"dist":{"shasum":"cf8e59be21f17208cc75d014f521df503bf0d3ab","tarball":"https://registry.npmjs.org/@azat-io/ai-config/-/ai-config-1.3.0.tgz","fileCount":78,"integrity":"sha512-LY7KUma3hl22rpwuBy3k5EO6p8A735JwdFRFKr7M8Le2OKLx7CZR57YCo+hmaF9v0j7bq1VikiR0i5NRBmAt4Q==","signatures":[{"sig":"MEUCIQC2Y6O80i7JV3B7EFHKZmA8P+nz/Z1pPV+R0zuznzVHOwIgdoTT0EEeLk3CVmtE0m/kpR1y3ri/o+TXFtvsIjaSLoQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@azat-io%2fai-config@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112919},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"2328499a64824db330e92b5518fa694dd0cdb6b2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:49abc04b-8f3f-4a0d-a1b2-37dbc401ba85"}},"repository":{"url":"git+https://github.com/azat-io/ai-config.git","type":"git"},"_npmVersion":"11.6.2","description":"AI shareable config","directories":{},"_nodeVersion":"24.13.0","dependencies":{"picocolors":"^1.1.1","@clack/prompts":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-config_1.3.0_1771001620039_0.6906355039095389","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@azat-io/ai-config","version":"1.4.0","keywords":["ai","ai-config","claude","claude-code","codex","gemini","gemini-cli","opencode","mcp","cli"],"author":{"name":"Azat S.","email":"to@azat.io"},"license":"MIT","_id":"@azat-io/ai-config@1.4.0","maintainers":[{"name":"azat-io","email":"to@azat.io"}],"homepage":"https://github.com/azat-io/ai-config","bugs":{"url":"https://github.com/azat-io/ai-config/issues"},"bin":{"ai-config":"bin/ai-config.js"},"dist":{"shasum":"5ee13315954e8f1a1edbe5f981d2c00120676176","tarball":"https://registry.npmjs.org/@azat-io/ai-config/-/ai-config-1.4.0.tgz","fileCount":78,"integrity":"sha512-OcBoIZOWt75RgLQzNFpZRb5OHvb8YGJmYJGyI4CyJgc0gMa6Pt7RmJHC6iEA2ZMSJz+kVVhvhS1liBtbmGk0cg==","signatures":[{"sig":"MEUCIQDVCYR418r5hjYgRoVPtLtjwlKGcY0CWgZgBJdCWi13NwIgMczcD4sZr40j0ht2VwYRTbOQEg6eaYJUJX9LheqmFlg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@azat-io%2fai-config@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":121314},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"2682ae0036067e5b3355e3c2a4b60f5aeeed72f5","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:49abc04b-8f3f-4a0d-a1b2-37dbc401ba85"}},"repository":{"url":"git+https://github.com/azat-io/ai-config.git","type":"git"},"_npmVersion":"11.8.0","description":"AI shareable config","directories":{},"_nodeVersion":"24.13.1","dependencies":{"picocolors":"^1.1.1","@clack/prompts":"^1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-config_1.4.0_1772127636519_0.1753740895792799","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@azat-io/ai-config","version":"1.5.0","description":"AI shareable config","keywords":["ai","ai-config","claude","claude-code","codex","gemini","gemini-cli","opencode","mcp","cli"],"homepage":"https://github.com/azat-io/ai-config","repository":{"type":"git","url":"git+https://github.com/azat-io/ai-config.git"},"license":"MIT","author":{"name":"Azat S.","email":"to@azat.io"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"ai-config":"bin/ai-config.js"},"dependencies":{"@clack/prompts":"^1.1.0","picocolors":"^1.1.1"},"engines":{"node":">=22.0.0"},"publishConfig":{"access":"public"},"gitHead":"92229a3bbc84c8b2cec578e9f00557114ca6eddf","_id":"@azat-io/ai-config@1.5.0","bugs":{"url":"https://github.com/azat-io/ai-config/issues"},"_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-bE3WDeMf3cLGBYoiGKNMSRBaCE0GZb7LRz/IatEi3c54e29PAmHOcIWAU6Vm/2phknKCPis3usx7VXLBrAqcvg==","shasum":"87cc4919cdc3a451c68e955b4b347e7706cae958","tarball":"https://registry.npmjs.org/@azat-io/ai-config/-/ai-config-1.5.0.tgz","fileCount":79,"unpackedSize":123059,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@azat-io%2fai-config@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDoSV6TmeYAQzwXxMe4hElIvU8MoXDLoPr4iJwDJem6jQIgLuFaBKGLorCIMdxiK+zGdmDeZmNF94aRysrHJ2hxDs0="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:49abc04b-8f3f-4a0d-a1b2-37dbc401ba85"}},"directories":{},"maintainers":[{"name":"azat-io","email":"to@azat.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-config_1.5.0_1772712698498_0.7512492950614118"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-01T14:01:07.896Z","modified":"2026-03-05T12:11:38.991Z","0.0.1":"2026-02-01T14:01:08.220Z","1.0.0":"2026-02-01T14:08:47.525Z","1.1.0":"2026-02-03T05:44:54.357Z","1.2.0":"2026-02-11T17:20:25.130Z","1.3.0":"2026-02-13T16:53:40.197Z","1.4.0":"2026-02-26T17:40:36.674Z","1.5.0":"2026-03-05T12:11:38.652Z"},"bugs":{"url":"https://github.com/azat-io/ai-config/issues"},"author":{"name":"Azat S.","email":"to@azat.io"},"license":"MIT","homepage":"https://github.com/azat-io/ai-config","keywords":["ai","ai-config","claude","claude-code","codex","gemini","gemini-cli","opencode","mcp","cli"],"repository":{"type":"git","url":"git+https://github.com/azat-io/ai-config.git"},"description":"AI shareable config","maintainers":[{"name":"azat-io","email":"to@azat.io"}],"readme":"# AI Config\n\n<img\n  src=\"https://raw.githubusercontent.com/azat-io/ai-config/main/assets/logo.svg\"\n  alt=\"AI Config Logo\"\n  align=\"right\"\n  height=\"160\"\n  width=\"160\"\n/>\n\n[![Version](https://img.shields.io/npm/v/@azat-io/ai-config.svg?color=fff&labelColor=fc60bc)](https://npmjs.com/package/@azat-io/ai-config)\n[![GitHub License](https://img.shields.io/badge/license-MIT-232428.svg?color=fff&labelColor=fc60bc)](https://github.com/azat-io/ai-config/blob/main/license.md)\n\nA unified configuration manager for AI coding assistants that keeps Claude Code,\nCodex, Gemini CLI, and OpenCode settings in sync.\n\nSeamlessly deploy consistent instructions, commands, skills, and MCP\nintegrations across agents through a single installer, centralizing setup and\nreducing maintenance.\n\n## Why\n\nAI tools all support configuration, but every agent uses a different format and\ndirectory layout. Keeping them in sync by hand is slow and error-prone.\n\nThis project:\n\n- Provides one installer for multiple agents\n- Keeps installation paths and updates consistent\n- Makes maintenance easier by centralizing the source of truth\n- Ships curated best practices, agents, skills, and commands out of the box\n\n## Quick Start\n\n```sh\nnpx @azat-io/ai-config\n```\n\nThe installer will:\n\n- Ask which agents to install\n- Ask for install scope (project or home)\n- Ask which MCP servers to install\n\nGitHub workflows use `gh` CLI rather than a bundled GitHub MCP server.\n\n<br>\n\n<picture>\n  <source\n    srcset=\"https://raw.githubusercontent.com/azat-io/ai-config/main/assets/example-light.webp\"\n    media=\"(prefers-color-scheme: light)\"\n  />\n  <source\n    srcset=\"https://raw.githubusercontent.com/azat-io/ai-config/main/assets/example-dark.webp\"\n    media=\"(prefers-color-scheme: dark)\"\n  />\n  <img\n    src=\"https://raw.githubusercontent.com/azat-io/ai-config/main/assets/example-light.webp\"\n    alt=\"AI config interactive example\"\n    width=\"820\"\n  />\n</picture>\n\n## What Gets Installed\n\nSources live in this repo and are copied into each agent's config:\n\n- `instructions/global.md`\n- `commands/`\n- `agents/`\n- `skills/`\n- `hooks/`\n- `settings/mcp.ts` (sequential-thinking, fetch)\n\n## Install Scope\n\nYou choose one scope for the entire run.\n\n### Project (local)\n\nCreates dot-folders in the current project and places instructions in the\nproject root:\n\n- Claude Code\n  - `.claude/commands/`, `.claude/agents/`, `.claude/skills/`, `.claude/hooks/`\n  - `.claude/settings.json` (MCP)\n  - `CLAUDE.md`\n- Codex\n  - `.codex/agents/*.toml` (multi-agent role configs)\n  - `.codex/skills/`\n  - `.codex/config.toml` (MCP)\n  - `AGENTS.md`\n- Gemini CLI\n  - `.gemini/commands/`, `.gemini/agents/`, `.gemini/skills/`, `.gemini/hooks/`\n  - `.gemini/settings.json` (MCP)\n  - `GEMINI.md`\n- OpenCode\n  - `.opencode/commands/`, `.opencode/agents/`, `.opencode/skill/`\n  - `opencode.json` (MCP)\n  - `AGENTS.md`\n\n### Home (global)\n\nUses the user config directories:\n\n- Claude Code: `~/.claude/`\n- Codex: `~/.codex/`\n- Gemini CLI: `~/.gemini/`\n- OpenCode: `~/.config/opencode/`\n\n## Requirements\n\n- Node.js v22+\n- `gh` CLI for GitHub repositories, issues, and pull requests\n- Run `gh auth login` before GitHub-related tasks\n- MCP dependencies (only if you plan to use built-in MCP servers):\n  - `uv` (for `uvx`)\n\n## Supported Features\n\n| Agent       | Instructions | Commands | Skills | Subagents | Hooks | MCP |\n| ----------- | ------------ | -------- | ------ | --------- | ----- | --- |\n| Claude Code | Yes          | Yes      | Yes    | Yes       | Yes   | Yes |\n| Codex       | Yes          | No       | Yes    | Yes       | No    | Yes |\n| Gemini CLI  | Yes          | Yes      | Yes    | Yes       | Yes   | Yes |\n| OpenCode    | Yes          | Yes      | Yes    | Yes       | No    | Yes |\n\nCodex subagents use the experimental multi-agent feature. The installer enables\n`[features] multi_agent = true` in `.codex/config.toml`; restart Codex after\ninstallation for the change to take effect.\n\n## Built-in Features\n\n### Commands\n\n| Command                                                                                  | Description                                               |\n| ---------------------------------------------------------------------------------------- | --------------------------------------------------------- |\n| [`/blueprint`](https://github.com/azat-io/ai-config/blob/main/commands/blueprint.md)     | Create a detailed implementation blueprint before coding  |\n| [`/code-review`](https://github.com/azat-io/ai-config/blob/main/commands/code-review.md) | Review code quality before merge                          |\n| [`/commit`](https://github.com/azat-io/ai-config/blob/main/commands/commit.md)           | Generate Conventional Commits message from staged changes |\n| [`/discovery`](https://github.com/azat-io/ai-config/blob/main/commands/discovery.md)     | Clarify vague ideas and align on scope                    |\n| [`/docs`](https://github.com/azat-io/ai-config/blob/main/commands/docs.md)               | Write or update project documentation                     |\n| [`/implement`](https://github.com/azat-io/ai-config/blob/main/commands/implement.md)     | Execute an approved implementation blueprint              |\n| [`/refactor`](https://github.com/azat-io/ai-config/blob/main/commands/refactor.md)       | Refactor code while preserving behavior                   |\n| [`/research`](https://github.com/azat-io/ai-config/blob/main/commands/research.md)       | Explore technical approaches when requirements are fuzzy  |\n| [`/test`](https://github.com/azat-io/ai-config/blob/main/commands/test.md)               | Write tests for TDD or bug fixes                          |\n\n### Skills\n\n| Skill                                                                                                     | Description                                                     |\n| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |\n| [`blueprinting`](https://github.com/azat-io/ai-config/blob/main/skills/blueprinting/skill.md)             | Write detailed implementation blueprints before coding          |\n| [`creating-skills`](https://github.com/azat-io/ai-config/blob/main/skills/creating-skills/skill.md)       | Create reusable techniques and patterns for AI agents           |\n| [`creating-subagents`](https://github.com/azat-io/ai-config/blob/main/skills/creating-subagents/skill.md) | Create specialized subagents for recurring tasks                |\n| [`discovering`](https://github.com/azat-io/ai-config/blob/main/skills/discovering/skill.md)               | Clarify goals and scope when the what/why is unclear            |\n| [`implementing`](https://github.com/azat-io/ai-config/blob/main/skills/implementing/skill.md)             | Execute an approved implementation blueprint                    |\n| [`refactoring`](https://github.com/azat-io/ai-config/blob/main/skills/refactoring/skill.md)               | Behavior-preserving restructuring for clarity and safer changes |\n| [`researching`](https://github.com/azat-io/ai-config/blob/main/skills/researching/skill.md)               | Choose technical approaches when the how is unclear             |\n\n### Agents\n\n| Agent                                                                                                   | Description                                                |\n| ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |\n| [`code-reviewer`](https://github.com/azat-io/ai-config/blob/main/agents/code-reviewer.md)               | Review code for correctness, security, and maintainability |\n| [`documentation-writer`](https://github.com/azat-io/ai-config/blob/main/agents/documentation-writer.md) | Write README, API docs, JSDoc, and contributing guides     |\n| [`explorer`](https://github.com/azat-io/ai-config/blob/main/agents/explorer.md)                         | Build repository maps and collect evidence-based facts     |\n| [`implementer`](https://github.com/azat-io/ai-config/blob/main/agents/implementer.md)                   | Implement features following plans and specs               |\n| [`test-writer`](https://github.com/azat-io/ai-config/blob/main/agents/test-writer.md)                   | Write focused tests with full code path coverage           |\n\n### MCP Integrations\n\n| Server                                                                                                  | Description                                 |\n| ------------------------------------------------------------------------------------------------------- | ------------------------------------------- |\n| [Fetch](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch)                            | Fetch and process web pages                 |\n| [Sequential Thinking](https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking) | Step-by-step reasoning for complex problems |\n\n## See also\n\n- [@azat-io/eslint-config](https://github.com/azat-io/eslint-config)\n- [@azat-io/prettier-config](https://github.com/azat-io/prettier-config)\n- [@azat-io/stylelint-config](https://github.com/azat-io/stylelint-config)\n- [@azat-io/typescript-config](https://github.com/azat-io/typescript-config)\n\n## License\n\nMIT &copy; [Azat S.](https://azat.io)\n","readmeFilename":"readme.md"}