technical-spec

Defines environment variables, architecture design, and build/test commands. Use when configuring environment or designing architecture.

$ 安裝

git clone https://github.com/shinpr/ai-coding-project-boilerplate /tmp/ai-coding-project-boilerplate && cp -r /tmp/ai-coding-project-boilerplate/.claude/skills-en/technical-spec ~/.claude/skills/ai-coding-project-boilerplate

// tip: Run this command in your terminal to install the skill


name: technical-spec description: Defines environment variables, architecture design, and build/test commands. Use when configuring environment or designing architecture.

Technical Design Rules

Basic Technology Stack Policy

TypeScript-based application implementation. Architecture patterns should be selected according to project requirements and scale.

Environment Variable Management and Security

Environment Variable Management

  • Centrally manage environment variables and build mechanisms to ensure type safety
  • Avoid direct references to process.env, obtain through configuration management layer
  • Properly implement default value settings and mandatory checks

Security

  • Do not include .env files in Git
  • Always manage API keys and secrets as environment variables
  • Prohibit logging of sensitive information
  • Do not include sensitive information in error messages

Architecture Design

Architecture Design Principles

Select appropriate architecture for each project and define clearly:

  • Separation of Responsibilities: Clearly define responsibilities for each layer and module, and maintain boundaries

Unified Data Flow Principles

Basic Principles

  1. Single Data Source: Store the same information in only one place
  2. Structured Data Priority: Use parsed objects rather than JSON strings
  3. Clear Responsibility Separation: Clearly define responsibilities for each layer

Data Flow Best Practices

  • Validation at Input: Validate data at input layer and pass internally in type-safe form
  • Centralized Transformation: Consolidate data transformation logic in dedicated utilities
  • Structured Logging: Output structured logs at each stage of data flow

Build and Testing

Use the appropriate run command based on the packageManager field in package.json.

Build Commands

  • build - TypeScript build
  • type-check - Type check (no emit)

Testing Commands

  • test - Run tests
  • test:coverage - Run tests with coverage
  • test:coverage:fresh - Run tests with coverage (fresh cache)
  • test:safe - Safe test execution (with auto cleanup)
  • cleanup:processes - Cleanup Vitest processes

Quality Check Requirements

Quality checks are mandatory upon implementation completion:

Phase 1-3: Code Quality Checks

  • check - Biome (lint + format)
  • check:unused - Detect unused exports
  • check:deps - Detect circular dependencies
  • build - TypeScript build

Phase 4: Tests

  • test - Test execution

Phase 5: Code Quality Re-verification

  • check:code - Re-verify code quality (clean up side effects from test fixes in Phase 4)

Auxiliary Commands

  • check:all - Overall integrated check (check:code + test) *for manual batch verification
  • open coverage/index.html - Check coverage report
  • format - Format fixes
  • lint:fix - Lint fixes

Troubleshooting

  • Port in use error: Run the cleanup:processes script
  • Cache issues: Run the test:coverage:fresh script
  • Dependency errors: Clean reinstall dependencies

Coverage Requirements

  • MANDATORY: Unit test coverage MUST be 70% or higher
  • Metrics: Statements, Branches, Functions, Lines