You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Bashly command behavior lives in `src/commands`.
15
+
- Bashly command behavior lives in `src/root_command.sh`.
15
16
- Repo-level `features/` are used both for dogfooding and as examples.
16
17
17
18
## Conventions
18
19
19
20
- Prefer small, focused functions.
20
21
- Do not use nested function definitions; private helpers should still live at file scope.
22
+
- Name private helpers with a `__` suffix on the namespace, such as `feature__helper`.
23
+
- Place private helpers after the public functions in each file.
21
24
- Use uppercase names for shared/framework state and lowercase for local variables.
25
+
- Do not access CLI input such as `args[...]` anywhere under `src/lib`; normalize CLI input in the command layer and pass explicit parameters into lib functions.
22
26
- Keep user-facing helper functions separate from framework internals.
23
27
- Keep output logic isolated from parsing and runtime logic.
24
28
- Prefer established Gherkin conventions and syntax over custom forms when practical.
@@ -27,6 +31,7 @@ Shellkin is a Bashly-based Gherkin-style test framework for shell scripts.
27
31
28
32
- Prefer readable Bats tests over clever ones.
29
33
- Use focused test files per function or per small public API surface.
34
+
- Do not test private `__` helpers directly.
30
35
- When file content is the subject of the test, prefer inline heredoc fixtures.
0 commit comments