Agent skill

common-tasks

Step-by-step guides for common development tasks like adding constructs, creating packages, and using workspace packages. Use when performing routine development tasks.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/common-tasks

SKILL.md

Common Tasks

Adding a New Construct to an Existing Package

  1. Create the construct in packages/{package}/src/constructs/
  2. Create types in packages/{package}/src/types/
  3. Export from packages/{package}/src/index.ts
  4. Create test file in packages/{package}/test/
  5. Create example stack in packages/{package}/test/
  6. Update package README

Creating a New Subpackage

  1. Create directory: mkdir -p packages/{name}/src
  2. Create package.json with correct dependencies
  3. Create tsconfig.json extending ../../tsconfig-strict.json
  4. Create src/index.ts with exports
  5. Add to tsconfig.build.json references (in dependency order)
  6. Update root README packages table
  7. Create package README
  8. Create test folder with test files
  9. Create docs folder with documentation

Using Root Package Types

Import shared types from @cdk-constructs/cdk:

typescript
import {
    EnvironmentConfig,
    // Add other shared types as they're created
} from '@cdk-constructs/cdk';

Using Workspace Packages

Import from workspace packages:

typescript
import {Account, Region, Environment} from '@cdk-constructs/aws';
import {createCodeArtifact} from '@cdk-constructs/codeartifact';

Adding Integration Test Stack

  1. Create stack class in lib/stacks/{stack-name}-stack.ts
  2. Add environment configuration to bin/environment.ts
  3. Import and instantiate in bin/app.ts

Formatting Code

bash
# Format all files
npm run format

# Check formatting
npm run format:check

# Format and fix linting
npm run format:fix

Key Reminders

  1. New constructs go in subpackages, not the root package
  2. Always use explicit imports, never wildcards
  3. Match CDK versions across all packages
  4. Include environment in resource names to prevent collisions
  5. Gate expensive features to production environments
  6. Export everything from src/index.ts
  7. Create test files for all constructs
  8. Add JSDoc comments to all public APIs
  9. Run lint and format before committing
  10. Follow dependency order when adding packages

Didn't find tool you were looking for?

Be as detailed as possible for better results