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.