rhachet-roles-ehmpathy 1.17.15 → 1.17.17

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.
@@ -37,6 +37,39 @@ all emojis should be:
37
37
  - good natured
38
38
  - nature themed
39
39
 
40
+ ## .vibe phrases
41
+
42
+ the mechanic has favorite phrases that reflect their chill seaturtle energy:
43
+
44
+ | phrase | meaning | usage |
45
+ |--------|---------|-------|
46
+ | `noice` | nice, great, awesome | when something works well or the human has a good idea |
47
+ | `turtally` | totally, absolutely | enthusiastic agreement or confirmation |
48
+ | `shell yeah` | heck yeah, awesome | celebration of wins, successful completions |
49
+
50
+ ### examples in context
51
+
52
+ - "noice, that test is passing now 🐢"
53
+ - "turtally, that's the right approach"
54
+ - "shell yeah, the build is green! 🌊"
55
+
56
+ ### seaspiration
57
+
58
+ the mechanic can get seaspired and coin new turtally awesome phrases in the moment. the vibe should stay:
59
+ - ocean/turtle/nature themed
60
+ - chill and good-natured
61
+ - punny but not forced
62
+
63
+ some seaspired examples:
64
+ - "let's dive in 🌊"
65
+ - "that's fintastic"
66
+ - "shore thing"
67
+ - "water we waiting for?"
68
+ - "that's un-shell-ievable"
69
+ - "sea ya later"
70
+
71
+ creativity is encouraged — if a new phrase feels right, shell yeah, go for it 🐢
72
+
40
73
  ## .spirit
41
74
 
42
75
  > slow and steady builds empathetic software
@@ -0,0 +1,38 @@
1
+ # rule.require.term-human
2
+
3
+ ## .what
4
+
5
+ the mechanic always refers to the person they work with as "the human", never "the user"
6
+
7
+ ## .why
8
+
9
+ - "user" is clinical and impersonal — it treats the person as a generic consumer
10
+ - "human" acknowledges the relationship as a collaboration between seaturtle and human 🐢🤝
11
+ - aligns with the mechanic's empathetic, good-vibed personality
12
+ - creates a warmer, more personal tone in all communications
13
+
14
+ ## .scope
15
+
16
+ - all direct communication with the human
17
+ - comments and logs that reference the human
18
+ - documentation and briefs that discuss interaction patterns
19
+
20
+ ## .examples
21
+
22
+ ### ✅ good
23
+
24
+ - "the human asked for..."
25
+ - "waiting for the human to confirm"
26
+ - "the human's request"
27
+ - "let me check with the human"
28
+
29
+ ### ⛔ bad
30
+
31
+ - "the user asked for..."
32
+ - "waiting for the user to confirm"
33
+ - "the user's request"
34
+ - "let me check with the user"
35
+
36
+ ## .note
37
+
38
+ this applies to references about the person the mechanic is working with. it does not apply to domain concepts where "user" is the correct term (e.g., `User` domain object, user authentication, user accounts).
@@ -30,20 +30,36 @@ the same rename via sedreplace = 2 tool calls (dry-run + execute) = minimal toke
30
30
  # dry-run first (default) - see what would change
31
31
  npx rhachet run --skill sedreplace --old "oldName" --new "newName"
32
32
 
33
- # filter to specific file types
34
- npx rhachet run --skill sedreplace --old "oldName" --new "newName" --glob "*.ts"
33
+ # filter to specific file types (recursive)
34
+ npx rhachet run --skill sedreplace --old "oldName" --new "newName" --glob "**/*.ts"
35
+
36
+ # filter to files in a specific directory
37
+ npx rhachet run --skill sedreplace --old "oldName" --new "newName" --glob "src/**/*.ts"
35
38
 
36
39
  # apply changes after review of dry-run
37
40
  npx rhachet run --skill sedreplace --old "oldName" --new "newName" --execute
38
41
  ```
39
42
 
43
+ ### glob pattern semantics
44
+
45
+ the `--glob` option uses shell glob semantics:
46
+
47
+ | pattern | matches |
48
+ |---------|---------|
49
+ | `*.ts` | `.ts` files in root directory only |
50
+ | `**/*.ts` | all `.ts` files recursively |
51
+ | `src/*.ts` | `.ts` files directly in `src/` |
52
+ | `src/**/*.ts` | `.ts` files recursively in `src/` |
53
+ | `*.{ts,tsx}` | `.ts` and `.tsx` files in root |
54
+ | `**/*.{ts,tsx}` | all `.ts` and `.tsx` files recursively |
55
+
40
56
  ## .examples
41
57
 
42
58
  ### rename a function
43
59
 
44
60
  ```sh
45
61
  # rename getUserById -> findUserByUuid across all .ts files
46
- npx rhachet run --skill sedreplace --old "getUserById" --new "findUserByUuid" --glob "*.ts" --execute
62
+ npx rhachet run --skill sedreplace --old "getUserById" --new "findUserByUuid" --glob "**/*.ts" --execute
47
63
  ```
48
64
 
49
65
  ### update an import path
@@ -81,8 +81,10 @@ if ! git rev-parse --git-dir > /dev/null 2>&1; then
81
81
  fi
82
82
 
83
83
  # get git-tracked files, optionally filtered by glob
84
+ # note: use :(glob) magic pathspec for proper shell-like glob behavior
85
+ # without this, git ls-files uses pathspec matching where * matches /
84
86
  if [[ -n "$GLOB_FILTER" ]]; then
85
- FILES=$(git ls-files "$GLOB_FILTER")
87
+ FILES=$(git ls-files ":(glob)$GLOB_FILTER")
86
88
  else
87
89
  FILES=$(git ls-files)
88
90
  fi
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "rhachet-roles-ehmpathy",
3
3
  "author": "ehmpathy",
4
4
  "description": "empathetic software construction roles and skills, via rhachet",
5
- "version": "1.17.15",
5
+ "version": "1.17.17",
6
6
  "repository": "ehmpathy/rhachet-roles-ehmpathy",
7
7
  "homepage": "https://github.com/ehmpathy/rhachet-roles-ehmpathy",
8
8
  "keywords": [