opencode-skills-collection 4.0.19 → 4.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +5 -1
  2. package/bundled-skills/agents-generator/SKILL.md +163 -0
  3. package/bundled-skills/agents-generator/assets/agents-full.md +452 -0
  4. package/bundled-skills/agents-generator/assets/agents-minimal.md +60 -0
  5. package/bundled-skills/agents-generator/assets/agents-nested.md +73 -0
  6. package/bundled-skills/agents-generator/assets/architecture.md +43 -0
  7. package/bundled-skills/agents-generator/assets/backend.md +35 -0
  8. package/bundled-skills/agents-generator/assets/claude.md +39 -0
  9. package/bundled-skills/agents-generator/assets/database.md +40 -0
  10. package/bundled-skills/agents-generator/assets/forms.md +56 -0
  11. package/bundled-skills/agents-generator/assets/frontend-patterns.md +44 -0
  12. package/bundled-skills/agents-generator/assets/git-workflow.md +61 -0
  13. package/bundled-skills/agents-generator/assets/i18n.md +50 -0
  14. package/bundled-skills/agents-generator/assets/platform.md +54 -0
  15. package/bundled-skills/agents-generator/assets/sdd-workflow.md +46 -0
  16. package/bundled-skills/agents-generator/assets/server-actions.md +36 -0
  17. package/bundled-skills/agents-generator/assets/styling.md +48 -0
  18. package/bundled-skills/agents-generator/assets/testing.md +67 -0
  19. package/bundled-skills/agents-generator/references/decision-matrix.md +311 -0
  20. package/bundled-skills/agents-generator/references/example-output/README.md +78 -0
  21. package/bundled-skills/agents-generator/references/template-filling-guide.md +67 -0
  22. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  23. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  24. package/bundled-skills/docs/maintainers/repo-growth-seo.md +1 -1
  25. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  26. package/bundled-skills/docs/users/aas-core.md +1 -1
  27. package/bundled-skills/docs/users/bundles.md +1 -1
  28. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  29. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  30. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  31. package/bundled-skills/docs/users/usage.md +3 -3
  32. package/bundled-skills/docs/users/visual-guide.md +4 -4
  33. package/bundled-skills/gh-attach/SKILL.md +151 -0
  34. package/bundled-skills/talivia-agent-kit/SKILL.md +139 -0
  35. package/bundled-skills/unified-ai-gateway/SKILL.md +214 -0
  36. package/package.json +1 -1
  37. package/skills_index.json +100 -0
@@ -0,0 +1,60 @@
1
+ # AGENTS.md — Minimal Template
2
+
3
+ Generate when the user asks for a simple, single-file AGENTS.md following the agents.md standard format (https://agents.md). No YAML frontmatter, no rule files, no ASCII art. Keep it under 30 lines.
4
+
5
+ Fill `{{PLACEHOLDER}}` markers from project detection. Only include sections whose content is non-empty.
6
+
7
+ ```markdown
8
+ ## Setup commands
9
+
10
+ {{SETUP_COMMANDS}}
11
+
12
+ ## Code style
13
+
14
+ {{CODE_STYLE}}
15
+
16
+ ## Testing instructions
17
+
18
+ {{TESTING_INSTRUCTIONS}}
19
+
20
+ ## PR instructions
21
+
22
+ {{PR_INSTRUCTIONS}}
23
+ ```
24
+
25
+ ## Filling rules
26
+
27
+ ### `{{SETUP_COMMANDS}}`
28
+
29
+ - One bullet per command: install deps, start dev, run build, run lint, format
30
+ - Use the detected package manager (`pnpm install`, `bun install`, etc.)
31
+ - Keep it short — 3-5 bullets max
32
+
33
+ ### `{{CODE_STYLE}}`
34
+
35
+ - 3-5 project-specific conventions as bullets
36
+ - Only verifiable from config: TypeScript strict, no any, single/double quotes, semicolons, import conventions, UI language
37
+ - Format: `- TypeScript strict mode` not `- We use TypeScript`
38
+
39
+ ### `{{TESTING_INSTRUCTIONS}}`
40
+
41
+ - What the agent should run before committing
42
+ - The exact test command from package.json
43
+ - One line about adding tests: "- Add or update tests for the code you change"
44
+ - If coverage: mention the command
45
+
46
+ ### `{{PR_INSTRUCTIONS}}`
47
+
48
+ - Commit format: conventional commits or project-specific
49
+ - What to run before pushing: lint + test + typecheck
50
+ - Branch naming if applicable
51
+ - Attribution rules: "- No AI attribution in commits"
52
+
53
+ ## Omission rules
54
+
55
+ - Skip any section whose content would be empty
56
+ - Never include architecture descriptions, ASCII diagrams, or stack tables
57
+ - Never include rule file references or `.agents/rules/` mentions
58
+ - If the project has no test runner, skip `## Testing instructions`
59
+ - If the project has no lint setup, omit lint from the PR checklist
60
+ - Keep total file under 30 lines
@@ -0,0 +1,73 @@
1
+ # AGENTS.md — Nested Template (monorepo sub-package)
2
+
3
+ Generate for each sub-package in a monorepo. Lightweight, package-specific. No YAML frontmatter. Format follows the agents.md standard.
4
+
5
+ Fill `{{PLACEHOLDER}}` markers from the sub-package's package.json and config files.
6
+
7
+ ```markdown
8
+ # {{PACKAGE_NAME}}
9
+
10
+ {{PACKAGE_DESCRIPTION}}
11
+
12
+ ## Setup commands
13
+
14
+ - Install: `cd {{PACKAGE_RELATIVE_PATH}} && {{PM}} install`
15
+ - Build: `{{BUILD_COMMAND}}`
16
+ - Dev: `{{DEV_COMMAND}}`
17
+
18
+ {{TEST_SECTION}}
19
+
20
+ ## Code style
21
+
22
+ {{CODE_STYLE}}
23
+ ```
24
+
25
+ ## Filling rules
26
+
27
+ ### `{{PACKAGE_NAME}}`
28
+
29
+ From `package.json` `name` field, or directory name if not found.
30
+
31
+ ### `{{PACKAGE_DESCRIPTION}}`
32
+
33
+ One sentence from `package.json` `description`, or inferred from the package's purpose (shared types, API server, frontend app, etc.).
34
+
35
+ ### `{{PACKAGE_RELATIVE_PATH}}`
36
+
37
+ Path relative to repo root, e.g. `packages/db` or `apps/dashboard`.
38
+
39
+ ### `{{PM}}`
40
+
41
+ The root package manager: `pnpm`, `bun`, `npm`, `yarn`.
42
+
43
+ ### `{{BUILD_COMMAND}}`
44
+
45
+ - Monorepo with turborepo: `npx turbo run build --filter={{PACKAGE_NAME}}`
46
+ - Monorepo with pnpm: `pnpm --filter {{PACKAGE_NAME}} build`
47
+ - If no build script in sub-package: omit or say "`cd {{PACKAGE_RELATIVE_PATH}} && {{PM}} run build`"
48
+
49
+ ### `{{DEV_COMMAND}}`
50
+
51
+ - Same pattern as build. If sub-package has no dev script, omit.
52
+
53
+ ### `{{TEST_SECTION}}`
54
+
55
+ ```
56
+ ## Testing instructions
57
+ - Run tests: `{{TEST_COMMAND}}`
58
+ - Add or update tests for the code you change
59
+ ```
60
+
61
+ Only include if the sub-package has a test script or test config.
62
+
63
+ ### `{{CODE_STYLE}}`
64
+
65
+ - 2-3 sub-package-specific conventions
66
+ - If sub-package is a shared package: mention exports map, entrypoints, rebuild dependencies
67
+ - If sub-package is an app: mention port, router type, framework
68
+
69
+ ## Omission rules
70
+
71
+ - Skip the whole nested file if the sub-package has no `package.json`
72
+ - Keep under 20 lines
73
+ - No architecture descriptions, no ASCII diagrams, no tables
@@ -0,0 +1,43 @@
1
+ # Architecture Rules
2
+
3
+ ## {{PROJECT_TYPE_TITLE}}
4
+
5
+ {{PROJECT_TYPE_DESCRIPTION}}
6
+
7
+ ```text
8
+ {{ARCHITECTURE_DIAGRAM}}
9
+ ```
10
+
11
+ ## Stack
12
+
13
+ | Layer | Technology | Version |
14
+ | --------------- | ---------- | ------- |
15
+ | {{STACK_TABLE}} |
16
+
17
+ ## {{ROUTING_SECTION_TITLE}}
18
+
19
+ {{ROUTING_TABLE}}
20
+
21
+ ## Data Flow
22
+
23
+ ```
24
+ {{DATA_FLOW}}
25
+ ```
26
+
27
+ {{SERVER_ACTION_VS_API_SECTION}}
28
+
29
+ {{RATE_LIMIT_SECTION}}
30
+
31
+ {{LANGUAGE_SECTION}}
32
+
33
+ ## Generation Rules
34
+
35
+ - **PROJECT_TYPE_TITLE**: "Single App Structure" if not monorepo, "Monorepo Structure" if monorepo.
36
+ - **ARCHITECTURE_DIAGRAM**: ASCII art of the main directory layout. For monorepos, show apps + shared packages + their relationships. For single apps, show app/ → components/ + lib/ + external service connections.
37
+ - **STACK_TABLE**: Extract from package.json + config files. Each row: layer, technology, exact version.
38
+ - **ROUTING_SECTION_TITLE**: "Routes" for Next.js App Router, "Endpoints" for NestJS/Express, "Routes" generic.
39
+ - **ROUTING_TABLE**: List every route with type (server/client/API) and description. Read from app/ or src/app/.
40
+ - **DATA_FLOW**: ASCII diagram of the main data flow (user action → frontend → backend → database/external → response). Use real function names.
41
+ - **SERVER_ACTION_VS_API_SECTION**: If both server actions and API routes exist, explain which is primary and their differences. If only one, skip the comparison.
42
+ - **RATE_LIMIT_SECTION**: If rate-limit.ts or rate limiting middleware exists, document it with limits and expiry.
43
+ - **LANGUAGE_SECTION**: If the project uses i18n or has UI in a language other than English, document it.
@@ -0,0 +1,35 @@
1
+ # Backend Patterns (NestJS)
2
+
3
+ ## Module Architecture (Screaming Architecture)
4
+
5
+ Each business module is a directory with its own module, controller, and service:
6
+
7
+ ```text
8
+ src/{feature}/
9
+ {feature}.module.ts # NestJS module
10
+ {feature}.controller.ts # REST routes
11
+ {feature}-crud.service.ts # Business logic
12
+ constants.ts # Module constants
13
+ __tests__/ # Unit tests
14
+ ```
15
+
16
+ ## Rules
17
+
18
+ - DTOs decorated with validation, validated via global pipe (ZodValidationPipe or class-validator).
19
+ - Dynamic/unmodelable body: receive as `unknown` in controller, cast to narrowest concrete interface in service — never `any`.
20
+ - When splitting a god service, each new service injects only its own dependencies.
21
+ - Services inject the database service from the shared package, not the generated client directly.
22
+ - Role-checking: use enum values directly from the shared package.
23
+ - Use `@nestjs/swagger` decorators for exposed endpoint documentation.
24
+
25
+ ## Error Handling
26
+
27
+ - Global exception filter catches all unhandled exceptions.
28
+ - Handle database errors: unique constraint, not found, foreign key, relation violation.
29
+ - Typed business errors with code + consistent message.
30
+ - Standard HTTP exceptions for common cases.
31
+ - Auto-log errors >=500 with stack trace.
32
+
33
+ ## Generation Rules
34
+
35
+ This template is only used when `@nestjs/core` is detected in dependencies. Adapt all paths and module names based on the actual project structure found in `src/`.
@@ -0,0 +1,39 @@
1
+ # CLAUDE.md — Template
2
+
3
+ ONLY generate if Claude Code is detected in the project. Detection signals:
4
+
5
+ - `.claude/` directory exists
6
+ - `CLAUDE.md` file exists at project root
7
+ - `.claude/skills/` directory exists
8
+ - `claude` appears in devDependencies or as a tool reference
9
+
10
+ The CLAUDE.md file should be **thin**. Its only job is to point to AGENTS.md. Do not duplicate content.
11
+
12
+ ```markdown
13
+ # CLAUDE.md
14
+
15
+ See @AGENTS.md
16
+
17
+ {{CLAUDE_SPECIFIC_SECTION}}
18
+ ```
19
+
20
+ ## Filling rules
21
+
22
+ ### `{{CLAUDE_SPECIFIC_SECTION}}`
23
+
24
+ Only add if the project actually uses Claude-specific features. If none, omit entirely:
25
+
26
+ - **`.claude/rules/`** — if modular rule files exist: `Additional rules in @.claude/rules/`
27
+ - **`.claude/commands/`** — if custom slash commands exist: `Custom commands: @.claude/commands/`
28
+ - **`.claude/agents/`** — if custom subagents exist: `Custom subagents: @.claude/agents/`
29
+ - **Claude-only behavior**: "Use plan mode for non-trivial tasks", "Use subagents for parallel work"
30
+
31
+ If none of these apply, CLAUDE.md is just:
32
+
33
+ ```markdown
34
+ # CLAUDE.md
35
+
36
+ See @AGENTS.md
37
+ ```
38
+
39
+ That's the whole file. Don't add empty sections.
@@ -0,0 +1,40 @@
1
+ # Database Rules
2
+
3
+ ## ORM: {{ORM_NAME}}
4
+
5
+ {{ORM_DESCRIPTION}}
6
+
7
+ ## Schema Location
8
+
9
+ {{SCHEMA_LOCATION}}
10
+
11
+ {{MIGRATIONS_SECTION}}
12
+
13
+ ## Conventions
14
+
15
+ {{DB_CONVENTIONS}}
16
+
17
+ ## Relationships and Queries
18
+
19
+ {{QUERY_PATTERNS}}
20
+
21
+ ## Generation Rules
22
+
23
+ - **ORM_NAME**: "Prisma", "Drizzle", "Knex", "TypeORM", "Mongoose", or "Raw SQL".
24
+ - **ORM_DESCRIPTION**: Database provider detected (postgresql, sqlite, mysql, mongodb).
25
+ - **SCHEMA_LOCATION**: Where the schema or DB config lives.
26
+ - **MIGRATIONS_SECTION**:
27
+ - **Prisma**: `prisma migrate dev` for development, `prisma migrate deploy` for production. `prisma generate` to regenerate client.
28
+ - **Drizzle**: `drizzle-kit generate` for migrations, `drizzle-kit push` for prototyping.
29
+ - **Knex**: `knex migrate:make`, `knex migrate:latest`.
30
+ - **DB_CONVENTIONS**:
31
+ - IDs: `uuid` vs `cuid` vs `autoincrement` vs `ObjectId`. Detect from schema.
32
+ - Timestamps: `createdAt` + `updatedAt` automatically.
33
+ - Naming: `snake_case` in DB, `camelCase` in code.
34
+ - Enums: native DB enums vs strings vs TypeScript enums.
35
+ - Soft deletes: if `deletedAt` field exists.
36
+ - **QUERY_PATTERNS**:
37
+ - **Prisma**: `prisma.user.findMany({ where, include, select })`. Include vs select rules. Transactions with `prisma.$transaction`.
38
+ - **Drizzle**: `db.select().from(users).where(eq(...))`. Relations with `relations`.
39
+ - **Mongoose**: `Model.find()`, `Model.populate()`, `Model.aggregate()`.
40
+ - **Raw SQL**: Use parameterized queries, never string interpolation.
@@ -0,0 +1,56 @@
1
+ # Form Patterns
2
+
3
+ ## Library: {{FORM_LIBRARY}}
4
+
5
+ {{FORM_LIBRARY_DESCRIPTION}}
6
+
7
+ ## Form Structure
8
+
9
+ ```tsx
10
+ {
11
+ {
12
+ FORM_EXAMPLE;
13
+ }
14
+ }
15
+ ```
16
+
17
+ ## Rules
18
+
19
+ {{FORM_RULES}}
20
+
21
+ ## Validation
22
+
23
+ {{VALIDATION_SECTION}}
24
+
25
+ ## Errors
26
+
27
+ {{ERROR_SECTION}}
28
+
29
+ ## Generation Rules
30
+
31
+ - **FORM_LIBRARY**: "react-hook-form", "formik", "TanStack Form", or "Manual (controlled inputs)".
32
+ - **FORM_LIBRARY_DESCRIPTION**: One sentence about how forms are handled in the project.
33
+ - **FORM_EXAMPLE**: Real example from the project. Read an existing form and adapt. Include: hook import, register/control, handleSubmit, errors, submit handler.
34
+ - **FORM_RULES**:
35
+ - **react-hook-form**:
36
+ - `useForm<T>()` with generic type for the form schema.
37
+ - `register("fieldName")` for simple inputs, `control` + `Controller` for custom components.
38
+ - `formState: { errors, isSubmitting }` for state.
39
+ - If using Zod resolver: `zodResolver(schema)` in `useForm`.
40
+ - Do not mix `useState` with react-hook-form — use `watch()` or `getValues()`.
41
+ - **formik**:
42
+ - `useFormik<T>()` or `<Formik>` component.
43
+ - `validationSchema` for Yup/Zod.
44
+ - `handleChange`, `handleBlur`, `handleSubmit`.
45
+ - **Manual**:
46
+ - `useState` per field.
47
+ - Manual validation in `handleSubmit`.
48
+ - No form library.
49
+ - **VALIDATION_SECTION**: If using Zod/Yup/Valibot validation:
50
+ - Where schemas live (`lib/schemas/`, `src/validations/`).
51
+ - How they integrate with the form.
52
+ - Whether they are shared between client and server.
53
+ - **ERROR_SECTION**: How errors are displayed:
54
+ - Inline below the field.
55
+ - Toast / sonner for server errors.
56
+ - Messages in the project's language based on i18n detection.
@@ -0,0 +1,44 @@
1
+ # Frontend Patterns
2
+
3
+ ## File Structure
4
+
5
+ ```text
6
+ {{FILE_STRUCTURE}}
7
+ ```
8
+
9
+ ## Component Rules
10
+
11
+ {{COMPONENT_RULES}}
12
+
13
+ ## State Management
14
+
15
+ {{STATE_MANAGEMENT}}
16
+
17
+ ## Toast / Notification System
18
+
19
+ {{TOAST_SYSTEM}}
20
+
21
+ ## Analytics
22
+
23
+ {{ANALYTICS_SECTION}}
24
+
25
+ ## Trust Boundaries
26
+
27
+ {{TRUST_BOUNDARIES}}
28
+
29
+ ## Generation Rules
30
+
31
+ - **FILE_STRUCTURE**: ASCII tree of relevant source directories (app/, components/, lib/, src/). Include only code directories, not node_modules, .git, etc.
32
+ - **COMPONENT_RULES**:
33
+ - Next.js App Router: "use client" rule, server/client component split, where each type lives.
34
+ - Vite/SPA: folder structure, lazy loading.
35
+ - Tailwind: prohibit inline `style={{}}` (except cases like global-error).
36
+ - shadcn/ui: atomic components in components/ui/.
37
+ - UI language for labels/navigation (English/Spanish/etc.) based on project detection.
38
+ - **STATE_MANAGEMENT**:
39
+ - Zustand/Redux/Jotai: document stores, server hydration patterns.
40
+ - useState only: document where main state lives.
41
+ - Shared hooks: list them with their purpose.
42
+ - **TOAST_SYSTEM**: Detect sonner, shadcn toast, custom system, or none. Document the API.
43
+ - **ANALYTICS_SECTION**: If Google Analytics, GTM, Plausible, etc. exists. Document the hook or helper.
44
+ - **TRUST_BOUNDARIES**: Document what the client validates vs what the server validates, what goes through server actions vs client-side.
@@ -0,0 +1,61 @@
1
+ # Git Workflow
2
+
3
+ ## Approval Rules
4
+
5
+ - **NO commits** without the user validating the code first — show the diff.
6
+ - **NO branches** unless explicitly requested.
7
+ - **NO push** unless instructed.
8
+ - Before touching code: show plan (files to touch + proposed commits).
9
+ - After applying: show commands run and results (lint/test/{{QUALITY_TOOL}}).
10
+
11
+ ## Commit Convention
12
+
13
+ Conventional Commits:
14
+
15
+ ```
16
+ feat: <brief description>
17
+ fix: <brief description>
18
+ refactor: <brief description>
19
+ test: <brief description>
20
+ chore: <brief description>
21
+ docs: <brief description>
22
+ ```
23
+
24
+ Rules:
25
+
26
+ - One commit per logical change.
27
+ - Short imperative messages.
28
+ - No trailing period.
29
+ - **No "Co-Authored-By" or AI attribution.**
30
+ - {{COMMIT_LANGUAGE}} for commit messages.
31
+
32
+ {{COMMIT_EXAMPLES}}
33
+
34
+ ## Pre-Commit Verification
35
+
36
+ Before committing, run:
37
+
38
+ ```
39
+ {{PRE_COMMIT_CYCLE}}
40
+ ```
41
+
42
+ If any step fails, do not commit. Fix and retry.
43
+
44
+ ## Branches
45
+
46
+ Default base: `{{DEFAULT_BRANCH}}`.
47
+
48
+ Format:
49
+
50
+ ```
51
+ {{BRANCH_FORMAT}}
52
+ ```
53
+
54
+ ## Generation Rules
55
+
56
+ - **QUALITY_TOOL**: "doctor" if react-doctor is present, otherwise just "lint".
57
+ - **COMMIT_LANGUAGE**: "English" for projects with code in English, "Spanish" if the project uses Spanish in commits.
58
+ - **COMMIT_EXAMPLES**: 2-3 real examples based on the project's typical change types. Read `git log --oneline -5` if available.
59
+ - **PRE_COMMIT_CYCLE**: Shortened version of the full verification cycle.
60
+ - **DEFAULT_BRANCH**: Detect with `git branch --show-current` or `git remote show origin`. Default: "master".
61
+ - **BRANCH_FORMAT**: `feature/<slug>`, `fix/<slug>`, etc. If the project uses issue references (REQ-XXX), include them in the format.
@@ -0,0 +1,50 @@
1
+ # i18n Rules
2
+
3
+ ## Library: {{I18N_LIBRARY}}
4
+
5
+ {{I18N_DESCRIPTION}}
6
+
7
+ ## Supported Languages
8
+
9
+ {{LANGUAGES}}
10
+
11
+ ## File Structure
12
+
13
+ ```text
14
+ {{I18N_FILE_STRUCTURE}}
15
+ ```
16
+
17
+ ## Usage in Code
18
+
19
+ ```typescript
20
+ {
21
+ {
22
+ I18N_USAGE_EXAMPLE;
23
+ }
24
+ }
25
+ ```
26
+
27
+ ## Rules
28
+
29
+ {{I18N_RULES}}
30
+
31
+ ## Generation Rules
32
+
33
+ - **I18N_LIBRARY**: "next-intl", "react-i18next", "next-i18next", "Lingui", or "Custom".
34
+ - **I18N_DESCRIPTION**: How i18n works in the project. E.g.: "next-intl with App Router, messages per locale in JSON files, detection via middleware."
35
+ - **LANGUAGES**: List of supported locales. Detect from `i18n.ts`, `next.config.*`, `middleware.ts`, or `messages/{locale}/` folders.
36
+ - **I18N_FILE_STRUCTURE**: Directory tree with translation files.
37
+ - **I18N_USAGE_EXAMPLE**:
38
+ - **next-intl App Router**: `useTranslations()`, `getTranslations()`, `<NextIntlClientProvider>`.
39
+ - **next-intl Pages Router**: `getStaticProps` with `useTranslations`.
40
+ - **react-i18next**: `useTranslation()`, `t("key")`, namespaces.
41
+ - **next-i18next**: `serverSideTranslations`, `useTranslation`.
42
+ - **I18N_RULES**:
43
+ - UI uses translations, not hardcoded strings.
44
+ - Keys in snake_case or camelCase (detect from project).
45
+ - Interpolation: `t("greeting", { name })` not concatenation.
46
+ - Date/number formatting with `Intl` or library helpers.
47
+ - Metadata and SEO also translated (`generateMetadata` with `getTranslations`).
48
+ - Next.js App Router: middleware handles locale detection + redirect.
49
+ - Pages Router: `getStaticProps`/`getServerSideProps` load translations.
50
+ - Translation files nested by feature, not a single flat file.
@@ -0,0 +1,54 @@
1
+ # {{PLATFORM_NAME}} Rules — Template
2
+
3
+ ONLY generate if the corresponding platform is detected in the project. Detection signals per platform below.
4
+
5
+ This file is wrapped in managed blocks. The agent regenerates content between markers on update; human edits outside markers are preserved.
6
+
7
+ ```text
8
+ <!-- AGENTS-GENERATED-START -->
9
+ # {{PLATFORM_RULES_HEADER}}
10
+
11
+ {{PLATFORM_SPECIFIC_CONTENT}}
12
+ <!-- AGENTS-GENERATED-END -->
13
+ ```
14
+
15
+ ## Platform detection and output
16
+
17
+ | Platform | Detection signal | Output file | Content mapping |
18
+ | ------------------ | ------------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------ |
19
+ | **Cursor** | `.cursorrules` exists or `.cursor/` directory | `.cursorrules` | AGENTS.md sections: Setup commands, Code Style, Hard Rules, Prohibitions |
20
+ | **GitHub Copilot** | `.github/copilot-instructions.md` exists | `.github/copilot-instructions.md` | Flat instructions: Setup, Code Style, Testing |
21
+ | **Gemini CLI** | `GEMINI.md` exists or `.gemini/` directory | `GEMINI.md` | System prompt style: Overview, Commands, Conventions |
22
+ | **Windsurf** | `.windsurfrules` exists or `.windsurf/` directory | `.windsurfrules` | Progressive disclosure: Tech Stack, Rules, Testing |
23
+ | **Codex** | Already covered by AGENTS.md (native support) | — | AGENTS.md is the primary file |
24
+
25
+ ## Filling rules
26
+
27
+ ### `{{PLATFORM_NAME}}`
28
+
29
+ The platform name: "Cursor", "GitHub Copilot", "Gemini CLI", "Windsurf".
30
+
31
+ ### `{{PLATFORM_RULES_HEADER}}`
32
+
33
+ Platform-specific heading:
34
+
35
+ - Cursor: `# Project Rules: {PROJECT_NAME}`
36
+ - Copilot: `# Copilot Instructions`
37
+ - Gemini: `# Gemini CLI Guidelines`
38
+ - Windsurf: `# Windsurf Rules`
39
+
40
+ ### `{{PLATFORM_SPECIFIC_CONTENT}}`
41
+
42
+ Adapt from AGENTS.md but use platform-specific format:
43
+
44
+ - **Cursor**: Progressive disclosure with severity levels. Include BAD/GOOD code examples.
45
+ - **Copilot**: Flat markdown. Keep it short — Copilot has limited context window.
46
+ - **Gemini**: System prompt style. Second person, instructional.
47
+ - **Windsurf**: Progressive disclosure. Include cascade rules.
48
+
49
+ ## Generation rules
50
+
51
+ 1. Only generate for platforms actually detected in the project.
52
+ 2. Keep each file under 200 lines — they're companions to AGENTS.md, not replacements.
53
+ 3. Include a pointer back to AGENTS.md: `> Full rules in @AGENTS.md`
54
+ 4. Use managed blocks (`<!-- AGENTS-GENERATED-START -->` / `<!-- AGENTS-GENERATED-END -->`) to preserve human edits.
@@ -0,0 +1,46 @@
1
+ # SDD Workflow
2
+
3
+ Software Design Document — design before implementing.
4
+
5
+ ## Preflight Defaults (cached, do not re-ask)
6
+
7
+ - **Pace**: {{SDD_PACE}}
8
+ - **Artifacts**: {{SDD_ARTIFACTS}}
9
+ - **Delivery strategy**: {{SDD_DELIVERY}}
10
+ - **Review budget**: {{SDD_REVIEW_BUDGET}} lines
11
+ - **Chain strategy**: {{SDD_CHAIN_STRATEGY}}
12
+
13
+ ## Rules
14
+
15
+ - Sub-agents can make errors (duplicate blocks, wrong types) — always review their output.
16
+ - After each SDD phase: run the full verification cycle.
17
+ - On archive: verify all tasks marked done, delta specs synced to main specs.
18
+
19
+ ## Post-Apply Verification (MANDATORY)
20
+
21
+ After `sdd-apply` completes and before advancing to `sdd-verify`, the orchestrator MUST run the verification cycle:
22
+
23
+ ```
24
+ {{VERIFICATION_CYCLE}}
25
+ ```
26
+
27
+ {{MONOREPO_POST_APPLY}}
28
+ {{DOCTOR_POST_APPLY}}
29
+
30
+ ## Spec Verification
31
+
32
+ Project specs are located at:
33
+ {{SPECS_LOCATIONS}}
34
+
35
+ Consult these sources before making architectural changes or adding new features.
36
+
37
+ ## Generation Rules
38
+
39
+ - **SDD_PACE**: "Interactive" by default. "Automatic" if the project uses auto in CI.
40
+ - **SDD_ARTIFACTS**: "both" if OpenSpec + Engram exist, "openspec" if only OpenSpec, "engram" if only Engram.
41
+ - **SDD_DELIVERY**: "ask-on-risk" by default. "exception-ok" if the project prefers large PRs.
42
+ - **SDD_REVIEW_BUDGET**: 400 by default. Adjust based on the project's typical PR size.
43
+ - **SDD_CHAIN_STRATEGY**: "stacked-to-main" if fast merge, "feature-branch-chain" if long feature branches.
44
+ - **MONOREPO_POST_APPLY**: If monorepo, add shared package rebuild steps before the cycle.
45
+ - **DOCTOR_POST_APPLY**: If react-doctor exists, add rule about new issues.
46
+ - **SPECS_LOCATIONS**: List docs/specs/, OpenSpec, relevant Engram topics.
@@ -0,0 +1,36 @@
1
+ # Server Actions / Backend
2
+
3
+ ## Entry Point
4
+
5
+ {{ENTRY_POINT_DESCRIPTION}}
6
+
7
+ ## Flow
8
+
9
+ {{REQUEST_FLOW}}
10
+
11
+ ## {{RESPONSE_TYPE_TITLE}}
12
+
13
+ {{RESPONSE_TYPE}}
14
+
15
+ ## Error Handling
16
+
17
+ {{ERROR_HANDLING}}
18
+
19
+ ## Rate Limiting
20
+
21
+ {{RATE_LIMITING}}
22
+
23
+ ## Generation Rules
24
+
25
+ - **ENTRY_POINT_DESCRIPTION**:
26
+ - Server actions: main file(s), exported function(s), parameters.
27
+ - API Routes: files in app/api/, HTTP methods, parameters.
28
+ - NestJS: main controllers, guards, DTOs.
29
+ - **REQUEST_FLOW**: Numbered steps of a typical request flow (validation → rate limit → logic → response).
30
+ - **RESPONSE_TYPE_TITLE**: "DownloadResult", "ApiResponse", or the main response type name.
31
+ - **RESPONSE_TYPE**: Interface/type of the response, with comments on optional vs required fields.
32
+ - **ERROR_HANDLING**:
33
+ - If ErrorCode enum exists: document it with all codes.
34
+ - If GlobalExceptionFilter exists: document it.
35
+ - If detectErrorCode or similar exists: document the heuristic.
36
+ - **RATE_LIMITING**: If rate-limit.ts or middleware exists: document mechanism, limits, expiry.