{"_id":"@abhijayb/turbo-groups","_rev":"4-c6873475301f04d72af21ad8827569ec","name":"@abhijayb/turbo-groups","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@abhijayb/turbo-groups","version":"1.0.0","keywords":["turborepo","monorepo","turbo","groups","filters","workspace"],"author":{"name":"Abhijay Bhatnagar"},"license":"MIT","_id":"@abhijayb/turbo-groups@1.0.0","maintainers":[{"name":"abhijayb","email":"abhijay@cloaked.id"}],"homepage":"https://github.com/abhijay/turbo-groups#readme","bugs":{"url":"https://github.com/abhijay/turbo-groups/issues"},"bin":{"turbo-group":"dist/cli.js"},"dist":{"shasum":"3869b0d570fe1aae997528b1ca5a719f7e7797cf","tarball":"https://registry.npmjs.org/@abhijayb/turbo-groups/-/turbo-groups-1.0.0.tgz","fileCount":27,"integrity":"sha512-Pe2UlSSESUu8sdP8BBJjMnVhJOgM1peTl6I0f9Va7B8lCk9pCnJPtvyuAV20vdHqNJOaKcZujR8yzEx/3qbqhA==","signatures":[{"sig":"MEYCIQDTt0ZAsCFFDeAVFAZzEjc1yR4LVD50dhNLcm4t+XGXTQIhAJPqjkwhqr4WpFjQTuybkKO+k4V8nZbbqzJgnhXCRNLe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30369},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"477678d033cd5c2bb4491424090d43afd25fe12f","scripts":{"dev":"tsc --watch","lint":"eslint ./ --ext .ts --ignore-path .gitignore","build":"tsc","format":"prettier . --ignore-path .gitignore --check","lint:fix":"eslint ./ --ext .ts --ignore-path .gitignore --fix","format:fix":"prettier . --ignore-path .gitignore --write","check-types":"tsc --noEmit","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"abhijayb","email":"abhijay@cloaked.id"},"repository":{"url":"git+https://github.com/abhijay/turbo-groups.git","type":"git"},"_npmVersion":"11.6.0","description":"Simplify Turborepo task execution with named package groups","directories":{},"_nodeVersion":"24.8.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.30.0","prettier":"^2.8.1","typescript":"^4.9.5","@types/node":"^18.11.17","@typescript-eslint/parser":"^5.47.0","@typescript-eslint/eslint-plugin":"^5.47.0"},"peerDependencies":{"turbo":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/turbo-groups_1.0.0_1763937237055_0.6403736560167885","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@abhijayb/turbo-groups","version":"1.0.1","keywords":["turborepo","monorepo","turbo","groups","filters","workspace"],"author":{"name":"Abhijay Bhatnagar"},"license":"MIT","_id":"@abhijayb/turbo-groups@1.0.1","maintainers":[{"name":"abhijayb","email":"abhijay@cloaked.id"}],"homepage":"https://github.com/Abhijay/turbo-groups#readme","bugs":{"url":"https://github.com/Abhijay/turbo-groups/issues"},"bin":{"turbo-group":"dist/cli.js"},"dist":{"shasum":"95f7288187046ec30007d315fe1e356489715303","tarball":"https://registry.npmjs.org/@abhijayb/turbo-groups/-/turbo-groups-1.0.1.tgz","fileCount":27,"integrity":"sha512-pPOfv8Ax9Sl0aSYRPrOyih0US+iscj6Klzd7Tt2DHVAuf9Pa92sUAPyQfiWJlD0YByyfqVGZgKHVEjxwJZyyNQ==","signatures":[{"sig":"MEUCIQCP6eDExpEd+fRkgY/jIvzgox+Kz6d7foZYeeTDV+JscgIgIGS0HABhOYiKH6fQ/JbgZxohsfQaJhLjDpxbZs/VpTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abhijayb%2fturbo-groups@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30783},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"31ada2fe71ee37f0cf70f4afe7169e7e6926b55f","scripts":{"dev":"tsc --watch","lint":"eslint ./ --ext .ts --ignore-path .gitignore","build":"tsc","format":"prettier . --ignore-path .gitignore --check","release":"semantic-release","lint:fix":"eslint ./ --ext .ts --ignore-path .gitignore --fix","format:fix":"prettier . --ignore-path .gitignore --write","check-types":"tsc --noEmit","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f63e7a1c-e180-4308-8a67-2afd615e1ef0"}},"repository":{"url":"git+https://github.com/Abhijay/turbo-groups.git","type":"git"},"_npmVersion":"11.6.3","description":"Simplify Turborepo task execution with named package groups","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.30.0","prettier":"^2.8.1","typescript":"^4.9.5","@types/node":"^18.11.17","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.0","@semantic-release/npm":"^13.1.2","@semantic-release/github":"^12.0.0","@typescript-eslint/parser":"^5.47.0","@semantic-release/changelog":"^6.0.0","@typescript-eslint/eslint-plugin":"^5.47.0","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/release-notes-generator":"^14.0.0"},"peerDependencies":{"turbo":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/turbo-groups_1.0.1_1763945988774_0.855650753037563","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@abhijayb/turbo-groups","version":"1.0.2","keywords":["turborepo","monorepo","turbo","groups","filters","workspace"],"author":{"name":"Abhijay Bhatnagar"},"license":"MIT","_id":"@abhijayb/turbo-groups@1.0.2","maintainers":[{"name":"abhijayb","email":"abhijay@cloaked.id"}],"homepage":"https://github.com/Abhijay/turbo-groups#readme","bugs":{"url":"https://github.com/Abhijay/turbo-groups/issues"},"bin":{"turbo-group":"dist/cli.js"},"dist":{"shasum":"fd072ba36dd8fa5c94560c9fce368e6f85c9db47","tarball":"https://registry.npmjs.org/@abhijayb/turbo-groups/-/turbo-groups-1.0.2.tgz","fileCount":27,"integrity":"sha512-GfapxveVEKfwOXFUobzEwSi1l3xy3vuRf9Wtig300zu7EllCCIO6K1vQEnOx6hSU6u8eULgdhu8GhKoQRw/13Q==","signatures":[{"sig":"MEUCIF25TcDq4Ztv1fvwLtnlSYTdzsmyMckl9xmWpKw4NnBKAiEAzTmT0k+clYD9z+uf8w9YFqH1bbY9o2+R11cyNUN2w9s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abhijayb%2fturbo-groups@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":30783},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"e50c642f5b611c4ca4d7f15d1911cb956261d736","scripts":{"dev":"tsc --watch","lint":"eslint ./ --ext .ts --ignore-path .gitignore","build":"tsc","format":"prettier . --ignore-path .gitignore --check","release":"semantic-release","lint:fix":"eslint ./ --ext .ts --ignore-path .gitignore --fix","format:fix":"prettier . --ignore-path .gitignore --write","check-types":"tsc --noEmit","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f63e7a1c-e180-4308-8a67-2afd615e1ef0"}},"repository":{"url":"git+https://github.com/Abhijay/turbo-groups.git","type":"git"},"_npmVersion":"11.6.3","description":"Simplify Turborepo task execution with named package groups","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.30.0","prettier":"^2.8.1","typescript":"^4.9.5","@types/node":"^18.11.17","semantic-release":"^25.0.2","@semantic-release/git":"^10.0.0","@semantic-release/npm":"^13.1.2","@semantic-release/github":"^12.0.0","@typescript-eslint/parser":"^5.47.0","@semantic-release/changelog":"^6.0.0","@typescript-eslint/eslint-plugin":"^5.47.0","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/release-notes-generator":"^14.0.0"},"peerDependencies":{"turbo":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/turbo-groups_1.0.2_1763948488450_0.02235124756926732","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@abhijayb/turbo-groups","version":"1.1.0","description":"Simplify Turborepo task execution with named package groups","keywords":["turborepo","monorepo","turbo","groups","filters","workspace"],"author":{"name":"Abhijay Bhatnagar"},"license":"MIT","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"turbo-group":"dist/cli.js","tg":"dist/cli.js"},"scripts":{"build":"tsc","dev":"tsc --watch","check-types":"tsc --noEmit","lint":"eslint ./ --ext .ts --ignore-path .gitignore","lint:fix":"eslint ./ --ext .ts --ignore-path .gitignore --fix","format":"prettier . --ignore-path .gitignore --check","format:fix":"prettier . --ignore-path .gitignore --write","prepublishOnly":"pnpm run build","release":"semantic-release"},"devDependencies":{"@semantic-release/changelog":"^6.0.0","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/git":"^10.0.0","@semantic-release/github":"^12.0.0","@semantic-release/npm":"^13.1.2","@semantic-release/release-notes-generator":"^14.0.0","@types/node":"^18.11.17","@typescript-eslint/eslint-plugin":"^5.47.0","@typescript-eslint/parser":"^5.47.0","eslint":"^8.30.0","prettier":"^2.8.1","semantic-release":"^25.0.2","typescript":"^4.9.5"},"peerDependencies":{"turbo":">=1.0.0"},"publishConfig":{"access":"public"},"engines":{"node":">=22.0.0"},"repository":{"type":"git","url":"git+https://github.com/Abhijay/turbo-groups.git"},"bugs":{"url":"https://github.com/Abhijay/turbo-groups/issues"},"homepage":"https://github.com/Abhijay/turbo-groups#readme","gitHead":"d58b4d265298f0db90b1ed4eeab4b0cd2d574501","_id":"@abhijayb/turbo-groups@1.1.0","_nodeVersion":"22.21.1","_npmVersion":"11.6.3","dist":{"integrity":"sha512-X+J8jIDrYQ/s2vF1MgQ+z09BQWdNwpRFhhI/JTDmJ7k44cv0phDbXFDxoRKa7uRTutmMKRtY28HJOtJU1RM75Q==","shasum":"6af4ba83bc6a4d18d553a26d95e48fc6a0511a76","tarball":"https://registry.npmjs.org/@abhijayb/turbo-groups/-/turbo-groups-1.1.0.tgz","fileCount":27,"unpackedSize":30970,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abhijayb%2fturbo-groups@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHx9QcTvWhJZbE0XhHR29rPZHOoP76SI3Mku0Vvn/2f2AiEAv2YjzyRhGAUE8/OYXTtW3osqCZMPscRD1zltufuq3cQ="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f63e7a1c-e180-4308-8a67-2afd615e1ef0"}},"directories":{},"maintainers":[{"name":"abhijayb","email":"abhijay@cloaked.id"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/turbo-groups_1.1.0_1763960738694_0.2141059751643708"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-23T22:33:56.995Z","modified":"2025-11-24T05:05:39.298Z","1.0.0":"2025-11-23T22:33:57.278Z","1.0.1":"2025-11-24T00:59:48.959Z","1.0.2":"2025-11-24T01:41:28.655Z","1.1.0":"2025-11-24T05:05:38.889Z"},"bugs":{"url":"https://github.com/Abhijay/turbo-groups/issues"},"author":{"name":"Abhijay Bhatnagar"},"license":"MIT","homepage":"https://github.com/Abhijay/turbo-groups#readme","keywords":["turborepo","monorepo","turbo","groups","filters","workspace"],"repository":{"type":"git","url":"git+https://github.com/Abhijay/turbo-groups.git"},"description":"Simplify Turborepo task execution with named package groups","maintainers":[{"name":"abhijayb","email":"abhijay@cloaked.id"}],"readme":"# turbo-groups\n\nSimplify Turborepo task execution with named package groups. Instead of manually specifying package filters for every task, define logical groups of packages and reference them by name.\n\n## Features\n\n- **Named Groups** - Define logical collections of packages in a simple YAML file\n- **Simplified Tasks** - Run turbo tasks with group names instead of complex filter syntax\n- **TypeScript Support** - Full TypeScript types included\n- **CLI Tool** - Command-line interface for easy task execution\n- **Programmatic API** - Use in scripts or build tools\n- **Zero Dependencies** - Lightweight with no runtime dependencies\n\n## Installation\n\n```bash\nnpm install --save-dev turbo-groups\n# or\npnpm add -D turbo-groups\n# or\nyarn add -D turbo-groups\n```\n\n## Quick Start\n\n### 1. Create `turbo-groups.yaml` at your monorepo root\n\n```yaml\ndev:\n  - @myorg/types\n  - @myorg/frontend\n  - @myorg/api\n\nfrontend:\n  - @myorg/frontend\n  - @myorg/types\n\nbackend:\n  - @myorg/api\n  - @myorg/database\n```\n\n### 2. Use the CLI\n\n```bash\n# Run dev task for the \"dev\" group\nnpx turbo-group dev dev\n\n# Build the \"frontend\" group\nnpx turbo-group frontend build\n\n# Run tests for the \"backend\" group with additional flags\nnpx turbo-group backend test --force\n```\n\n### 3. Or use programmatically\n\n```typescript\nimport { runGroup } from 'turbo-groups';\n\nawait runGroup('dev', 'dev');\nawait runGroup('frontend', 'build', { turboFlags: ['--force'] });\n```\n\n## Usage\n\n### CLI Usage\n\n```bash\nturbo-group <group> <task> [turbo-flags...]\n# or use the alias\ntg <group> <task> [turbo-flags...]\n```\n\n**Examples:**\n\n```bash\n# Development\nturbo-group dev dev\n\n# Build specific group\nturbo-group extension build\n\n# With additional turbo flags\nturbo-group backend test --force --no-cache\n\n# List available groups\nturbo-group list\n```\n\n### Programmatic Usage\n\n#### Basic Usage\n\n```typescript\nimport { runGroup } from 'turbo-groups';\n\n// Run a task for a group\nconst result = await runGroup('dev', 'dev');\nif (!result.success) {\n    console.error(`Task failed with exit code ${result.exitCode}`);\n}\n```\n\n#### Advanced Options\n\n```typescript\nimport { runGroup, listGroups } from 'turbo-groups';\n\n// Custom configuration\nawait runGroup('frontend', 'build', {\n    configFile: 'custom-groups.yaml',\n    parallel: true,\n    continue: true,\n    turboFlags: ['--force'],\n    cwd: '/path/to/monorepo',\n});\n\n// List all groups\nconst groups = listGroups();\nconsole.log('Available groups:', Object.keys(groups));\n```\n\n#### List Groups\n\n```typescript\nimport { listGroups } from 'turbo-groups';\n\nconst groups = listGroups();\n// {\n//   dev: ['@myorg/types', '@myorg/frontend', '@myorg/api'],\n//   frontend: ['@myorg/frontend', '@myorg/types'],\n//   backend: ['@myorg/api', '@myorg/database']\n// }\n```\n\n## Configuration\n\n### YAML File Format\n\nCreate a `turbo-groups.yaml` file at your monorepo root:\n\n```yaml\n# Group name (key)\ngroupName:\n  # List of package names (must match package.json \"name\" field)\n  - @myorg/package1\n  - @myorg/package2\n\n# Another group\nanotherGroup:\n  - @myorg/package3\n  - @myorg/package1\n```\n\n**Rules:**\n- Group names are case-sensitive\n- Package names must match exactly the `name` field in each package's `package.json`\n- Comments are supported (lines starting with `#`)\n- Empty groups are allowed but not useful\n\n### Custom Config File Location\n\nBy default, the tool looks for `turbo-groups.yaml` in the current working directory. You can specify a custom location:\n\n```typescript\nawait runGroup('dev', 'dev', {\n    configFile: 'config/my-groups.yaml',\n});\n```\n\n## Integration Examples\n\n### package.json Scripts\n\nAdd convenient scripts to your root `package.json`:\n\n```json\n{\n  \"scripts\": {\n    \"dev\": \"turbo-group dev dev\",\n    \"dev:frontend\": \"turbo-group frontend dev\",\n    \"dev:backend\": \"turbo-group backend dev\",\n    \"build:frontend\": \"turbo-group frontend build\",\n    \"test:all\": \"turbo-group dev test\"\n  }\n}\n```\n\nThen run:\n\n```bash\npnpm dev\npnpm dev:frontend\npnpm build:frontend\n```\n\n### CI/CD Integration\n\n```yaml\n# GitHub Actions example\n- name: Build frontend\n  run: npx turbo-group frontend build\n\n- name: Test backend\n  run: npx turbo-group backend test\n```\n\n### Build Scripts\n\n```typescript\n// build.ts\nimport { runGroup } from 'turbo-groups';\n\nasync function build() {\n    console.log('Building frontend...');\n    const result = await runGroup('frontend', 'build'); // runGroup(groupName, task)\n    \n    if (!result.success) {\n        throw new Error(`Build failed: ${result.command}`);\n    }\n    \n    console.log('Build completed successfully!');\n}\n\nbuild().catch(console.error);\n```\n\n## API Reference\n\n### `runGroup(groupName, task, options?)`\n\nRuns a turbo task for a specific group of packages.\n\n**Parameters:**\n- `groupName` (string): The name of the group from turbo-groups.yaml\n- `task` (string): The turbo task to run (e.g., \"dev\", \"build\", \"test\")\n- `options` (TurboGroupOptions, optional): Configuration options\n\n**Returns:** `Promise<ExecuteResult>`\n\n**Throws:** Error if the group is not found or config file can't be loaded\n\n**Example:**\n```typescript\n// Run \"dev\" task on \"dev\" group\nawait runGroup('dev', 'dev');\n\n// Run \"build\" task on \"frontend\" group\nawait runGroup('frontend', 'build');\n```\n\n### `listGroups(options?)`\n\nLists all available groups from the configuration file.\n\n**Parameters:**\n- `options` (TurboGroupOptions, optional): Configuration options\n\n**Returns:** `ParsedGroups` - Object mapping group names to package arrays\n\n### `loadGroups(configFile?, cwd?)`\n\nLoads and parses the monorepo groups configuration file.\n\n**Parameters:**\n- `configFile` (string, optional): Path to the YAML file (default: \"turbo-groups.yaml\")\n- `cwd` (string, optional): Working directory (default: process.cwd())\n\n**Returns:** `ParsedGroups`\n\n**Throws:** Error if the config file doesn't exist or can't be read\n\n### `executeTurbo(task, filters, options?)`\n\nExecutes a turbo task with the specified filters and options.\n\n**Parameters:**\n- `task` (string): The turbo task to run\n- `filters` (string[]): Array of package filters to apply\n- `options` (TurboGroupOptions, optional): Configuration options\n\n**Returns:** `Promise<ExecuteResult>`\n\n### Types\n\n```typescript\ninterface TurboGroupOptions {\n    configFile?: string;      // Default: \"turbo-groups.yaml\"\n    parallel?: boolean;       // Default: true\n    continue?: boolean;       // Default: true\n    turboFlags?: string[];    // Additional turbo flags\n    cwd?: string;            // Working directory\n}\n\ninterface ParsedGroups {\n    [groupName: string]: string[];\n}\n\ninterface ExecuteResult {\n    success: boolean;\n    exitCode: number;\n    command: string;\n}\n```\n\n## How It Works\n\n1. **Reads YAML config** - Parses `turbo-groups.yaml` to extract groups\n2. **Resolves group** - Looks up the specified group name\n3. **Builds turbo task command** - Converts group packages into `--filter` flags\n4. **Executes turbo** - Runs `turbo run` with the appropriate filters and flags\n\n**Example transformation:**\n\n```yaml\n# turbo-groups.yaml\ndev:\n  - @myorg/types\n  - @myorg/frontend\n```\n\n```bash\n# Command: turbo-group dev dev\n# Executes: turbo run --parallel --continue dev --filter @myorg/types --filter @myorg/frontend\n```\n\n**Note:** Both the CLI and programmatic API use the same order: `turbo-group <group> <task>` and `runGroup(groupName, task)` - group comes first, then task.\n\n## Benefits\n\n### Before (Without Groups)\n\n```bash\nturbo run dev --parallel --continue --filter @myorg/types --filter @myorg/frontend --filter @myorg/api\n```\n\n### After (With Groups)\n\n```bash\nturbo-group dev dev\n# or\npnpm dev\n```\n\n**Note:** The syntax is `turbo-group <group> <task>` - group comes first, then the task to run.\n\n**Advantages:**\n- ✅ Shorter, more memorable task execution\n- ✅ Centralized group definitions\n- ✅ Consistent flag usage (`--parallel --continue`)\n- ✅ Less error-prone (no typos in package names)\n- ✅ Easy to update (change group definition once)\n\n## Requirements\n\n- Node.js >= 16.0.0\n- Turborepo >= 1.0.0 (as peer dependency)\n- A monorepo setup with `turbo.json` configured\n\n## Troubleshooting\n\n### \"Group not found\" Error\n\n**Error:**\n```\nGroup \"mygroup\" not found in turbo-groups.yaml\nAvailable groups: dev, frontend\n```\n\n**Solution:**\n- Check that the group name matches exactly (case-sensitive)\n- Verify the group exists in `turbo-groups.yaml`\n- Check for typos in the group name\n\n### \"Config file not found\" Error\n\n**Error:**\n```\nConfig file not found: /path/to/turbo-groups.yaml\n```\n\n**Solution:**\n- Ensure `turbo-groups.yaml` exists at your monorepo root\n- Or specify a custom path: `runGroup('dev', 'dev', { configFile: 'custom/path.yaml' })` (groupName first, then task)\n\n### Package Not Found\n\n**Error:**\n```\nNo packages found matching filter \"@myorg/missing-package\"\n```\n\n**Solution:**\n- Verify the package name matches the `name` field in that package's `package.json`\n- Check that the package exists in your monorepo\n- Ensure the package is included in your workspace configuration (`pnpm-workspace.yaml`, `package.json` workspaces, etc.)\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nMIT\n\n## Related\n\n- [Turborepo](https://turbo.build/repo) - The build system this tool wraps\n\n## Repository\n\nhttps://github.com/Abhijay/monorepo-groups\n\n","readmeFilename":"README.md"}