code-ai-installer 1.1.4 → 1.1.5

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 (79) hide show
  1. package/README.md +4 -0
  2. package/dist/banner.d.ts +4 -0
  3. package/dist/banner.js +35 -0
  4. package/dist/index.js +39 -0
  5. package/dist/sourceResolver.d.ts +2 -0
  6. package/dist/sourceResolver.js +27 -5
  7. package/dist/types.d.ts +1 -0
  8. package/locales/en/.agents/a11y_baseline/SKILL.md +41 -0
  9. package/locales/en/.agents/adr_log/SKILL.md +69 -0
  10. package/locales/en/.agents/api_contract_compliance_review/SKILL.md +18 -0
  11. package/locales/en/.agents/api_contracts/SKILL.md +42 -0
  12. package/locales/en/.agents/architecture_compliance_review/SKILL.md +17 -0
  13. package/locales/en/.agents/architecture_doc/SKILL.md +92 -0
  14. package/locales/en/.agents/board/SKILL.md +43 -0
  15. package/locales/en/.agents/cloud_infrastructure_security/SKILL.md +68 -0
  16. package/locales/en/.agents/code_review_checklist/SKILL.md +47 -0
  17. package/locales/en/.agents/current_state_analysis/SKILL.md +44 -0
  18. package/locales/en/.agents/data_model/SKILL.md +40 -0
  19. package/locales/en/.agents/dependency_supply_chain_review/SKILL.md +20 -0
  20. package/locales/en/.agents/deployment_ci_plan/SKILL.md +51 -0
  21. package/locales/en/.agents/design_intake/SKILL.md +71 -0
  22. package/locales/en/.agents/design_parity_review/SKILL.md +73 -0
  23. package/locales/en/.agents/design_systems/SKILL.md +15 -0
  24. package/locales/en/.agents/dev_reference_snippets/SKILL.md +397 -0
  25. package/locales/en/.agents/docker_kubernetes_architecture/SKILL.md +144 -0
  26. package/locales/en/.agents/es2025_beast_practices/SKILL.md +15 -0
  27. package/locales/en/.agents/gates/SKILL.md +35 -0
  28. package/locales/en/.agents/go_beast_practices/SKILL.md +23 -0
  29. package/locales/en/.agents/handoff/SKILL.md +52 -0
  30. package/locales/en/.agents/k8s_manifests_conventions/SKILL.md +175 -0
  31. package/locales/en/.agents/memory/SKILL.md +29 -0
  32. package/locales/en/.agents/mongodb_mongoose_best_practices/SKILL.md +233 -0
  33. package/locales/en/.agents/node_express_beast_practices/SKILL.md +30 -0
  34. package/locales/en/.agents/observability_logging/SKILL.md +16 -0
  35. package/locales/en/.agents/observability_plan/SKILL.md +38 -0
  36. package/locales/en/.agents/observability_review/SKILL.md +20 -0
  37. package/locales/en/.agents/performance_review_baseline/SKILL.md +17 -0
  38. package/locales/en/.agents/pm_backlog/SKILL.md +32 -0
  39. package/locales/en/.agents/pm_interview/SKILL.md +56 -0
  40. package/locales/en/.agents/pm_prd/SKILL.md +56 -0
  41. package/locales/en/.agents/qa_api_contract_tests/SKILL.md +16 -0
  42. package/locales/en/.agents/qa_e2e_playwright/SKILL.md +0 -0
  43. package/locales/en/.agents/qa_manual_run/SKILL.md +16 -0
  44. package/locales/en/.agents/qa_security_smoke_tests/SKILL.md +14 -0
  45. package/locales/en/.agents/qa_test_plan/SKILL.md +20 -0
  46. package/locales/en/.agents/qa_ui_a11y_smoke/SKILL.md +12 -0
  47. package/locales/en/.agents/react_15_3_wix_iframe/SKILL.md +20 -0
  48. package/locales/en/.agents/react_beast_practices/SKILL.md +29 -0
  49. package/locales/en/.agents/release_gate/SKILL.md +77 -0
  50. package/locales/en/.agents/release_gate_checklist_template/SKILL.md +68 -0
  51. package/locales/en/.agents/review_reference_snippets/SKILL.md +436 -0
  52. package/locales/en/.agents/security_baseline_dev/SKILL.md +16 -0
  53. package/locales/en/.agents/security_review/SKILL.md +55 -0
  54. package/locales/en/.agents/security_review_baseline/SKILL.md +25 -0
  55. package/locales/en/.agents/state_rtk_beast_practices/SKILL.md +15 -0
  56. package/locales/en/.agents/state_zustand_beast_practices/SKILL.md +11 -0
  57. package/locales/en/.agents/styling_css_stack/SKILL.md +12 -0
  58. package/locales/en/.agents/system_design_checklist/SKILL.md +48 -0
  59. package/locales/en/.agents/tanstack_beast_practices/SKILL.md +19 -0
  60. package/locales/en/.agents/tdd_workflow/SKILL.md +34 -0
  61. package/locales/en/.agents/testing_strategy_js/SKILL.md +30 -0
  62. package/locales/en/.agents/tests_quality_review/SKILL.md +18 -0
  63. package/locales/en/.agents/threat_model_baseline/SKILL.md +57 -0
  64. package/locales/en/.agents/tooling_bun_biome/SKILL.md +17 -0
  65. package/locales/en/.agents/typescript_beast_practices/SKILL.md +15 -0
  66. package/locales/en/.agents/ui_a11y_smoke_review/SKILL.md +15 -0
  67. package/locales/en/.agents/ui_inventory/SKILL.md +50 -0
  68. package/locales/en/.agents/ux_discovery/SKILL.md +48 -0
  69. package/locales/en/.agents/ux_spec/SKILL.md +56 -0
  70. package/locales/en/.agents/wix_self_hosted_embedded_script/SKILL.md +88 -0
  71. package/locales/en/AGENTS.md +120 -0
  72. package/locales/en/agents/architect.md +239 -0
  73. package/locales/en/agents/conductor.md +205 -0
  74. package/locales/en/agents/product_manager.md +119 -0
  75. package/locales/en/agents/reviewer.md +200 -0
  76. package/locales/en/agents/senior_full_stack.md +216 -0
  77. package/locales/en/agents/tester.md +186 -0
  78. package/locales/en/agents/ux_ui_designer.md +144 -0
  79. package/package.json +3 -2
package/README.md CHANGED
@@ -47,12 +47,15 @@ code-ai targets
47
47
 
48
48
  # list available agents and skills from current repository
49
49
  code-ai list
50
+ code-ai list --lang en
50
51
 
51
52
  # health checks
52
53
  code-ai doctor --target claude
54
+ code-ai doctor --target claude --lang en
53
55
 
54
56
  # dry-run install (default)
55
57
  code-ai install --target claude --agents conductor,reviewer --skills board,security_review
58
+ code-ai install --target claude --lang en --agents conductor,reviewer --skills board,security_review
56
59
 
57
60
  # install into a newly created folder under current directory
58
61
  code-ai install --target gpt-codex --create-dir my-new-project --agents all --skills all --apply
@@ -99,3 +102,4 @@ code-ai uninstall --target claude --apply
99
102
  - Target aliases are accepted: `copilot`, `codex`, `claude`, `qwen`, `google`, `antigravity`.
100
103
  - If your AI tool requires a custom location, pass `--destination <path>`.
101
104
  - Source templates are resolved automatically: current directory first, bundled package templates second.
105
+ - Template language is selectable via `--lang ru|en` (default: `ru`).
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Prints CODE-AI startup banner with green gradient.
3
+ */
4
+ export declare function printBanner(): void;
package/dist/banner.js ADDED
@@ -0,0 +1,35 @@
1
+ import chalk from "chalk";
2
+ const CODE_AI_ASCII = [
3
+ " ██████╗ ██████╗ ██████╗ ███████╗ █████╗ ██╗",
4
+ " ██╔════╝██╔═══██╗██╔══██╗██╔════╝ ██╔══██╗██║",
5
+ " ██║ ██║ ██║██║ ██║█████╗ ███████║██║",
6
+ " ██║ ██║ ██║██║ ██║██╔══╝ ██╔══██║██║",
7
+ " ╚██████╗╚██████╔╝██████╔╝███████╗ ██║ ██║██║",
8
+ " ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝╚═╝",
9
+ ];
10
+ /**
11
+ * Prints CODE-AI startup banner with green gradient.
12
+ */
13
+ export function printBanner() {
14
+ const width = Math.max(...CODE_AI_ASCII.map((line) => line.length));
15
+ const start = { r: 64, g: 224, b: 128 };
16
+ const end = { r: 16, g: 120, b: 72 };
17
+ for (let row = 0; row < CODE_AI_ASCII.length; row += 1) {
18
+ const line = CODE_AI_ASCII[row];
19
+ let out = "";
20
+ for (let i = 0; i < line.length; i += 1) {
21
+ const ch = line[i];
22
+ if (ch === " ") {
23
+ out += ch;
24
+ continue;
25
+ }
26
+ const t = width <= 1 ? 0 : i / (width - 1);
27
+ const r = Math.round(start.r + (end.r - start.r) * t);
28
+ const g = Math.round(start.g + (end.g - start.g) * t);
29
+ const b = Math.round(start.b + (end.b - start.b) * t);
30
+ out += chalk.rgb(r, g, b)(ch);
31
+ }
32
+ process.stdout.write(`${out}\n`);
33
+ }
34
+ process.stdout.write(`${chalk.green("Code-AI installer wizard")}\n\n`);
35
+ }
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ import { runInstall, runUninstall } from "./installer.js";
9
9
  import { error, info, success, warn } from "./logger.js";
10
10
  import { getPlatformAdapters } from "./platforms/adapters.js";
11
11
  import { resolveSourceRoot } from "./sourceResolver.js";
12
+ import { printBanner } from "./banner.js";
12
13
  const program = new Command();
13
14
  const packageRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
14
15
  program
@@ -29,12 +30,15 @@ program
29
30
  .command("list")
30
31
  .description("List available bundled agents and skills")
31
32
  .option("--project-dir <path>", "Optional custom source root path")
33
+ .option("--lang <lang>", "Template language: ru | en", "ru")
32
34
  .action(async (options) => {
33
35
  try {
36
+ const language = normalizeLanguage(options.lang);
34
37
  const projectDir = await resolveSourceRoot({
35
38
  projectDirOption: options.projectDir,
36
39
  cwd: process.cwd(),
37
40
  packageRoot,
41
+ language,
38
42
  });
39
43
  const catalog = await loadSourceCatalog(projectDir);
40
44
  const agents = listAgentNames(catalog);
@@ -54,13 +58,16 @@ program
54
58
  .requiredOption("--target <id>", "Target AI id")
55
59
  .option("--project-dir <path>", "Optional custom source root path")
56
60
  .option("--destination <path>", "Destination root (default: current directory)")
61
+ .option("--lang <lang>", "Template language: ru | en", "ru")
57
62
  .action(async (options) => {
58
63
  try {
59
64
  const target = normalizeTarget(options.target);
65
+ const language = normalizeLanguage(options.lang);
60
66
  const projectDir = await resolveSourceRoot({
61
67
  projectDirOption: options.projectDir,
62
68
  cwd: process.cwd(),
63
69
  packageRoot,
70
+ language,
64
71
  });
65
72
  const destinationDir = path.resolve(options.destination ?? process.cwd());
66
73
  const report = await runDoctor(projectDir, destinationDir, target);
@@ -93,6 +100,7 @@ program
93
100
  .option("--project-dir <path>", "Optional custom source root path")
94
101
  .option("--destination <path>", "Destination root (default: current directory)")
95
102
  .option("--create-dir <name>", "Create child folder in current directory and install there")
103
+ .option("--lang <lang>", "Template language: ru | en", "ru")
96
104
  .option("--agents <list>", "Comma list of agents or 'all'", "all")
97
105
  .option("--skills <list>", "Comma list of skills or 'all'", "all")
98
106
  .option("--overwrite", "Overwrite existing files", false)
@@ -101,10 +109,12 @@ program
101
109
  .action(async (options) => {
102
110
  try {
103
111
  const target = normalizeTarget(options.target);
112
+ const language = normalizeLanguage(options.lang);
104
113
  const projectDir = await resolveSourceRoot({
105
114
  projectDirOption: options.projectDir,
106
115
  cwd: process.cwd(),
107
116
  packageRoot,
117
+ language,
108
118
  });
109
119
  const baseDestination = path.resolve(options.destination ?? process.cwd());
110
120
  const destinationDir = options.createDir ? path.join(baseDestination, options.createDir) : baseDestination;
@@ -185,9 +195,26 @@ program
185
195
  * Runs interactive installer workflow when no subcommand is provided.
186
196
  */
187
197
  async function runInteractiveWizard() {
198
+ printBanner();
199
+ const languageAnswer = await prompts({
200
+ type: "select",
201
+ name: "language",
202
+ message: "Выбери язык шаблонов:",
203
+ choices: [
204
+ { title: "Русский (ru)", value: "ru" },
205
+ { title: "English (en)", value: "en" },
206
+ ],
207
+ initial: 0,
208
+ });
209
+ if (!languageAnswer.language) {
210
+ warn("Установка отменена.");
211
+ return;
212
+ }
213
+ const language = normalizeLanguage(languageAnswer.language);
188
214
  const sourceRoot = await resolveSourceRoot({
189
215
  cwd: process.cwd(),
190
216
  packageRoot,
217
+ language,
191
218
  });
192
219
  const catalog = await loadSourceCatalog(sourceRoot);
193
220
  const adapters = getPlatformAdapters();
@@ -358,6 +385,18 @@ function normalizeTarget(rawTarget) {
358
385
  }
359
386
  return normalized;
360
387
  }
388
+ /**
389
+ * Normalizes template language code.
390
+ * @param rawLanguage Raw language value.
391
+ * @returns Normalized template language.
392
+ */
393
+ function normalizeLanguage(rawLanguage) {
394
+ const value = rawLanguage.trim().toLowerCase();
395
+ if (value === "ru" || value === "en") {
396
+ return value;
397
+ }
398
+ throw new Error(`Unsupported language '${rawLanguage}'. Use 'ru' or 'en'.`);
399
+ }
361
400
  if (process.argv.length <= 2) {
362
401
  runInteractiveWizard().catch((err) => {
363
402
  error(err.message);
@@ -1,3 +1,4 @@
1
+ import type { TemplateLanguage } from "./types.js";
1
2
  /**
2
3
  * Resolves source root with agent templates.
3
4
  * @param args Resolution arguments.
@@ -7,4 +8,5 @@ export declare function resolveSourceRoot(args: {
7
8
  projectDirOption?: string;
8
9
  cwd: string;
9
10
  packageRoot: string;
11
+ language: TemplateLanguage;
10
12
  }): Promise<string>;
@@ -13,13 +13,23 @@ export async function resolveSourceRoot(args) {
13
13
  }
14
14
  throw new Error(`Invalid --project-dir: ${explicitPath}. Required: AGENTS.md, agents/, and .agents/.`);
15
15
  }
16
+ const bundledPath = getBundledPath(args.packageRoot, args.language);
16
17
  const cwdPath = path.resolve(args.cwd);
17
- if (await isValidSourceRoot(cwdPath)) {
18
- return cwdPath;
18
+ if (args.language === "en") {
19
+ if (await isValidSourceRoot(bundledPath)) {
20
+ return bundledPath;
21
+ }
22
+ if (await isValidSourceRoot(cwdPath)) {
23
+ return cwdPath;
24
+ }
19
25
  }
20
- const bundledPath = path.resolve(args.packageRoot);
21
- if (await isValidSourceRoot(bundledPath)) {
22
- return bundledPath;
26
+ else {
27
+ if (await isValidSourceRoot(cwdPath)) {
28
+ return cwdPath;
29
+ }
30
+ if (await isValidSourceRoot(bundledPath)) {
31
+ return bundledPath;
32
+ }
23
33
  }
24
34
  throw new Error(`Could not find source templates in current directory or bundled package. Checked: ${cwdPath} and ${bundledPath}`);
25
35
  }
@@ -34,3 +44,15 @@ async function isValidSourceRoot(rootDir) {
34
44
  const dotAgentsDir = path.join(rootDir, ".agents");
35
45
  return (await fs.pathExists(orchestratorPath)) && (await fs.pathExists(agentsDir)) && (await fs.pathExists(dotAgentsDir));
36
46
  }
47
+ /**
48
+ * Returns bundled templates root for selected language.
49
+ * @param packageRoot Installed package root.
50
+ * @param language Template language.
51
+ * @returns Absolute bundled source path.
52
+ */
53
+ function getBundledPath(packageRoot, language) {
54
+ if (language === "en") {
55
+ return path.resolve(packageRoot, "locales", "en");
56
+ }
57
+ return path.resolve(packageRoot);
58
+ }
package/dist/types.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  * Supported AI target identifiers.
3
3
  */
4
4
  export type TargetId = "vscode-copilot" | "claude" | "qwen-3.5" | "google-antugravity" | "gpt-codex";
5
+ export type TemplateLanguage = "ru" | "en";
5
6
  /**
6
7
  * Defines one source file and destination path copy action.
7
8
  */
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: a11y_baseline
3
+ description: Minimum baseline accessibility for web UI: keyboard navigation, focus management, form labels, ARIA for interactive components, error messages.
4
+ ---
5
+
6
+ #Skill: A11y Baseline (minimum)
7
+
8
+ ## Goal
9
+ Set minimum accessibility requirements that can be tested and implemented in the MVP.
10
+
11
+ ## Exit
12
+ List of a11y requirements for the project + notes on key components.
13
+
14
+ ## Minimum Requirements (MVP)
15
+ 1) **Keyboard navigation**
16
+ - All interactive elements are accessible from the keyboard
17
+ - Tab order is logical
18
+ - No trick traps
19
+
20
+ 2) **Focus states**
21
+ - Visible focus for all interactive elements
22
+ - In modals: focus moves inside and returns back when closed
23
+
24
+ 3) **Forms**
25
+ - Each field has a label (visible or aria-label)
26
+ - Errors are assigned to a field (the error description is read by assistive technologies)
27
+ - Required fields are marked and clear
28
+
29
+ 4) **ARIA (where needed)**
30
+ - Dialog: role="dialog" + aria-modal
31
+ - Tabs, dropdowns, comboboxes - correct roles/attributes (if we use custom ones)
32
+
33
+ 5) **Error messaging**
34
+ - Errors are clear, without “unknown error”
35
+ - There are actions: retry/close/fix
36
+
37
+ ## Receipt for tester
38
+ - You can go through key flows without a mouse
39
+ - In modal, focus does not leak
40
+ - Forms announce label/errors
41
+ - Custom components have ARIA and work with assistive technologies
@@ -0,0 +1,69 @@
1
+ ---
2
+ name:adr_log
3
+ description: Record key architectural decisions (ADR) with trade-offs: Pros/Cons/Alternatives/Decision, status and date.
4
+ ---
5
+
6
+ #Skill: ADR Log
7
+
8
+ ## Goal
9
+ Don’t lose track of “why we did this” and simplify review/support.
10
+
11
+ ## When to use
12
+ - For every non-trivial choice: database, auth, cache, module structure, API format, error strategy, queues, search, deployment, integrations, etc.
13
+
14
+ ## ADR format (required)
15
+ # ADR-XXX: <Name>
16
+
17
+ ## Context
18
+ <why is this necessary, what are the limitations, what hurts>
19
+
20
+ ##Decision
21
+ <what you chose and how exactly>
22
+
23
+ ## Consequences
24
+ ### Positive
25
+ - ...
26
+ ###Negative
27
+ - ...
28
+
29
+ ## Alternatives Considered
30
+ - **A**: ...
31
+ - **B**: ...
32
+
33
+ ##Status
34
+ Proposed / Accepted / Deprecated
35
+
36
+ ##Date
37
+ YYYY-MM-DD
38
+
39
+ ## Requirements (strict)
40
+ - For each ADR there must be explicit Pros/Cons/Alternatives and rationale of choice.
41
+ - If the decision affects security/data/cost, be sure to describe the consequences.
42
+ - ADR should be short and specific: without water, but with key arguments.
43
+
44
+ ## Example (short)
45
+ # ADR-001: Selecting the main database
46
+
47
+ ##Context
48
+ You need to store users/sessions/orders. Transactions and complex queries are needed. Expected growth to 100K users.
49
+
50
+ ##Decision
51
+ We use PostgreSQL as the main database.
52
+
53
+ ## Consequences
54
+ ### Positive
55
+ - ACID transactions
56
+ - Rich queries and indexing
57
+ ###Negative
58
+ - Possible need for scaling during growth
59
+ - Operational costs for administration
60
+
61
+ ## Alternatives Considered
62
+ - **MongoDB**: weaker in transactional/complex join scenarios
63
+ - **DynamoDB**: vendor lock-in, more difficult to test locally
64
+
65
+ ##Status
66
+ Accepted
67
+
68
+ ##Date
69
+ 2025-01-15
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: api_contract_compliance_review
3
+ description: Checking the compliance of the API implementation with contracts: schemes, error codes, validation, authorization, idempotency, pagination.
4
+ ---
5
+
6
+ # Skill: API Contract Compliance Review
7
+
8
+ ## Check
9
+ - Endpoints correspond to API Contracts (method/path/request/response)
10
+ - Errors: status + error_code + safe message
11
+ - Border Validation (422 or accepted policy)
12
+ - 401 vs 403 correct
13
+ - Pagination/filters/sorting are implemented if UX is required
14
+ - Idempotency for risky operations (if it was in the contract/ADR)
15
+
16
+ ## Exit
17
+ - Inconsistencies for each endpoint
18
+ - Recommendations (pointwise)
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: api_contracts
3
+ description: API contracts for UX flows: endpoints, schemas, errors, validation, authorization, perf/scalability considerations, idempotency and integration patterns.
4
+ ---
5
+
6
+ # Skill: API Contracts
7
+
8
+ ## Goal
9
+ Make the API predictable, safe and efficient for the client and tests.
10
+
11
+ ## Inputs
12
+ - UX Spec (screens/actions/states)
13
+ - PRD (acceptance criteria)
14
+ - Roles/permissions
15
+
16
+ ## Exit
17
+ ### General rules
18
+ - Unified error format (error_code, message, details)
19
+ - 401 vs 403 distinguish
20
+ - Validation at boundaries
21
+ - Pagination/filters/sorting - if the UI requires
22
+ - Idempotency for create/risk operations (where needed)
23
+ - Versioning (if the public API is expected to grow)
24
+
25
+ ### For each endpoint
26
+ - Method + Path
27
+ - AuthN/AuthZ: required? roles?
28
+ - Request schema (types + restrictions)
29
+ - Response schema
30
+ - Errors:
31
+ - status
32
+ - error_code
33
+ - safe message
34
+ - Perf/scalability notes:
35
+ - limits, pagination, batch, round-trips minimization
36
+
37
+ ### Integrations
38
+ - Webhooks/external APIs: retry/backoff, signature/verification, idempotency
39
+ - Async if justified (event-driven)
40
+
41
+ ## Trade-offs
42
+ If there are controversial areas (for example, CQRS/async), record them as ADR.
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: architecture_compliance_review
3
+ description: Checking code compliance with architecture/ADR: module boundaries, layers, dependencies, conventions, red flags.
4
+ ---
5
+
6
+ #Skill: Architecture Compliance Review
7
+
8
+ ## Check
9
+ - Compliance with modular boundaries (controller/service/repo or similar)
10
+ - Direction of dependencies (UI does not pull data directly, etc.)
11
+ - Lack of red flags: Big Ball of Mud, God Object, Tight Coupling, Magic
12
+ - New “solutions” are issued ADR (if they affect the database/cache/auth/contracts/integrations)
13
+
14
+ ## Exit
15
+ - Findings (P0/P1/P2)
16
+ - Recommendations for refactoring (pointwise)
17
+ - Is ADR required? (yes/no what to describe)
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: architecture_doc
3
+ description: Architectural document on PRD+UX: modules, flows, data, integrations, errors, testability, bottlenecks, growth plan and implementation plan.
4
+ ---
5
+
6
+ # Skill: Architecture Document
7
+
8
+ ## Goal
9
+ Make the architecture implementable, testable, and ready for growth.
10
+
11
+ ## Inputs
12
+ -PRD
13
+ - UX Spec (flows/screens/states)
14
+ - Stack/deployment restrictions
15
+ - (if available) Current State Analysis
16
+
17
+ ## Output (structure)
18
+
19
+ ## 1) Overview
20
+ - What are we building (1 paragraph)
21
+ - Context and limitations
22
+ - Assumptions
23
+
24
+ ## 2) System Context
25
+ - Actors
26
+ - External integrations
27
+ - System boundaries
28
+
29
+ ## 3) High-level Architecture Diagram (text)
30
+ - FE → BE → DB/Cache/External
31
+ - Basic outlines of data and responsibilities
32
+
33
+ ## 4) Modules / Components
34
+ For each component/module:
35
+ - responsibility
36
+ - public interfaces
37
+ - dependencies
38
+ - testing boundaries (unit vs integration)
39
+ - consistency rules (patterns/conventions)
40
+
41
+ ## 5) Flow Mapping (from UX Spec)
42
+ - Flow → endpoints → services → repos → entities
43
+ - Where and why loading/empty/error states occur
44
+ - Error strategy on the UI (what to show to the user)
45
+
46
+ ## 6) Integration Patterns
47
+ - Synchronous calls (HTTP)
48
+ - Asynchronous operations (events/queues) - if justified
49
+ - Idempotency for risky operations
50
+
51
+ ## 7) Error Handling Strategy
52
+ - Unified error format (machine-readable code)
53
+ - 401/403/404/409/422/5xx policy
54
+ - Secure messages (no leaks)
55
+
56
+ ## 8) Testing Strategy
57
+ - Boundaries of unit tests
58
+ - Integration tests (API/DB/integration contracts)
59
+ - A set of “must-have” scenarios for PRD/UX
60
+ - (optional) e2e / visual checks - if the design requires
61
+
62
+ ## 9) Scalability Bottlenecks (anticipation)
63
+ - potential bottlenecks (DB hot spots, N+1, stateful sessions, heavy endpoints)
64
+ - measures: indexes, caching, background tasks, CDN, sharding (if ever needed)
65
+
66
+ ## 10) Growth Plan
67
+ Describe the thresholds and what changes:
68
+ - 10K users: The current architecture is sufficient, but you need to monitor metrics and optimize database queries.
69
+ - 100K users: Implementation of Redis clustering and use of CDN for static resources
70
+ - 1M users: Transition to microservice architecture, dividing databases into reading and writing (Read/Write splitting)
71
+ - 10M users: Event-driven architecture, distributed caching, multi-region deployment
72
+
73
+ ## 11) Implementation Plan
74
+ - Epics/subsystems
75
+ - Vertical slices MVP (minimum 1–3)
76
+ - Dependencies and order
77
+
78
+ ## Quality (checklist)
79
+ - Any UX flow can be traced through modules/API/data
80
+ - Module boundaries reduce cohesion
81
+ - Testability is built in
82
+ - Observability/deployment is not forgotten
83
+
84
+ ## Red Flags
85
+ - Big Ball of Mud: Lack of clear architecture
86
+ - Golden Hammer: Use the same solution for any task
87
+ - Premature Optimization: Optimization at too early stages
88
+ - Not Invented Here: Refusal of ready-made solutions
89
+ - Analysis Paralysis: Too much planning with little implementation
90
+ - Magic: Strange, undocumented behavior
91
+ - Tight Coupling: Too much dependence of components on each other
92
+ - God Object: One class or component that does everything
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: board
3
+ description: Project Board management: creating tasks with ID, statuses ☐/⏳/☑/⚠️, updates after each step, visible checklist in every message from the conductor.
4
+ ---
5
+
6
+ # Skill: Project Board (conductor's checklist)
7
+
8
+ ## Goal
9
+ Provide transparent progress control: who is doing what, what is being blocked, what’s next.
10
+
11
+ ## When to use
12
+ - Immediately after kickoff
13
+ - After every response from any agent
14
+ - When new requirements/bugs/comments appear
15
+
16
+ ## ID Rules
17
+ - Prefixes: `PM-xx`, `UX-xx`, `ARCH-xx`, `DEV-xx`, `REV-xx`, `TEST-xx`
18
+ - Numbering: 01, 02, 03…
19
+ - One task = one verifiable result (artifact/verification).
20
+
21
+ ## Statuses
22
+ - `☐` not started
23
+ - `⏳` at work
24
+ - `☑` ready (there is an artifact + check)
25
+ - `⚠️` blocked (required: reason + withdrawal owner)
26
+
27
+ ## Algorithm
28
+ 1) Create a primary Project Board: 1–3 tasks per role for the next iteration.
29
+ 2) Update statuses at every step:
30
+ - if the agent started - `⏳`
31
+ - if you submitted an artifact and it is accepted - `☑`
32
+ - if input/solution is needed - `⚠️`
33
+ 3) With `⚠️` add the line “Blocker” to the report and the specific next step.
34
+ 4) In each conductor’s message, display the Project Board as the first block.
35
+
36
+ ## Board template (copy as is)
37
+ ###Project Board
38
+ - [ ] (PM-01) ... — Owner: PM — Status: ☐/⏳/☑/⚠️
39
+ - [ ] (UX-01) ... — Owner: UX — Status: ☐/⏳/☑/⚠️
40
+ - [ ] (ARCH-01) ... — Owner: ARCH — Status: ☐/⏳/☑/⚠️
41
+ - [ ] (DEV-01) ... — Owner: DEV — Status: ☐/⏳/☑/⚠️
42
+ - [ ] (REV-01) ... — Owner: REV — Status: ☐/⏳/☑/⚠️
43
+ - [ ] (TEST-01) ... — Owner: TEST — Status: ☐/⏳/☑/⚠️
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: cloud_infrastructure_security
3
+ description: Security review of cloud/infra/CI/CD: IAM, secrets manager, network, logging/monitoring, supply chain, CDN/WAF, backup/DR.
4
+ ---
5
+
6
+ #Skill: Cloud & Infrastructure Security
7
+
8
+ ## When to activate
9
+ - Deploy to AWS/Vercel/Railway/Cloudflare, etc.
10
+ - IAM policies/roles
11
+ - CI/CD pipelines
12
+ - IaC (Terraform/CloudFormation)
13
+ - Secrets management in the cloud
14
+ - CDN/WAF/edge security
15
+ - Backup/Recovery/DR
16
+
17
+ ## Cloud Security Checklist
18
+ 1) IAM & Access Control
19
+ - least privilege, no wildcard
20
+ - MFA for privileged accounts
21
+ - no root usage in prod
22
+ - regular access review
23
+
24
+ 2) Secrets Management
25
+ - platform secrets manager
26
+ - rotation for DB credentials (if applicable)
27
+ - audit of access to secrets
28
+ - prohibition of leaks in logs/errors
29
+
30
+ 3) Network Security
31
+ - DB is not public
32
+ - SSH/RDP only via VPN/bastion
33
+ - security groups/NACL least privilege
34
+ - flow logs (if available)
35
+
36
+ 4) Logging & Monitoring
37
+ - audit of admin actions
38
+ - log retention (for example 90+ days if necessary)
39
+ - alerts for anomalies/failed auth
40
+
41
+ 5) CI/CD Pipeline Security
42
+ - OIDC instead of long-lived credentials
43
+ - secret scanning
44
+ - dependency audit
45
+ - image scanning (if containers)
46
+ - branch protection / required reviews
47
+
48
+ 6) CDN/WAF (Cloudflare and analogues)
49
+ - WAF managed rules (OWASP)
50
+ - rate limiting/bot protection
51
+ - security headers
52
+ - strict TLS
53
+
54
+ 7) Backup & Disaster Recovery
55
+ - automated backups + retention
56
+ - PITR (if necessary)
57
+ - periodic recovery testing
58
+ - documented RPO/RTO
59
+
60
+ ## Pre-Deployment Checklist (short)
61
+ IAM / Secrets / Network / Logging / Monitoring / CI/CD / WAF / Encryption / Backups / Runbooks / Incident plan
62
+
63
+ ## Exit
64
+ - Findings P0/P1/P2 + specific fixes/settings
65
+ - What to add to CI and what checks are required
66
+
67
+ ## See also
68
+ - Examples and anti-examples: $review_reference_snippets
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: code_review_checklist
3
+ description: Universal review checklist: code quality, readability, testability, security, contracts, DoD.
4
+ ---
5
+
6
+ # Skill: Code Review Checklist
7
+
8
+ ## Goal
9
+ Quickly evaluate PR for completeness and compliance with standards.
10
+
11
+ ## Checklist
12
+ ### Code Quality
13
+ - [ ] Clear names, small functions/modules
14
+ - [ ] No duplication without reason
15
+ - [ ] No “magic” (unobvious side effects)
16
+ - [ ] Boundaries of layers/modules are respected
17
+
18
+ ### Architecture
19
+ - [ ] Corresponds to Architecture Doc / ADR
20
+ - [ ] No Tight Coupling / God Object / Big Ball of Mud
21
+ - [ ] New solutions are recorded by ADR if necessary
22
+
23
+ ### API & Data
24
+ - [ ] Contracts are met (schemas, codes, errors)
25
+ - [ ] Validation at the border
26
+ - [ ] Data/migration model is consistent
27
+
28
+ ###Tests
29
+ - [ ] Unit + Integration tests added/updated
30
+ - [ ] Covered happy + edge + error paths
31
+ - [ ] No flakes/dependencies of tests on each other
32
+
33
+ ###Security
34
+ - [ ] AuthZ on the server
35
+ - [ ] No secrets in code/logs
36
+ - [ ] Safe errors (no stack/SQL/PII)
37
+ - [ ] Dependency hygiene
38
+
39
+ ### Observability & Ops
40
+ - [ ] request_id/trace_id correlation (if applicable)
41
+ - [ ] Logs are structured, without PII/secrets
42
+ - [ ] Startup/check instructions present
43
+
44
+ ## Exit
45
+ - PASS: ...
46
+ - MISSING: ...
47
+ - Findings P0/P1/P2