{"_id":"@aibetter/aib","_rev":"4-ff8691036aea359a715d2098ef4946ed","name":"@aibetter/aib","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@aibetter/aib","version":"0.1.0","keywords":["aibetter","cli","ai","ecosystem"],"author":{"url":"https://litingyes.top/","name":"litingyes","email":"luz.liting@gmail.com"},"license":"MIT","_id":"@aibetter/aib@0.1.0","maintainers":[{"name":"litingyes","email":"2972188187@qq.com"}],"homepage":"https://github.com/aibetter/aib#readme","bugs":{"url":"https://github.com/aibetter/aib/issues"},"bin":{"aib":"dist/index.js"},"dist":{"shasum":"af91416573426bc4bf5dcfc0131dc5695e5770c2","tarball":"https://registry.npmjs.org/@aibetter/aib/-/aib-0.1.0.tgz","fileCount":22,"integrity":"sha512-SNttus0Ods2H5jX8LtDZgaZYZo0jsC+tlh71aCUI9gq1Tmx5nKYFlP/AN1vh3wfcTfDpwV94v1cTZqzPfnLHwg==","signatures":[{"sig":"MEQCICCoGURsfrdvoTSNMmsTI6IflE8ebFVsxH0KHgHx9O2XAiBfFVzaoDwCHtBHVzUh/E1Oh5hRxW/r1umFssyRCa691g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4260154},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","config":{"commitizen":{"path":"@commitlint/cz-commitlint"}},"module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"250efe0dd9c7596879d68b6110dc7e83e0fe152f","private":false,"scripts":{"dev":"tsdown --watch","lint":"eslint .","build":"tsdown","commit":"git-cz","format":"eslint --fix .","prepare":"husky","release":"bumpp","prerelease":"pnpm build","changelogen":"changelogen -r $npm_package_version --output"},"_npmUser":{"name":"litingyes","email":"2972188187@qq.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"_npmVersion":"10.9.3","description":"AI Ecosystem CLI","directories":{},"lint-staged":{"*":"eslint --fix"},"_nodeVersion":"22.18.0","dependencies":{"c12":"^3.2.0","axios":"^1.11.0","chalk":"^5.5.0","fs-extra":"^11.3.1","commander":"^14.0.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.5.2+sha512.da9dc28cd3ff40d0592188235ab25d3202add8a207afbedc682220e4a0029ffbff4562102b9e6e46b4e3f9e8bd53e6d05de48544b0c57d4b0179e22c76d1199b","devDependencies":{"bumpp":"^10.2.2","husky":"^9.1.7","eslint":"^9.33.0","tsdown":"^0.13.5","inquirer":"^12.3.3","commitizen":"^4.3.1","typescript":"^5.7.3","@types/node":"^22","changelogen":"^0.6.2","lint-staged":"^16.1.5","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@antfu/eslint-config":"^5.2.0","eslint-plugin-format":"^1.0.1","@commitlint/cz-commitlint":"^19.6.1","@commitlint/config-conventional":"^19.6.0"},"_npmOperationalInternal":{"tmp":"tmp/aib_0.1.0_1755271945548_0.43231275885606113","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aibetter/aib","version":"0.1.1","keywords":["aibetter","cli","ai","ecosystem"],"author":{"url":"https://litingyes.top/","name":"litingyes","email":"luz.liting@gmail.com"},"license":"MIT","_id":"@aibetter/aib@0.1.1","maintainers":[{"name":"litingyes","email":"2972188187@qq.com"}],"homepage":"https://github.com/aibetter/aib#readme","bugs":{"url":"https://github.com/aibetter/aib/issues"},"bin":{"aib":"dist/index.js"},"dist":{"shasum":"8d8b81acb508f0b0608c29db8d19f2454e6ca518","tarball":"https://registry.npmjs.org/@aibetter/aib/-/aib-0.1.1.tgz","fileCount":22,"integrity":"sha512-Fqqcj14qV/Ay8025pTA/aFfKx1ZfPLOIplDkvbdF1K49NiVb9sGqxRLx21kLSYxx1W6bMP0SWJGE7KoGHFFx5A==","signatures":[{"sig":"MEUCIQCueCmdHd6M8AnY2RbSu3bn41mRlCHBPpEdHwnvvS28awIgJ0AX1O8wMvhgLX910do61xcdc0aoJEgcxsv4gyZ+2qM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4262327},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","config":{"commitizen":{"path":"@commitlint/cz-commitlint"}},"module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e5afa5d17f3dfa15b5629757b5847e956c93dafe","private":false,"scripts":{"dev":"tsdown --watch","lint":"eslint .","build":"tsdown","commit":"git-cz","format":"eslint --fix .","prepare":"husky","release":"bumpp","prerelease":"pnpm build","changelogen":"changelogen -r $npm_package_version --output"},"_npmUser":{"name":"litingyes","email":"2972188187@qq.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"_npmVersion":"10.9.3","description":"AI Ecosystem CLI","directories":{},"lint-staged":{"*":"eslint --fix"},"_nodeVersion":"22.18.0","dependencies":{"c12":"^3.2.0","axios":"^1.11.0","chalk":"^5.5.0","fs-extra":"^11.3.1","commander":"^14.0.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.5.2+sha512.da9dc28cd3ff40d0592188235ab25d3202add8a207afbedc682220e4a0029ffbff4562102b9e6e46b4e3f9e8bd53e6d05de48544b0c57d4b0179e22c76d1199b","devDependencies":{"bumpp":"^10.2.2","husky":"^9.1.7","eslint":"^9.33.0","tsdown":"^0.13.5","inquirer":"^12.3.3","commitizen":"^4.3.1","typescript":"^5.7.3","@types/node":"^22","changelogen":"^0.6.2","lint-staged":"^16.1.5","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@antfu/eslint-config":"^5.2.0","eslint-plugin-format":"^1.0.1","@commitlint/cz-commitlint":"^19.6.1","@commitlint/config-conventional":"^19.6.0"},"_npmOperationalInternal":{"tmp":"tmp/aib_0.1.1_1755272492314_0.7788256231535173","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aibetter/aib","version":"0.1.2","keywords":["aibetter","cli","ai","ecosystem"],"author":{"url":"https://litingyes.top/","name":"litingyes","email":"luz.liting@gmail.com"},"license":"MIT","_id":"@aibetter/aib@0.1.2","maintainers":[{"name":"litingyes","email":"2972188187@qq.com"}],"homepage":"https://github.com/aibetter/aib#readme","bugs":{"url":"https://github.com/aibetter/aib/issues"},"bin":{"aib":"dist/index.js"},"dist":{"shasum":"f4aa997c60ae78d14c619d9c3149b164803f1ed5","tarball":"https://registry.npmjs.org/@aibetter/aib/-/aib-0.1.2.tgz","fileCount":24,"integrity":"sha512-hVC/oZFOtPG5rm1LeFv3y8hGBDdDALiLKP632bRHTP+nt+mkHgEEtntph1K65WHAs+7Tsk5byWGFt2KspR/exQ==","signatures":[{"sig":"MEYCIQCyhHxLpUUSoblrAamVStnrUIqp1yuPmHbR69GvFjcxggIhAORaZA8BaFbYNr5Xvreo+DLnRmHpf035ssZ6Szk38XrG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4268937},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","config":{"commitizen":{"path":"@commitlint/cz-commitlint"}},"module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b3d31cb9cfae5500d24a69f4391184cfe542ffe6","private":false,"scripts":{"dev":"tsdown --watch","lint":"eslint .","sync":"pnpm build && pnpm aib sync","build":"tsdown","commit":"git-cz","format":"eslint --fix .","prepare":"husky","release":"bumpp","prerelease":"pnpm build","changelogen":"changelogen -r $npm_package_version --output"},"_npmUser":{"name":"litingyes","email":"2972188187@qq.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"_npmVersion":"10.9.3","description":"AI Ecosystem CLI","directories":{},"lint-staged":{"*":"eslint --fix"},"_nodeVersion":"22.18.0","dependencies":{"c12":"^3.2.0","axios":"^1.11.0","chalk":"^5.5.0","fs-extra":"^11.3.1","commander":"^14.0.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.5.2+sha512.da9dc28cd3ff40d0592188235ab25d3202add8a207afbedc682220e4a0029ffbff4562102b9e6e46b4e3f9e8bd53e6d05de48544b0c57d4b0179e22c76d1199b","devDependencies":{"bumpp":"^10.2.2","husky":"^9.1.7","eslint":"^9.33.0","tsdown":"^0.13.5","inquirer":"^12.3.3","commitizen":"^4.3.1","typescript":"^5.7.3","@types/node":"^22","changelogen":"^0.6.2","lint-staged":"^16.1.5","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@antfu/eslint-config":"^5.2.0","eslint-plugin-format":"^1.0.1","@commitlint/cz-commitlint":"^19.6.1","@commitlint/config-conventional":"^19.6.0"},"_npmOperationalInternal":{"tmp":"tmp/aib_0.1.2_1755614698226_0.7800381086507142","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@aibetter/aib","type":"module","version":"0.1.3","private":false,"packageManager":"pnpm@10.5.2+sha512.da9dc28cd3ff40d0592188235ab25d3202add8a207afbedc682220e4a0029ffbff4562102b9e6e46b4e3f9e8bd53e6d05de48544b0c57d4b0179e22c76d1199b","description":"AI Ecosystem CLI","author":{"name":"litingyes","email":"luz.liting@gmail.com","url":"https://litingyes.top/"},"license":"MIT","homepage":"https://github.com/aibetter/aib#readme","bugs":{"url":"https://github.com/aibetter/aib/issues"},"keywords":["aibetter","cli","ai","ecosystem"],"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","bin":{"aib":"dist/index.js"},"scripts":{"lint":"eslint .","format":"eslint --fix .","dev":"tsdown --watch","build":"tsdown","sync":"pnpm build && pnpm aib sync","commit":"git-cz","changelogen":"changelogen -r $npm_package_version --output","prerelease":"pnpm build","release":"bumpp","prepare":"husky"},"dependencies":{"axios":"^1.11.0","c12":"^3.2.0","chalk":"^5.5.0","commander":"^14.0.0","fs-extra":"^11.3.1"},"devDependencies":{"@antfu/eslint-config":"^5.2.0","@commitlint/cli":"^19.6.1","@commitlint/config-conventional":"^19.6.0","@commitlint/cz-commitlint":"^19.6.1","@types/fs-extra":"^11.0.4","@types/node":"^22","bumpp":"^10.2.2","changelogen":"^0.6.2","commitizen":"^4.3.1","eslint":"^9.33.0","eslint-plugin-format":"^1.0.1","husky":"^9.1.7","inquirer":"^12.3.3","lint-staged":"^16.1.5","tsdown":"^0.13.5","typescript":"^5.7.3"},"config":{"commitizen":{"path":"@commitlint/cz-commitlint"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*":"eslint --fix"},"_id":"@aibetter/aib@0.1.3","gitHead":"047de1a46b22fb12ce2d54cde6895110df0fbb92","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-0y9JoZGf3m8df3/pov/kWs8uHkNLZ+WSOlwRSQbUOKy2GhdypkB5FKiY6JBsjhWef67GKU+1co2KqndS0Mcg3w==","shasum":"a1973d74e0a3ea84888e8794a134c8deaf855260","tarball":"https://registry.npmjs.org/@aibetter/aib/-/aib-0.1.3.tgz","fileCount":24,"unpackedSize":4270486,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEv+0zAGLf9/17gQtJL5g8QK/MHsOFJexQewEdHfIGxQAiEA2GSS3BYSVYX2dqvl/VRXBWu2URWsJoi1YAjUM889468="}]},"_npmUser":{"name":"litingyes","email":"2972188187@qq.com"},"directories":{},"maintainers":[{"name":"litingyes","email":"2972188187@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aib_0.1.3_1755702257559_0.07285207586765607"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-15T15:32:25.465Z","modified":"2025-08-20T15:04:18.077Z","0.1.0":"2025-08-15T15:32:25.816Z","0.1.1":"2025-08-15T15:41:32.681Z","0.1.2":"2025-08-19T14:44:58.495Z","0.1.3":"2025-08-20T15:04:17.879Z"},"bugs":{"url":"https://github.com/aibetter/aib/issues"},"author":{"name":"litingyes","email":"luz.liting@gmail.com","url":"https://litingyes.top/"},"license":"MIT","homepage":"https://github.com/aibetter/aib#readme","keywords":["aibetter","cli","ai","ecosystem"],"description":"AI Ecosystem CLI","maintainers":[{"name":"litingyes","email":"2972188187@qq.com"}],"readme":"# aib\n\n[![npm version](https://img.shields.io/npm/v/@aibetter/aib.svg)](https://www.npmjs.com/package/@aibetter/aib)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nAI Ecosystem CLI - Enhancing the AI ecosystem\n\n## Overview\n\n`aib` is a command-line tool designed to enhance the AI development ecosystem by providing utilities to sync and manage AI development configurations and rules.\n\n## Installation\n\n### Global Installation (Recommended)\n\n```bash\n# Using npm\nnpm install -g @aibetter/aib\n\n# Using pnpm\npnpm add -g @aibetter/aib\n\n# Using yarn\nyarn global add @aibetter/aib\n```\n\n### Local Installation\n\n```bash\n# Using npm\nnpm install @aibetter/aib\n\n# Using pnpm\npnpm add @aibetter/aib\n\n# Using yarn\nyarn add @aibetter/aib\n```\n\n## Usage\n\n### Basic Commands\n\n```bash\n# Show help information\naib --help\n\n# Show version information\naib version\naib --version\n```\n\n### Sync Command\n\nThe sync command allows you to synchronize cursor rules to your local project.\n\n#### Data Source\n\nThe sync command retrieves rules from the community-maintained repository: [https://github.com/aibetter/context/tree/main/data](https://github.com/aibetter/context/tree/main/data)\n\nThis repository contains curated cursor rules and configurations that help improve AI-assisted development workflows.\n\n```bash\n# Basic sync\naib sync\n\n# Force overwrite existing files\naib sync --force\n\n# Dry run (show what would be synced without actually doing it)\naib sync --dry-run\n\n# Verbose output\naib sync --verbose\n\n# Combine options\naib sync --force --verbose\n```\n\n#### Sync Options\n\n- `-f, --force` - Force overwrite existing files\n- `-d, --dry-run` - Show what would be synced without actually doing it\n- `-v, --verbose` - Enable verbose output\n\n> **Note:** When you run the sync command, it will display the data source URL at the beginning to show where the rules are being fetched from.\n\n## Configuration\n\nThe tool uses an `aibetter.json` configuration file to determine which rules to sync and where to place them. This file follows a JSON schema for validation and provides IntelliSense support in modern editors.\n\n### Configuration Schema\n\nThe configuration schema is available at: `http://aib.aibetter.run/config-schema.json`\n\nTo enable schema validation in your editor, add the `$schema` property to your `aibetter.json` file:\n\n```json\n{\n  \"$schema\": \"http://aib.aibetter.run/config-schema.json\",\n  \"cursor\": {\n    \"rules\": {\n      \"constitution\": true\n    }\n  }\n}\n```\n\n### Configuration Structure\n\nThe configuration file supports the following structure:\n\n#### `cursor` (required)\n\nThe main configuration object for Cursor-related synchronization.\n\n##### `cursor.rules` (required)\n\nDefines which rules to sync from the repository. Supports both flat and nested structures:\n\n```json\n{\n  \"cursor\": {\n    \"rules\": {\n      // Simple boolean values\n      \"constitution\": true,\n      \"security\": false,\n\n      // Nested rules structure\n      \"languages\": {\n        \"TypeScript\": true,\n        \"Python\": true,\n        \"JavaScript\": false\n      },\n\n      // Rules with custom aliases\n      \"performance\": {\n        \"alias\": \"perf-optimizations\"\n      },\n\n      // Complex nested structure with aliases\n      \"frameworks\": {\n        \"React\": true,\n        \"Vue\": {\n          \"alias\": \"vue-best-practices\"\n        }\n      }\n    }\n  }\n}\n```\n\n##### `cursor.destination` (optional)\n\nSpecifies the local destination path for synced files. Defaults to `.cursor/rules`.\n\n```json\n{\n  \"cursor\": {\n    \"destination\": \".cursor/rules\"\n  }\n}\n```\n\n##### `cursor.overwrite` (optional)\n\nDetermines whether to overwrite existing files. Defaults to `true`.\n\n```json\n{\n  \"cursor\": {\n    \"overwrite\": false\n  }\n}\n```\n\n### Example Configurations\n\n#### Basic Configuration\n\n```json\n{\n  \"$schema\": \"http://aib.aibetter.run/config-schema.json\",\n  \"cursor\": {\n    \"rules\": {\n      \"constitution\": true,\n      \"languages\": {\n        \"TypeScript\": true\n      }\n    }\n  }\n}\n```\n\n#### Advanced Configuration\n\n```json\n{\n  \"$schema\": \"http://aib.aibetter.run/config-schema.json\",\n  \"cursor\": {\n    \"rules\": {\n      \"constitution\": true,\n      \"security\": true,\n      \"languages\": {\n        \"TypeScript\": true,\n        \"Python\": true,\n        \"JavaScript\": false\n      },\n      \"frameworks\": {\n        \"React\": true,\n        \"Vue\": {\n          \"alias\": \"vue-best-practices\"\n        }\n      },\n      \"performance\": {\n        \"alias\": \"perf-rules\"\n      }\n    },\n    \"destination\": \".cursor/rules\",\n    \"overwrite\": false\n  }\n}\n```\n\n#### Custom Destination Configuration\n\n```json\n{\n  \"$schema\": \"http://aib.aibetter.run/config-schema.json\",\n  \"cursor\": {\n    \"rules\": {\n      \"constitution\": true,\n      \"security\": true\n    },\n    \"destination\": \"ai-config/rules\",\n    \"overwrite\": false\n  }\n}\n```\n\n### Schema Features\n\n- **Validation**: The JSON schema provides validation for your configuration file\n- **IntelliSense**: Modern editors will provide auto-completion and validation\n- **Documentation**: Hover over properties to see descriptions and examples\n- **Error Detection**: Invalid configurations will be highlighted in your editor\n\n## Development\n\n### Prerequisites\n\n- Node.js 18+\n- pnpm (recommended package manager)\n\n### Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/aibetter/aib.git\ncd aib\n\n# Install dependencies\npnpm install\n\n# Build the project\npnpm build\n\n# Run in development mode\npnpm dev\n```\n\n### Scripts\n\n- `pnpm dev` - Run in development mode with watch\n- `pnpm build` - Build the project\n- `pnpm lint` - Lint the code\n- `pnpm format` - Format the code\n- `pnpm release` - Release a new version\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Links\n\n- [GitHub Repository](https://github.com/aibetter/aib)\n- [npm Package](https://www.npmjs.com/package/@aibetter/aib)\n- [Issues](https://github.com/aibetter/aib/issues)\n","readmeFilename":"README.md"}