rhachet-roles-ehmpathy 1.8.0 → 1.9.0
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/logic/roles/architect/.briefs/criteria.given_when_then.[seed].v3.md +87 -0
- package/dist/logic/roles/mechanic/.briefs/architecture/directional-dependencies.md +49 -40
- package/dist/logic/roles/mechanic/.briefs/criteria.practices/require.knowledge.externalized.md +17 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.contract.inputs.nameargs/bad-practice/forbid.positional-args.md +43 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.contract.inputs.nameargs/best-practice/require.namedargs.md +6 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.declarative/.readme.md +0 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.declarative/best-practice/declastruct.[demo].md +485 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.objects/bad-practices/blocker.has.attributes.nullable.md +13 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.objects/bad-practices/blocker.has.attributes.undefined.md +15 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.objects/bad-practices/blocker.refs.immuatble.md +9 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.objects/best-practice/ref.package.domain-objects.[readme].md +585 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.operations/best-practice/require.sync.names.md +14 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.errors.failfast/bad-practices/forbid.hide_errors.md +13 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.errors.failfast/best-practice/require.fail_fast.[demo].shell.md +17 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.errors.failfast/best-practice/require.fail_fast.md +28 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.repo.structure/best-practice/directional-dependencies.md +82 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.repo.structure/best-practice/dot-test-and-dot-temp.md +20 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.typescript.utils/best-practice/ref.package.as-command.[tips].md +7 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.acceptance/best-practice/blackbox.md +5 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.run.[lesson].md +18 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.use.[lesson].md +20 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.write.[lesson].md +3 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.write.[lesson].on_scope.for_integ.md +8 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.write.[lesson].on_scope.for_units.md +9 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.write.bdd.[lesson].md +280 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/prefer.datadriven.md +41 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/ref.test-fns.[readme].md +185 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/whento.snapshots.[lesson].md +23 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.terms/.readme.md +1 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.terms/domain=practices.terms=forbid_prefer_desire_require.md +13 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.terms/domain=software.terms=prodcode_vs_testcode.md +7 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.tones/.readme.md +3 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.tones/prefer.chill-nature.md +0 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.tones/prefer.lowercase.md +0 -0
- package/dist/logic/roles/mechanic/getMechanicRole.js +1 -1
- package/dist/logic/roles/mechanic/getMechanicRole.js.map +1 -1
- package/package.json +2 -2
- package/dist/logic/roles/architect/.briefs/criteria.given_when_then.[seed].[idea].md +0 -35
- package/dist/logic/roles/architect/.briefs/criteria.given_when_then.[seed].md +0 -20
- /package/dist/logic/roles/architect/.briefs/{criteria.practices → practices}/prefer.env_access.prep_over_dev.md +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
use snapshots whenever output artifacts are created
|
|
2
|
+
|
|
3
|
+
why?
|
|
4
|
+
- makes it easier to review in prs what is actually being produced
|
|
5
|
+
- e.g., visual spotcheck, make sure it looks good
|
|
6
|
+
- especially important when the output is userfacing (e.g., codegen, comms, etc)
|
|
7
|
+
|
|
8
|
+
- makes it easier to detect exactly what the impact of a change is
|
|
9
|
+
- most of the time its intended and the snapshot can just be updated
|
|
10
|
+
- sometimes though, the snapshot diff exposes critical differences that are blockers or nitpicks that need to be addressed
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
critical:
|
|
16
|
+
|
|
17
|
+
use both
|
|
18
|
+
- a snapshot
|
|
19
|
+
- AND
|
|
20
|
+
- explicit assertions before the snapshot
|
|
21
|
+
|
|
22
|
+
snapshot is for observability in code reviews and aesthetic verification
|
|
23
|
+
assertions are for functional verification
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
practices on which terms to use to promote a ubiquitous language go here
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
these are the terms we use to describe how to use practices
|
|
2
|
+
|
|
3
|
+
forbid = search to ensure this was not done
|
|
4
|
+
- it's a bad practice
|
|
5
|
+
- it's a BLOCKER if detected
|
|
6
|
+
|
|
7
|
+
prefer = search for opportunities to do this
|
|
8
|
+
- it's a best practice, but not mandatory
|
|
9
|
+
- it's a NITPICK if detected
|
|
10
|
+
|
|
11
|
+
require = search for opportunities to do this
|
|
12
|
+
- it's a best practice, and is mandatory
|
|
13
|
+
- it's a BLOCKER if detected
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
prodcode = the product's code
|
|
2
|
+
- the code that produces the behavior users experience
|
|
3
|
+
- the code that gets shipped to production
|
|
4
|
+
|
|
5
|
+
testcode = the builder's code
|
|
6
|
+
- the code that verifies the behaviors users experience
|
|
7
|
+
- the code that runs at build time to protect production
|
|
File without changes
|
|
File without changes
|
|
@@ -19,7 +19,7 @@ Used to write and revise the actual logic that runs the system.
|
|
|
19
19
|
`.trim(),
|
|
20
20
|
traits: [],
|
|
21
21
|
skills: {
|
|
22
|
-
dirs: [],
|
|
22
|
+
dirs: [{ uri: __dirname + '/.skills' }],
|
|
23
23
|
refs: [loopWrite_skill_1.SKILL_WRITE, getSkillCodePropose_1.SKILL_CODE_PROPOSE],
|
|
24
24
|
},
|
|
25
25
|
briefs: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMechanicRole.js","sourceRoot":"","sources":["../../../../src/logic/roles/mechanic/getMechanicRole.ts"],"names":[],"mappings":";;;AAAA,qCAA+B;AAE/B,sEAAkE;AAClE,6DAAsD;AAEzC,QAAA,aAAa,GAAG,cAAI,CAAC,KAAK,CAAC;IACtC,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE;;;;;;;;GAQP,CAAC,IAAI,EAAE;IACR,MAAM,EAAE,EAAE;IACV,MAAM,EAAE;QACN,IAAI,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"getMechanicRole.js","sourceRoot":"","sources":["../../../../src/logic/roles/mechanic/getMechanicRole.ts"],"names":[],"mappings":";;;AAAA,qCAA+B;AAE/B,sEAAkE;AAClE,6DAAsD;AAEzC,QAAA,aAAa,GAAG,cAAI,CAAC,KAAK,CAAC;IACtC,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE;;;;;;;;GAQP,CAAC,IAAI,EAAE;IACR,MAAM,EAAE,EAAE;IACV,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,UAAU,EAAE,CAAC;QACvC,IAAI,EAAE,CAAC,6BAAW,EAAE,wCAAkB,CAAC;KACxC;IACD,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,UAAU,EAAE,CAAC;KACxC;CACF,CAAC,CAAC"}
|
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.
|
|
5
|
+
"version": "1.9.0",
|
|
6
6
|
"repository": "ehmpathy/rhachet-roles-ehmpathy",
|
|
7
7
|
"homepage": "https://github.com/ehmpathy/rhachet-roles-ehmpathy",
|
|
8
8
|
"keywords": [
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"helpful-errors": "1.3.8",
|
|
58
58
|
"inquirer": "12.7.0",
|
|
59
59
|
"openai": "5.8.2",
|
|
60
|
-
"rhachet": "1.
|
|
60
|
+
"rhachet": "1.12.1",
|
|
61
61
|
"rhachet-artifact": "1.0.0",
|
|
62
62
|
"rhachet-artifact-git": "1.1.0",
|
|
63
63
|
"serde-fns": "1.2.0",
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
[idea] = nest then's within sothat? when many thens support the same sothat?
|
|
2
|
-
|
|
3
|
-
when([t4] bastion IAM instance profile is provisioned via terraform)
|
|
4
|
-
sothat(SSM sessions can be established to bastion)
|
|
5
|
-
then(instance profile includes AmazonSSMManagedInstanceCore policy)
|
|
6
|
-
then(instance profile allows ssm:StartSession action)
|
|
7
|
-
sothat(auto-pause can detect when bastion is idle)
|
|
8
|
-
then(instance profile allows ec2:StopInstances for self-stop)
|
|
9
|
-
then(instance profile allows ec2:DescribeInstances to check instance state)
|
|
10
|
-
then(instance profile allows ssm:DescribeSessions to detect active sessions)
|
|
11
|
-
then(instance profile allows ssm:GetConnectionStatus to verify session state)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
i.e.,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
given(scene)
|
|
18
|
-
when(cause)
|
|
19
|
-
sothat(benefit)
|
|
20
|
-
then(effect.1)
|
|
21
|
-
then(effect.2)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
e.g.,
|
|
28
|
-
|
|
29
|
-
given(its dinner time)
|
|
30
|
-
when(dinner is served)
|
|
31
|
-
sothat(we can eat with cleanly)
|
|
32
|
-
then(we should have cutlery appropriate to the dish)
|
|
33
|
-
then(we should have plates appropriate to the dish)
|
|
34
|
-
then(we should have napkins to clean with)
|
|
35
|
-
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
criteria is best written in behavior-driven-development format
|
|
2
|
-
|
|
3
|
-
e.g.,
|
|
4
|
-
|
|
5
|
-
given(scene)
|
|
6
|
-
when([t0] nochange)
|
|
7
|
-
then(assert initial condition)
|
|
8
|
-
...
|
|
9
|
-
when([t1] cause)
|
|
10
|
-
then(effect)
|
|
11
|
-
sothat(benefit) # optional
|
|
12
|
-
...
|
|
13
|
-
when([t2] cause)
|
|
14
|
-
then(effect)
|
|
15
|
-
sothat(benefit) # optional
|
|
16
|
-
...
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
dont forget that given and when can nest inside eachother; but then() goes at the root
|
|
20
|
-
|
|
File without changes
|