CtrlK
BlogDocsLog inGet started
Tessl Logo

pantheon-ai/nx-plugin-toolkit

Complete Nx plugin development toolkit: create custom generators, executors, and extend Nx workspaces with reusable automation

93

1.00x
Quality

94%

Does it follow best practices?

Impact

92%

1.00x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

task.mdevals/scenario-5/

Task: Complete Plugin Registration

Your team implemented a new generator and executor, but they don't work when developers try to use them! The Nx CLI can't find them.

Error Messages

When running:

npx nx g @myorg/tools:create-service my-service

Error:

Cannot find generator '@myorg/tools:create-service'

When running:

npx nx run my-app:custom-deploy

Error:

Cannot find executor '@myorg/tools:custom-deploy'
Unable to resolve @myorg/tools:custom-deploy

Current Structure

tools/my-plugin/
├── src/
│   ├── generators/
│   │   └── create-service/
│   │       ├── generator.ts
│   │       └── schema.json
│   ├── executors/
│   │   └── custom-deploy/
│   │       ├── executor.ts
│   │       └── schema.json
│   └── index.ts (EMPTY!)
├── package.json
└── project.json

Current index.ts:

// Empty file!

Current package.json:

{
  "name": "@myorg/tools",
  "version": "1.0.0",
  "main": "./src/index.ts"
}

Your Mission

Set up proper plugin registration so Nx CLI can discover and use your generators and executors.

Deliverables

Create these files:

  1. src/index.ts - Export all generators and executors
  2. generators.json - Registry for generators
  3. executors.json - Registry for executors
  4. package.json - Updated with proper entry points
  5. REGISTRATION-GUIDE.md - Explain the registration system

Requirements

  • index.ts must export the generator and executor functions
  • generators.json must map names to factory paths
  • executors.json must map names to implementation paths
  • package.json must reference the registry files
  • Include descriptions in registry files

Test Case

After your fixes, these should work:

npx nx g @myorg/tools:create-service my-service
npx nx run my-app:custom-deploy

Constraints

  • Focus on the plugin registration structure
  • Show proper export patterns
  • Don't create the actual workspace or full implementations

evals

tile.json