enigma-cli 1.13.1 → 1.13.2
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/assets/memory/AGENTS.md +1 -1
- package/assets/memory/CLAUDE.md +1 -1
- package/assets/skills/backend-policy/skill.json +1 -1
- package/assets/skills/ciphera-style-policy/skill.json +1 -1
- package/assets/skills/code-review-policy/skill.json +1 -1
- package/assets/skills/core-engineering-policy/SKILL.md +2 -0
- package/assets/skills/core-engineering-policy/skill.json +3 -3
- package/assets/skills/database-expert/skill.json +1 -1
- package/assets/skills/debugging-policy/skill.json +1 -1
- package/assets/skills/dependency-policy/skill.json +1 -1
- package/assets/skills/frontend-policy/skill.json +1 -1
- package/assets/skills/git-policy/skill.json +1 -1
- package/assets/skills/security-policy/skill.json +1 -1
- package/assets/skills/task-completion-policy/skill.json +1 -1
- package/assets/skills/test-organization-policy/SKILL.md +88 -0
- package/assets/skills/test-organization-policy/skill.json +8 -0
- package/assets/skills/testing-policy/SKILL.md +1 -0
- package/assets/skills/testing-policy/skill.json +3 -3
- package/assets/skills/validation-policy/skill.json +1 -1
- package/package.json +1 -1
package/assets/memory/AGENTS.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
- backend-policy, frontend-policy, database-expert, validation-policy: server, client, persistence, and input-validation work.
|
|
15
15
|
- security-policy: secrets, auth, permissions, crypto, untrusted/tool output, and AI-agent/MCP/tool-use safety.
|
|
16
16
|
- dependency-policy: adding/upgrading/auditing dependencies, lockfiles, and supply-chain risk.
|
|
17
|
-
- testing-policy, code-review-policy, debugging-policy, git-policy: tests, pre-delivery review, debugging, and commits/PRs.
|
|
17
|
+
- testing-policy, test-organization-policy, code-review-policy, debugging-policy, git-policy: tests, test-suite layout (structured subfolders, never a flat tests/ dump), pre-delivery review, debugging, and commits/PRs.
|
|
18
18
|
- task-completion-policy: long or multi-item tasks (1:1 ports, migrations, repo-wide changes) - work-unit inventory, persistent coverage ledger, and verified completion before any "done" claim.
|
|
19
19
|
|
|
20
20
|
### Always-On Rules (never skipped, even if no skill loads)
|
package/assets/memory/CLAUDE.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
- backend-policy, frontend-policy, database-expert, validation-policy: server, client, persistence, and input-validation work.
|
|
15
15
|
- security-policy: secrets, auth, permissions, crypto, untrusted/tool output, and AI-agent/MCP/tool-use safety.
|
|
16
16
|
- dependency-policy: adding/upgrading/auditing dependencies, lockfiles, and supply-chain risk.
|
|
17
|
-
- testing-policy, code-review-policy, debugging-policy, git-policy: tests, pre-delivery review, debugging, and commits/PRs.
|
|
17
|
+
- testing-policy, test-organization-policy, code-review-policy, debugging-policy, git-policy: tests, test-suite layout (structured subfolders, never a flat tests/ dump), pre-delivery review, debugging, and commits/PRs.
|
|
18
18
|
- task-completion-policy: long or multi-item tasks (1:1 ports, migrations, repo-wide changes) - work-unit inventory, persistent coverage ledger, and verified completion before any "done" claim.
|
|
19
19
|
|
|
20
20
|
### Always-On Rules (never skipped, even if no skill loads)
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Backend/API architecture: controller-service-repository layering, API and request optimization, server-side caching (Redis), and Zod boundary validation.",
|
|
6
|
-
"cliVersion": "1.13.
|
|
6
|
+
"cliVersion": "1.13.2",
|
|
7
7
|
"sha": "c442bc9e39a7710cb709ef2abb8d15ecd8aa16ed4f5c8af92b7af6877401cba4"
|
|
8
8
|
}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
"version": "1.1.1",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Ciphera code style conventions (formatting, naming, imports, comments, code-level anti-patterns; TypeScript-first, language-agnostic).",
|
|
6
|
-
"cliVersion": "1.13.
|
|
6
|
+
"cliVersion": "1.13.2",
|
|
7
7
|
"sha": "74f638aec13e8c93257fe1ad604c28b07e9a7c456796a4ceefcc99217d9e7039"
|
|
8
8
|
}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Pre-delivery self-review gate, prioritized review dimensions, and change-quality criteria.",
|
|
6
|
-
"cliVersion": "1.13.
|
|
6
|
+
"cliVersion": "1.13.2",
|
|
7
7
|
"sha": "3d3bbe0602d5bbb4afe37648fe3c2fa39376b1bcbac5d8c441f01fad1e866ed0"
|
|
8
8
|
}
|
|
@@ -34,6 +34,7 @@ description: Highest-authority engineering rules - priority hierarchy, modular a
|
|
|
34
34
|
- Any UI, client state, data fetching, or client caching -> frontend-policy.
|
|
35
35
|
- Any API endpoint, service, controller, or server request flow -> backend-policy.
|
|
36
36
|
- Any new or changed code that needs verification -> testing-policy.
|
|
37
|
+
- Any test file created, moved, or renamed, or a test suite scaffolded/restructured -> test-organization-policy.
|
|
37
38
|
- Any source code written, refactored, or reviewed (formatting, naming, language idioms) -> ciphera-style-policy.
|
|
38
39
|
- Before declaring a change done, or when reviewing a diff/PR -> code-review-policy.
|
|
39
40
|
- Any bug, crash, failing test, or unexpected behavior -> debugging-policy.
|
|
@@ -80,6 +81,7 @@ This core policy owns orchestration, architecture, and the global rules. Each co
|
|
|
80
81
|
- frontend-policy: frontend structure, reusable components, abstraction threshold, client-side caching, optimistic UI and rollback.
|
|
81
82
|
- backend-policy: API/service architecture, controller-service-repository layering, API/request optimization, server-side caching (Redis).
|
|
82
83
|
- testing-policy: test strategy, coverage gates, deterministic tests, test/regression-first discipline.
|
|
84
|
+
- test-organization-policy: test-suite layout - structure by test type and domain, mirrored source paths, file naming, fixture/helper/factory placement.
|
|
83
85
|
- code-review-policy: self-review before delivery, review dimensions, change-quality gates.
|
|
84
86
|
- debugging-policy: reproduce-isolate-fix methodology and root-cause discipline.
|
|
85
87
|
- git-policy: commits, branches, and pull request standards.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "core-engineering-policy",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Core engineering execution policy and harness orchestration (highest-authority rules).",
|
|
6
|
-
"cliVersion": "1.13.
|
|
7
|
-
"sha": "
|
|
6
|
+
"cliVersion": "1.13.2",
|
|
7
|
+
"sha": "b44681bc21675fff949a2d9e1a67617bc7638dc5acec6270906f3ca0a9052a86"
|
|
8
8
|
}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
"version": "1.1.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Senior database architecture policy: query optimization, anti-duplication/normalization, scalability, and RGPD/GDPR encryption.",
|
|
6
|
-
"cliVersion": "1.13.
|
|
6
|
+
"cliVersion": "1.13.2",
|
|
7
7
|
"sha": "2883bcecb3202683ae6f81b073c3d6a9cec9c55029e011bdd06ba7ac3537297e"
|
|
8
8
|
}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Reproduce-isolate-fix debugging methodology with root-cause discipline and regression verification.",
|
|
6
|
-
"cliVersion": "1.13.
|
|
6
|
+
"cliVersion": "1.13.2",
|
|
7
7
|
"sha": "14b0064c8b33a0dc85e51464b05005cf5801c756b1101789a6924b9548420f6b"
|
|
8
8
|
}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Dependency and supply-chain security: lockfiles and reproducible installs, version pinning, vulnerability auditing, vetting/minimizing packages, vendoring, and SBOM/provenance.",
|
|
6
|
-
"cliVersion": "1.13.
|
|
6
|
+
"cliVersion": "1.13.2",
|
|
7
7
|
"sha": "6375d835c2aef2c9bd31ce116444dc3d796f510f9970a213aa3ac4696d7e21b9"
|
|
8
8
|
}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
"version": "1.2.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Frontend architecture: reusable components, abstraction thresholds, state management, no-op save detection, and optimistic UI with rollback.",
|
|
6
|
-
"cliVersion": "1.13.
|
|
6
|
+
"cliVersion": "1.13.2",
|
|
7
7
|
"sha": "3766096616a9177ce66685bfaaaef66f7e8ceb62e2a6542e83dee713b9d1b56f"
|
|
8
8
|
}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Application and AI-agent security: secrets, authn/authz (least privilege), OWASP Top 10, transport/crypto baseline, secure logging, and agent/MCP/tool-use safety.",
|
|
6
|
-
"cliVersion": "1.13.
|
|
6
|
+
"cliVersion": "1.13.2",
|
|
7
7
|
"sha": "9971e9d9127397d0152e89d24aad3191e2935e55a8483db7fd15f5d4d7a60e7a"
|
|
8
8
|
}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
"version": "1.1.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Exhaustive completion discipline for long/multi-item tasks - inventory, coverage ledger, verified done.",
|
|
6
|
-
"cliVersion": "1.13.
|
|
6
|
+
"cliVersion": "1.13.2",
|
|
7
7
|
"sha": "6e3facba307eb2b55cefbab2e4b2a346a2b82f93c3ef47e11ebeb78c3c9453a8"
|
|
8
8
|
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-organization-policy
|
|
3
|
+
description: Expert test-suite organization - directory structure by test type and domain, mirrored source paths, file naming conventions, and fixture/helper/factory placement. Use when creating, moving, or renaming test files, scaffolding or restructuring a test suite, or deciding where a new test lives - never dump tests flat into a single tests/ folder.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Test Organization Policy (Senior Engineering Standards)
|
|
7
|
+
|
|
8
|
+
## Activation Scope
|
|
9
|
+
|
|
10
|
+
- Apply whenever a test file is created, moved, or renamed, and whenever a test suite is scaffolded or restructured.
|
|
11
|
+
- Owns test-suite layout: directory structure, subfolders, file naming, and placement of fixtures, helpers, factories, and mocks.
|
|
12
|
+
- Test strategy, coverage, determinism, and mocking discipline live in testing-policy; compose with it, never restate it.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Core Principle
|
|
17
|
+
|
|
18
|
+
- A test suite is navigable code: anyone must find the tests for a module in seconds from the module's path alone, and find the module from its test's path.
|
|
19
|
+
- Never dump test files flat into a single tests/ folder. Flat suites hide coverage gaps, cause name collisions, and stop scaling past a handful of files.
|
|
20
|
+
- Organize from the first test file. Structure is cheapest at file creation and most expensive after the folder is a mess.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Framework Convention First
|
|
25
|
+
|
|
26
|
+
- Every ecosystem has an established convention; it beats any custom layout:
|
|
27
|
+
- JS/TS (Vitest, Jest, Bun): colocated `*.test.ts` next to the source file, a `__tests__/` folder per directory, or a mirrored `tests/` tree - follow whichever the repo already uses.
|
|
28
|
+
- Python (pytest): a `tests/` package mirroring the source package; shared fixtures in `conftest.py` at the narrowest directory that covers their users.
|
|
29
|
+
- Go: `_test.go` colocated in the same package (mandated by the toolchain); black-box tests use the `_test` package suffix.
|
|
30
|
+
- Rust: unit tests in `#[cfg(test)] mod tests` inside the module; integration tests as separate files under the crate-root `tests/`.
|
|
31
|
+
- Java/Kotlin: `src/test/<lang>/` mirroring the `src/main/<lang>/` package path exactly.
|
|
32
|
+
- In an existing repo, detect the established layout and extend it; never introduce a second competing layout. Migrations to a better layout are proposed explicitly, not done by stealth.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Structure by Test Type, Then by Domain
|
|
37
|
+
|
|
38
|
+
- When more than one test type exists, separate types at the top level - they differ in speed, dependencies, and CI stage:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
tests/
|
|
42
|
+
unit/ fast, isolated, no I/O
|
|
43
|
+
integration/ module boundaries, DB, contracts
|
|
44
|
+
e2e/ critical user flows only
|
|
45
|
+
fixtures/ shared static data
|
|
46
|
+
helpers/ shared builders, factories, fakes
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
- Inside each type, mirror the source tree: tests for `src/<domain>/<module>` live at `tests/<type>/<domain>/<module>.<suffix>`.
|
|
50
|
+
- Group e2e tests by user flow (e.g. `e2e/checkout/`), not by source module - flows cross modules.
|
|
51
|
+
- Default to one test file per module under test; split a large file by scenario, never by arbitrary size cuts.
|
|
52
|
+
- Keep the test runner's discovery config (`testMatch`, `testpaths`, includes) in sync with the layout; a test the runner cannot find is dead code.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Naming Conventions
|
|
57
|
+
|
|
58
|
+
- Test file name = module under test + the framework's suffix: `parser.test.ts`, `test_parser.py`, `parser_test.go`.
|
|
59
|
+
- When splitting by scenario, encode the scenario in the name: `parser.errors.test.ts`, `auth.session-expiry.test.ts`.
|
|
60
|
+
- Suite and case names describe behavior, not implementation (naming-by-behavior rules live in testing-policy).
|
|
61
|
+
- Forbidden names: `test1`, `misc`, `temp`, `new`, `utils-tests`, or any name that does not identify what is verified.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Shared Test Code Placement
|
|
66
|
+
|
|
67
|
+
- Fixtures (static data), factories/builders (object construction), helpers (setup/assertion logic), and fakes each get their own folder; do not mix them in one grab-bag file.
|
|
68
|
+
- Place shared test code at the narrowest scope that covers its users; promote it upward only when a second consumer appears (same reuse rule as production code).
|
|
69
|
+
- Test helpers are production code: deduplicate, name well, and review them like any other module.
|
|
70
|
+
- Never import from another test file; extract the shared piece into a helper module instead.
|
|
71
|
+
- Large fixtures live as data files under `fixtures/`, named after the scenario they encode, not inlined into test bodies.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Scaling & Maintenance
|
|
76
|
+
|
|
77
|
+
- When adding a test to an existing flat or misplaced suite: place the new test correctly and surface the layout debt; do not extend the mess to match it.
|
|
78
|
+
- Layout migrations are pure moves: never change test logic in the same commit as a file move (atomic-commit rule in git-policy).
|
|
79
|
+
- After any move, run the affected suite to prove discovery still works, and delete emptied folders.
|
|
80
|
+
- If two layouts coexist after a partial migration, finish the migration or document the boundary; a half-migrated suite is worse than either layout.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Decision Rule: Colocated vs Centralized
|
|
85
|
+
|
|
86
|
+
- Colocated tests (next to source) fit unit tests in ecosystems that idiomatically support it (JS/TS, Go, Rust) - shortest navigation distance, moves with the code.
|
|
87
|
+
- A centralized `tests/` tree fits integration/e2e tests, packages that must exclude tests from the published artifact, and ecosystems whose tooling expects it (Python, Java).
|
|
88
|
+
- Mixing is fine when each side follows its rule (e.g. colocated unit + centralized integration); mixing within the same test type is not.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "test-organization-policy",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"provider": "FJRG2007/enigma",
|
|
5
|
+
"description": "Expert test-suite organization: structure by test type and domain, mirrored source paths, naming conventions, and fixture/helper placement.",
|
|
6
|
+
"cliVersion": "1.13.2",
|
|
7
|
+
"sha": "09184beb8e423efd26fce0221cd374d41b6ba0bb3d223d7edce250d9d978767e"
|
|
8
|
+
}
|
|
@@ -9,6 +9,7 @@ description: Test strategy (test pyramid), coverage gates, deterministic tests,
|
|
|
9
9
|
|
|
10
10
|
- Apply whenever code is written, changed, or fixed, and whenever the user asks for tests.
|
|
11
11
|
- Owns test strategy, coverage expectations, determinism, and test-first discipline.
|
|
12
|
+
- Test file placement, suite layout, naming of test files, and fixture/helper organization live in test-organization-policy; apply it alongside this skill when creating or moving test files.
|
|
12
13
|
|
|
13
14
|
---
|
|
14
15
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "testing-policy",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Test strategy, coverage gates, deterministic tests, mocking discipline, and regression-first bug fixing.",
|
|
6
|
-
"cliVersion": "1.13.
|
|
7
|
-
"sha": "
|
|
6
|
+
"cliVersion": "1.13.2",
|
|
7
|
+
"sha": "dd5c0bb67aba7f31b2f520e626a9df512b5ad2d2e7baf5567fe64d9e28a437db"
|
|
8
8
|
}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Strict frontend + backend schema validation, schema consistency, and safe client-facing error handling.",
|
|
6
|
-
"cliVersion": "1.13.
|
|
6
|
+
"cliVersion": "1.13.2",
|
|
7
7
|
"sha": "a33622a2f810ee4cea39824cb1a7ca34b355a917d4224025df50d77dd74f0b3a"
|
|
8
8
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "enigma-cli",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.2",
|
|
4
4
|
"description": "Everything you need to work with a coding agent: install shared policy skills for Claude Code, OpenAI Codex and opencode, and set up portable git security hooks.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|