diff --git a/.claude/skills/branch-name/SKILL.md b/.claude/skills/branch-name/SKILL.md index a6fc6e55cb61..717933991180 100644 --- a/.claude/skills/branch-name/SKILL.md +++ b/.claude/skills/branch-name/SKILL.md @@ -1,12 +1,12 @@ --- name: branch-name -description: Use when starting a new branch or renaming an existing one — produces a branch name in the format `/-` that's compatible with the create-pr skill's work item ID extraction. +description: Use when starting a new branch or renaming an existing one — produces a branch name in the format `/-` that's compatible with the create-pull-request skill's work item ID extraction. user_invocable: true --- # Branch Naming -Create branch names that follow the convention `/-`, where the work item ID can be cleanly extracted later (e.g., by the create-pr skill). +Create branch names that follow the convention `/-`, where the work item ID can be cleanly extracted later (e.g., by the create-pull-request skill). ## Format @@ -51,7 +51,7 @@ Create branch names that follow the convention `/- **Note on the consolidated row.** CLDR itself only requires `other` for `tr-TR`, `vi-VN`, `id`, `ja`, `ko`, `zh-CN`, `zh-TW` (single-form locales). Emitting both `one` and `other` with identical content is a **project convention** — it keeps tooling and linters consistent across the codebase. It is not a CLDR requirement, and `Intl.PluralRules` will return only `"other"` for these locales at runtime. @@ -469,7 +469,7 @@ When reviewing a translation — yours or an AI's — score against these catego A "namespace" is a top-level JSON file (e.g. `common.json`, `auth.json`, `epic.json`). The set of valid namespace names is a hard-coded const array — adding a JSON file alone is not enough; the runtime will not load it. 1. Add the new namespace name to the `NAMESPACES` array in `packages/i18n/src/constants/namespaces.ts`. Keep alphabetical order with the existing entries. -2. Create `.json` in **every** locale directory under `packages/i18n/src/locales/` — start with `en/.json` (the source of truth), then create the file in all 18 target locales. An empty `{}` is fine for the targets at this step; `sync-check` will report missing keys as you add them in step 4. +2. Create `.json` in **every** locale directory under `packages/i18n/src/locales/` — start with `en/.json` (the source of truth), then create the file in every target locale (21 today; `ls packages/i18n/src/locales`). An empty `{}` is fine for the targets at this step; `sync-check` will report missing keys as you add them in step 4. 3. Add at least one key in `en/.json` so the namespace has content. 4. Translate every key from `en/.json` into each target locale — apply every rule in this skill. 5. Run `pnpm --filter @plane/i18n run generate:types` to regenerate the `TTranslationKeys` union so component-level `t()` calls type-check. diff --git a/.github/ISSUE_TEMPLATE/config.yaml b/.github/ISSUE_TEMPLATE/config.yaml index 301080b75900..cf159ef8bd81 100644 --- a/.github/ISSUE_TEMPLATE/config.yaml +++ b/.github/ISSUE_TEMPLATE/config.yaml @@ -1,6 +1,7 @@ contact_links: - name: Help and support - about: Reach out to us on our Forum or GitHub discussions. + url: https://forum.plane.so + about: Ask questions and get help from the community on our Forum. - name: Dedicated support url: mailto:support@plane.so about: Write to us if you'd like dedicated support using Plane diff --git a/.github/instructions/bash.instructions.md b/.github/instructions/bash.instructions.md index b14d3c9eda62..892d25e348c1 100644 --- a/.github/instructions/bash.instructions.md +++ b/.github/instructions/bash.instructions.md @@ -10,23 +10,32 @@ This document outlines the standard tools and commands used in this monorepo. ## Package Manager We use **pnpm** for package management. + - **Do not use `npm` or `yarn`.** - Lockfile: `pnpm-lock.yaml` - Workspace configuration: `pnpm-workspace.yaml` ### Common Commands + - Install dependencies: `pnpm install` - Run a script in a specific package: `pnpm --filter run