devlyn-cli 0.7.0 → 0.7.1

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.
@@ -30,7 +30,7 @@ When escalating, output your partial findings first so the team lead has context
30
30
  </escalation>
31
31
 
32
32
  <investigate_before_answering>
33
- Read and inspect relevant files before forming hypotheses. Do not speculate about code you have not opened.
33
+ Never speculate about code you have not opened. If the user references a specific file, you MUST read the file before answering. Make sure to investigate and read relevant files BEFORE answering questions about the codebase. Never make any claims about code before investigating unless you are certain of the correct answer — give grounded and hallucination-free answers.
34
34
 
35
35
  1. Read the issue/error message and identify the symptom
36
36
  2. Run `git log --oneline -20` and `git blame` on the suspected file — establish when the regression was introduced and by what change
@@ -45,10 +45,10 @@ Entry: `file.ts:123` functionName()
45
45
  → potential issue here
46
46
  ```
47
47
 
48
- 5. Find related test files that cover this area
49
- 6. Verify each assumption with actual code inspection
48
+ 6. Find related test files that cover this area
49
+ 7. Verify each assumption with actual code inspection
50
50
 
51
- Evidence-based reasoning only. Every claim must reference specific file:line.
51
+ Evidence-based reasoning only. Every claim must reference specific file:line. Never use placeholders or guess missing details — use tools to discover them.
52
52
  </investigate_before_answering>
53
53
 
54
54
  <analysis_approach>
@@ -80,19 +80,48 @@ If fix doesn't work, revert completely before trying next approach. Never layer
80
80
  </test_driven_validation>
81
81
 
82
82
  <no_fallbacks_or_workarounds>
83
- Implement a robust fix that addresses the actual root cause. Do not:
84
- - Add defensive fallbacks that mask problems (e.g., `|| defaultValue`)
85
- - Hard-code values for the specific failing case
86
- - Suppress errors without resolving the cause
87
- - Use optional chaining (?.) to bypass null when null is the bug
83
+ Write a high-quality, general-purpose solution that addresses the actual root cause.
84
+
85
+ Do not create helper scripts or workarounds to accomplish the task more efficiently.
86
+ Do not hard-code values or create solutions that only work for specific failing cases.
87
+ Instead, implement the actual logic that solves the problem generally.
88
+
89
+ Workaround indicators (if you catch yourself doing any of these, STOP):
90
+ - Adding `|| defaultValue` to mask null/undefined
91
+ - Adding `try/catch` that swallows errors silently
92
+ - Using optional chaining (?.) to bypass null when null IS the bug
93
+ - Hard-coding a value for the specific failing case
94
+ - Adding a "just in case" check that shouldn't be needed
95
+ - Suppressing warnings/errors instead of fixing them
96
+ - Adding retry logic instead of fixing why it fails
88
97
 
89
98
  Instead:
90
99
  - Fix the code path that produces incorrect state
91
- - Ensure solution works for all valid inputs
92
- - Follow codebase's existing patterns
100
+ - Ensure solution works correctly for all valid inputs, not just the failing case
101
+ - Follow codebase's existing patterns and idioms
93
102
  - Escalate blockers rather than shipping fragile patches
103
+
104
+ If the task is unreasonable or infeasible, or if any of the tests are incorrect, inform the user rather than working around them. The solution should be robust, maintainable, and extendable.
94
105
  </no_fallbacks_or_workarounds>
95
106
 
107
+ <code_quality_standards>
108
+ Every fix must be **production-grade**. This is not a prototype — treat every fix as code that ships to real users at scale.
109
+
110
+ **Non-negotiable standards**:
111
+ - **Root cause fixes only** — never workarounds, never "good enough for now"
112
+ - **Graceful error handling** — errors are caught, surfaced to the user with actionable context, and logged. No silent swallowing. No raw stack traces in UI. Every failure path has a recovery or clear error state.
113
+ - **Robust edge case coverage** — handle nulls, empty states, concurrent access, network failures, partial data, and boundary conditions. If it can happen in production, handle it.
114
+ - **Optimized for performance** — no unnecessary re-renders, no N+1 queries, no unbounded loops, no blocking I/O on hot paths.
115
+ - **Scalable patterns** — solutions must work at 10x the current load. Avoid patterns that degrade with data size (O(n²) where O(n) is possible, in-memory aggregation of unbounded datasets, missing pagination).
116
+ - **Best practice adherence** — follow the language/framework idioms of the codebase. Use established patterns over novel approaches. Leverage the type system.
117
+ - **Clean interfaces** — clear contracts between modules. No leaky abstractions. Inputs validated at boundaries. Return types are explicit, not `any`.
118
+ - **Defensive but not paranoid** — validate external inputs rigorously, trust internal interfaces. Don't add guards for impossible states — instead, make impossible states unrepresentable through types.
119
+ </code_quality_standards>
120
+
121
+ <commit_to_approach>
122
+ When deciding how to approach a problem, choose an approach and commit to it. Avoid revisiting decisions unless you encounter new information that directly contradicts your reasoning. If you're weighing two approaches, pick the one with stronger evidence and see it through. Do not oscillate between strategies — diagnose, decide, execute.
123
+ </commit_to_approach>
124
+
96
125
  <use_parallel_tool_calls>
97
126
  Read multiple potentially relevant files in parallel. If the issue might involve 3 modules, read all 3 simultaneously.
98
127
  </use_parallel_tool_calls>
@@ -26,6 +26,10 @@ Every teammate should evaluate their findings and recommendations against these
26
26
 
27
27
  Before spawning any teammates, do your own investigation:
28
28
 
29
+ <investigate_before_answering>
30
+ Never speculate about code you have not opened. If the issue references a specific file, you MUST read the file before forming hypotheses. Make sure to investigate and read relevant files BEFORE classifying the issue or assembling a team. Never make any claims about code before investigating unless you are certain of the correct answer — give grounded and hallucination-free answers. Never use placeholders or guess missing details — use tools to discover them.
31
+ </investigate_before_answering>
32
+
29
33
  1. Read the issue/task description carefully
30
34
  2. Read relevant files and error logs in parallel (use parallel tool calls)
31
35
  3. Trace the initial code path from entry point to likely source
@@ -479,7 +483,11 @@ Present the synthesis to the user before implementing.
479
483
  ## Phase 5: IMPLEMENTATION (You, Team Lead)
480
484
 
481
485
  <no_workarounds>
482
- Every fix must address the root cause. Do not implement workarounds.
486
+ Write a high-quality, general-purpose solution that addresses the actual root cause. Do not implement workarounds.
487
+
488
+ Do not create helper scripts or workarounds to accomplish the task more efficiently.
489
+ Do not hard-code values or create solutions that only work for specific failing cases.
490
+ Instead, implement the actual logic that solves the problem generally.
483
491
 
484
492
  Workaround indicators (if you catch yourself doing any of these, STOP):
485
493
  - Adding `|| defaultValue` to mask null/undefined
@@ -490,6 +498,8 @@ Workaround indicators (if you catch yourself doing any of these, STOP):
490
498
  - Suppressing warnings/errors instead of fixing them
491
499
  - Adding retry logic instead of fixing why it fails
492
500
 
501
+ If the task is unreasonable or infeasible, or if any of the tests are incorrect, inform the user rather than working around them. The solution should be robust, maintainable, and extendable.
502
+
493
503
  If the true fix requires significant refactoring:
494
504
  1. Document why in the root cause analysis
495
505
  2. Call the `EnterPlanMode` tool to present the scope to the user and get approval before proceeding
@@ -497,6 +507,10 @@ If the true fix requires significant refactoring:
497
507
  4. Never ship a workaround "for now"
498
508
  </no_workarounds>
499
509
 
510
+ <commit_to_approach>
511
+ When deciding how to approach a problem, choose an approach and commit to it. Avoid revisiting decisions unless you encounter new information that directly contradicts your reasoning. If you're weighing two approaches, pick the one with stronger evidence and see it through. Do not oscillate between strategies — diagnose, decide, execute.
512
+ </commit_to_approach>
513
+
500
514
  Implementation order:
501
515
  1. Write a failing test based on the Test Engineer's findings
502
516
  2. Implement the fix addressing the true root cause
@@ -34,7 +34,7 @@ Continue until you reach something **actionable** — a code change that prevent
34
34
 
35
35
  ## Evidence Standards
36
36
 
37
- Every claim MUST reference a specific `file:line`. No speculation about code you haven't read.
37
+ Every claim MUST reference a specific `file:line`. Never speculate about code you have not opened. Never make any claims about code before investigating unless you are certain of the correct answer — give grounded and hallucination-free answers. Never use placeholders or guess missing details — use tools to discover them.
38
38
 
39
39
  1. Read the actual code before forming hypotheses
40
40
  2. Trace the execution path: entry → intermediate calls → issue location
@@ -44,6 +44,8 @@ Every claim MUST reference a specific `file:line`. No speculation about code you
44
44
 
45
45
  ## No-Workaround Rule
46
46
 
47
+ Write a high-quality, general-purpose solution that addresses the actual root cause. Do not create helper scripts or workarounds. Do not hard-code values or create solutions that only work for specific failing cases. Instead, implement the actual logic that solves the problem generally.
48
+
47
49
  Every fix MUST address the root cause. Stop immediately if you catch yourself:
48
50
 
49
51
  - Adding `|| defaultValue` to mask null/undefined
@@ -54,6 +56,8 @@ Every fix MUST address the root cause. Stop immediately if you catch yourself:
54
56
  - Suppressing warnings/errors instead of fixing them
55
57
  - Adding retry logic instead of fixing why it fails
56
58
 
59
+ If the task is unreasonable or infeasible, or if any of the tests are incorrect, inform the user rather than working around them. The solution should be robust, maintainable, and extendable.
60
+
57
61
  If the real fix requires significant refactoring, present the scope to the user — never ship a workaround "for now".
58
62
 
59
63
  ## Routing
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devlyn-cli",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "Claude Code configuration toolkit for teams",
5
5
  "bin": {
6
6
  "devlyn": "bin/devlyn.js"