Skip to main content

coding-style

Coding style, testing, and PR guidelines for the Kubb ecosystem. Use when writing or reviewing code for the Kubb ecosystem.

설치로 이동

소스 정보

저장소
kubb-labs/fabric
최근 소스 활동
2026년 2월 4일 19:31
감지된 SKILL.md 언어
영어
스타
22
포크
3

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
coding-style
description
Coding style, testing, and PR guidelines for the Kubb ecosystem. Use when writing or reviewing code for the Kubb ecosystem.
# Code Style and Testing Skill ## When to Use - When creating or reviewing a PR that changes code - When adding a new package or feature to the monorepo - When updating CI, linting, or formatting configuration - When onboarding new contributors and sharing repository conventions ## What It Does This skill documents the repository's coding conventions, testing guidelines, and PR checklist so contributors and automation can produce consistent, high-quality changes. - Defines formatting, linting, and TypeScript conventions - Describes testing workflow and CI expectations - Outlines PR requirements, changelog updates, and release-related steps - Provides common troubleshooting and recovery commands ## How to Use Run the basic developer checks and fixes locally before committing or opening a PR: ```bash # Format code and attempt autofixes pnpm run format # Lint the repository pnpm run lint # Run unit tests pnpm test # Create a changeset for versioning pnpm changeset # Typecheck whole repo pnpm typecheck ``` Follow the PR checklist and run the commands above in the same order: **format → lint → typecheck → test → changeset**. ## Repository Facts - **Monorepo**: Managed by pnpm workspaces and Turborepo - **Module system**: ESM-only (`type: "module"` across repo) - **Node version**: 20 - **Testing Library**: Vitest - **Versioning**: Changesets for versioning and publishing - **CI/CD**: GitHub Actions ## Coding Style Guidelines ### Basic Rules - **Quotes**: Single quotes, no semicolons (see `biome.json`) - **Patterns**: Prefer functional patterns - **Ternary operators**: Keep ternary operators to one level deep for readability. For nested conditions, use if/else statements or extract to a helper function. ### Naming Conventions | Element / Context | Naming convention | | ----------------------: | :---------------- | | File / directory names | `camelCase` | | Variables / functions | `camelCase` | | Types / Interfaces | `PascalCase` | | React components | `PascalCase` | ### TypeScript Conventions - **Module resolution**: `"bundler"`; ESM only - **Strict typing**: NEVER use `any` type or `as any` casts. Always use proper types, generics, or `unknown`/`never` when appropriate. - **Files**: `.ts` for libraries, `.tsx` for React components, `.vue` for Vue components - **DTS output**: Managed by `tsdown` - **Importing**: Always use proper import statements at the module level instead of inline type imports - **Exporting**: use `"exports"` map and `typesVersions` as needed. Keep public API stable - **Root level types**: Define types at the root level of the file, not inside functions - **Function syntax in Objects**: Use function syntax (not arrow functions) in object methods to enable use of `this` keyword ## Testing - **Test location**: `*.test.ts` or `*.test.tsx` in `src` folders - **Focus on specific tests**: `pnpm test "<test name>"` - **Always add or update tests for code changes** and when needed update snapshots with the `-u` flag - **Fix all test and type errors until suite is green** - **After moving files or changing imports**: Run `pnpm lint && pnpm typecheck` ### Writing Conventions - **Focused**: Test one thing at a time - **Isolated**: Don't depend on other tests - **Repeatable**: Same results every time - **Fast**: Keep tests quick - **Clear**: Easy to understand what's being tested ## PR Instructions Follow these steps when creating a PR: 1. Make sure that the following commands pass locally: - `pnpm format && pnpm lint` - `pnpm typecheck` - `pnpm test` 2. Create a git commit with **Title format**: `[<plugin-name>] <Title>` 3. Push your branch and open a PR against `main` 4. Fill out the PR template completely 5. Add a changeset using `pnpm changeset` 6. Request reviews from relevant maintainers 7. Address feedback and make any requested changes 8. Once approved, wait for CI to pass and merge the PR ## Related Skills | Skill | Use For | |-----------------------------------------|---------------------| | **[../changelog/SKILL.md](../changelog/SKILL.md)** | Update changelogs, **Mandatory for all PRs that include code changes** |
GitHub에서 보기