dependency-management

Resolve dependency configurations for @canard/schema-form plugins with peer constraints.

1|Updated Nov 13, 2024
One-click install
npx skills add https://github.com/vincent-kk/albatrion --skill dependency-management-vincent-kk
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: dependency-management
Source: https://github.com/vincent-kk/albatrion/tree/main/.claude/skills/dependency-management
Command: npx skills add https://github.com/vincent-kk/albatrion --skill dependency-management-vincent-kk

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill guides plugin authors and maintainers to configure package.json dependencies for @canard/schema-form plugins, clarifying the distinction between dependencies and peerDependencies, and ensuring internal references and build tooling are correctly wired.

Core Features & Use Cases

  • Dependency template generation: Uses knowledge/package-config-template.json to generate consistent package.json for UI-library plugins.
  • Dependency rules enforcement: Applies rules from knowledge/dependency-rules.md for runtime and peer dependencies, including internal workspace references.
  • Monorepo alignment: Ensures internal packages like @winglet and @canard are referenced via workspace:* to enable local development.
  • Build tooling guidance: Suggests and validates devDependencies for Rollup, TypeScript, and related tooling.
  • Use case: Creating a new MUI plugin package.json that resolves to the latest major versions while preserving compatibility.

Quick Start

Use this skill to scaffold a new @canard/schema-form plugin package.json based on the knowledge templates.

Frequently Asked Questions about dependency-management

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure peerDependencies for a React plugin in a monorepo?▼

To configure peerDependencies for a React plugin in a monorepo, enforce React >=18.0.0 <19.0.0 and use workspace:* for internal packages. This aligns runtime dependencies with proper peer constraints.

What is the difference between dependencies and peerDependencies when building UI library plugins?▼

Dependencies are required for the plugin to function, while peerDependencies specify compatible host versions like React. Aligning them ensures plugin stability without duplicating host packages.

How do I scaffold a package.json for a new MUI plugin in a monorepo?▼

To scaffold a package.json for a new MUI plugin, apply dependency templates to generate consistent configurations. Use caret ranges for external dependencies and workspace:* for internal monorepo packages.

Does this dependency management approach support Rollup and TypeScript build tooling?▼

Yes, this dependency management approach supports Rollup and TypeScript by validating devDependencies. It ensures build tooling is correctly wired for consistent developer workflows.

When should I use workspace:* instead of caret ranges for package.json dependencies?▼

Use workspace:* for internal monorepo packages like @winglet and @canard to enable local development. Apply caret ranges to external dependencies to centralize version policies and maintain stability.