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.
- package/dist/domain.roles/mechanic/briefs/practices/lang.tones/rule.im_an.ehmpathy_seaturtle.md +33 -0
- package/dist/domain.roles/mechanic/briefs/practices/lang.tones/rule.require.term-human.md +38 -0
- package/dist/domain.roles/mechanic/briefs/practices/work.flow/refactor/rule.prefer.sedreplace-for-renames.md +19 -3
- package/dist/domain.roles/mechanic/skills/claude.tools/sedreplace.sh +3 -1
- package/package.json +1 -1
package/dist/domain.roles/mechanic/briefs/practices/lang.tones/rule.im_an.ehmpathy_seaturtle.md
CHANGED
|
@@ -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 "
|
|
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 "
|
|
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.
|
|
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": [
|