@codedrifters/configulator 0.0.161 → 0.0.163

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.
package/lib/index.mjs CHANGED
@@ -407,6 +407,23 @@ var baseBundle = {
407
407
  ].join("\n"),
408
408
  tags: ["project"]
409
409
  },
410
+ {
411
+ name: "reference-documentation",
412
+ description: "Consult project rules, documentation, and existing code before answering or making changes",
413
+ scope: AGENT_RULE_SCOPE.ALWAYS,
414
+ content: [
415
+ "# Reference Documentation",
416
+ "",
417
+ "Before answering questions or making changes, always consult available project context.",
418
+ "",
419
+ "1. **Read project rules and guidelines** \u2014 check for agent rules, contribution guides, and coding standards defined in the project.",
420
+ "2. **Review existing code** \u2014 understand current patterns, conventions, and architecture before proposing changes. Look at similar files and modules for reference.",
421
+ "3. **Check documentation** \u2014 consult README files, inline documentation, and any design documents for relevant context.",
422
+ "4. **Respect established patterns** \u2014 follow the conventions already in use rather than introducing new ones without discussion.",
423
+ "5. **Verify before assuming** \u2014 if documentation or code conflicts with your assumptions, trust the project sources and ask for clarification when needed."
424
+ ].join("\n"),
425
+ tags: ["project"]
426
+ },
410
427
  {
411
428
  name: "interaction-style",
412
429
  description: "Interaction style \u2014 ask questions one at a time and wait for feedback",
@@ -416,12 +433,13 @@ var baseBundle = {
416
433
  "",
417
434
  "When responding to requests, follow these interaction principles.",
418
435
  "",
419
- "1. **Ask questions one at a time**: When clarification is needed, ask a single question and wait for the user's response before proceeding.",
420
- "2. **Wait for feedback**: After asking a question, pause and wait for the user's answer before asking additional questions or making assumptions.",
421
- "3. **Avoid question overload**: Do not ask multiple questions in a single response. If multiple clarifications are needed, prioritize the most important question first.",
422
- "4. **Progressive clarification**: Once the user answers your first question, you may then ask the next most important question if needed.",
423
- "5. **Confirm understanding**: After receiving feedback, acknowledge the user's response before proceeding with the next step or question.",
424
- "6. **Be patient**: Do not rush ahead with assumptions. It is better to ask one clarifying question than to proceed with incorrect assumptions."
436
+ "1. **Ask when ambiguous**: When requirements are ambiguous or incomplete, always ask clarifying questions before proceeding. Do not make assumptions about the user's intent \u2014 it is better to ask than to guess wrong.",
437
+ "2. **Ask questions one at a time**: When clarification is needed, ask a single question and wait for the user's response before proceeding.",
438
+ "3. **Wait for feedback**: After asking a question, pause and wait for the user's answer before asking additional questions or making assumptions.",
439
+ "4. **Avoid question overload**: Do not ask multiple questions in a single response. If multiple clarifications are needed, prioritize the most important question first.",
440
+ "5. **Progressive clarification**: Once the user answers your first question, you may then ask the next most important question if needed.",
441
+ "6. **Confirm understanding**: After receiving feedback, acknowledge the user's response before proceeding with the next step or question.",
442
+ "7. **Be patient**: Do not rush ahead with assumptions. It is better to ask one clarifying question than to proceed with incorrect assumptions."
425
443
  ].join("\n"),
426
444
  tags: ["project"]
427
445
  },
@@ -1147,7 +1165,27 @@ var typescriptBundle = {
1147
1165
  "- **Functions/Methods**: camelCase (e.g., `configureProject`)",
1148
1166
  "- **Constants**: UPPER_SNAKE_CASE (e.g., `VERSION`, `AWS_STAGE_TYPE`)",
1149
1167
  "- **Files**: kebab-case for multi-word files (e.g., `aws-deployment-config.ts`)",
1150
- "- **Private members**: No prefix needed (TypeScript handles visibility)"
1168
+ "- **Component file naming**: kebab-case filename must mirror the PascalCase class name (e.g., `ResetTask` \u2192 `reset-task.ts`)",
1169
+ "- **Private members**: No prefix needed (TypeScript handles visibility)",
1170
+ "",
1171
+ "## Array Type Syntax",
1172
+ "",
1173
+ "- Prefer `Array<T>` over `T[]` for readability",
1174
+ "- For nested generics this is especially important: `Array<Array<string>>` is clearer than `string[][]`",
1175
+ "",
1176
+ "## Enum Preference",
1177
+ "",
1178
+ "- Prefer `as const` objects over TypeScript `enum` declarations",
1179
+ "- `as const` objects are more flexible: they support computed values, work with `keyof typeof`, and tree-shake better",
1180
+ "- Example:",
1181
+ " ```typescript",
1182
+ " // Prefer this:",
1183
+ " const Status = { Active: 'active', Inactive: 'inactive' } as const;",
1184
+ " type Status = (typeof Status)[keyof typeof Status];",
1185
+ "",
1186
+ " // Over this:",
1187
+ " enum Status { Active = 'active', Inactive = 'inactive' }",
1188
+ " ```"
1151
1189
  ].join("\n"),
1152
1190
  tags: ["coding"]
1153
1191
  }