claude-dev-env 8.30.1 → 8.31.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.
package/AGENTS.md CHANGED
@@ -10,6 +10,10 @@ Verdicts
10
10
 
11
11
  One line. Read files first. Quote file:line. Code beats brief. No flip-flops.
12
12
 
13
+ Evidence
14
+
15
+ Act and state only on what you or your workers saw, ran, or tested. Unsure → run the check first. Can't run the check → say "I don't know" and name the check that would settle it.
16
+
13
17
  Writes
14
18
 
15
19
  Write/Edit only. LF. After: git diff --check, file <path>. ASCII unless the file already isn't.
@@ -16,10 +16,15 @@ WORKING_STYLE_PROMPT = (
16
16
  "Keep disclaimers and caveats short while giving "
17
17
  "the main answer most of the response. Give a high-level explanation by default "
18
18
  "and provide depth when the request calls for it. "
19
- "Before your first tool call, state your next action in one sentence. While "
20
- "working, give brief updates when you find important information or change "
21
- "direction. Finish with the outcome in the first sentence, then provide "
22
- "supporting detail for readers who want it. "
19
+ "On a typed request, state your next action in one sentence before the first "
20
+ "tool call. "
21
+ "Finish with the outcome in the first sentence. "
22
+ "Send the user only what they must act on or need to know. When a background "
23
+ "event, such as a task notification, an agent message, or a scheduled wake, "
24
+ "starts a turn and nothing in it needs the user, end the turn with no text. A "
25
+ "report that a fix is done carries three lines: the fix acknowledged, what "
26
+ "changed, and the proof that it works. Put the rest of the detail in the pull "
27
+ "request or a linked file. "
23
28
  "Match written-document length to the task. Cover the substance and keep every "
24
29
  "section, summary, and phrase useful. "
25
30
  "Deliver the requested work at its intended scope. Make routine judgment calls "
@@ -34,7 +39,7 @@ WORKING_STYLE_PROMPT = (
34
39
  "when the ambiguity changes the outcome, scope, audience, format, or risk. Use a "
35
40
  "clearly stated low-risk assumption when the intended result remains stable. "
36
41
  "Pause for the user's choice before making a high-impact decision. "
37
- "Use current, immediately relevant context. Name each action, fact, reason, "
38
- "and outcome. Use full terms and specific names for repository work. Keep all "
42
+ "Use current, immediately relevant context. "
43
+ "Use full terms and specific names for repository work. Keep all "
39
44
  "text concise, clear, direct, and useful."
40
45
  )
@@ -50,11 +50,26 @@ class TestWorkingStylePrompt:
50
50
  assert "update-in-place continuity, and sharing" in prompt_text
51
51
  assert "Apply ~/.claude/rules/asd-ste100-language.md for user-facing word choice" in prompt_text
52
52
  assert "Use current, immediately relevant context." in prompt_text
53
- assert "Name each action, fact, reason, and outcome." in prompt_text
54
53
  assert "Use full terms and specific names for repository work." in prompt_text
55
54
  assert "When a request has multiple reasonable interpretations" in prompt_text
56
55
  assert "Ask one focused clarification question" in prompt_text
57
56
  assert "Pause for the user's choice before making a high-impact decision." in prompt_text
58
57
 
58
+ def test_prompt_limits_replies_to_what_the_user_must_act_on_or_know(self) -> None:
59
+ assert "Send the user only what they must act on or need to know." in WORKING_STYLE_PROMPT
60
+ assert "starts a turn and nothing in it needs the user, end the turn with no text." in WORKING_STYLE_PROMPT
61
+ assert "On a typed request, state your next action in one sentence" in WORKING_STYLE_PROMPT
62
+ assert "Before your first tool call, state your next action" not in WORKING_STYLE_PROMPT
63
+ assert (
64
+ "A report that a fix is done carries three lines: the fix acknowledged, "
65
+ "what changed, and the proof that it works."
66
+ ) in WORKING_STYLE_PROMPT
67
+ assert "Put the rest of the detail in the pull request or a linked file." in WORKING_STYLE_PROMPT
68
+
69
+ def test_prompt_drops_the_clauses_that_invite_surplus_detail(self) -> None:
70
+ assert "supporting detail for readers who want it" not in WORKING_STYLE_PROMPT
71
+ assert "give brief updates when you find important information" not in WORKING_STYLE_PROMPT
72
+ assert "Name each action, fact, reason, and outcome." not in WORKING_STYLE_PROMPT
73
+
59
74
  def test_build_session_directive_returns_the_shared_constant(self) -> None:
60
75
  assert starter.build_session_directive() == WORKING_STYLE_PROMPT
@@ -4,8 +4,9 @@
4
4
  At session start this hook emits an ``additionalContext`` block carrying a fixed
5
5
  working-style prompt: use ELI5 for the beginner presentation envelope, follow
6
6
  ``~/.claude/rules/asd-ste100-language.md`` for sentence prose, keep a running
7
- ledger, narrate before the first tool call, lead with the outcome, and stay at
8
- the asked scope.
7
+ ledger, narrate before the first tool call on a typed request, lead with the
8
+ outcome, send only what the user must act on or know, stay silent on a
9
+ background-event turn that needs nothing, and stay at the asked scope.
9
10
  The hook writes nothing and runs no tools itself.
10
11
  """
11
12
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-dev-env",
3
- "version": "8.30.1",
3
+ "version": "8.31.1",
4
4
  "description": "Claude Code development standards — rules, hooks, agents, commands, and skills",
5
5
  "type": "module",
6
6
  "bin": {