enigma-cli 1.28.1 → 1.29.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/assets/memory/AGENTS.md +1 -12
- package/assets/memory/CLAUDE.md +1 -12
- package/assets/skills/anti-overengineering-policy/SKILL.md +13 -3
- package/assets/skills/anti-overengineering-policy/skill.json +7 -4
- package/assets/skills/anti-overengineering-review/skill.json +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 +4 -4
- 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-design/skill.json +1 -1
- package/assets/skills/frontend-policy/skill.json +1 -1
- package/assets/skills/git-policy/SKILL.md +10 -0
- package/assets/skills/git-policy/skill.json +4 -4
- package/assets/skills/logo-sourcing-policy/SKILL.md +110 -0
- package/assets/skills/logo-sourcing-policy/skill.json +12 -0
- package/assets/skills/security-policy/skill.json +1 -1
- package/assets/skills/skill-creator/skill.json +1 -1
- package/assets/skills/task-completion-policy/skill.json +1 -1
- package/assets/skills/technical-writing-policy/skill.json +1 -1
- package/assets/skills/testing-policy/skill.json +1 -1
- package/assets/skills/validation-policy/skill.json +1 -1
- package/bin/checksums.json +4 -4
- package/package.json +1 -1
package/assets/memory/AGENTS.md
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
- dependency-policy: adding/upgrading/auditing dependencies, lockfiles, and supply-chain risk.
|
|
19
19
|
- testing-policy, code-review-policy, debugging-policy, git-policy: tests and test-suite layout (structured subfolders, never a flat tests/ dump), pre-delivery review, debugging, and commits/PRs.
|
|
20
20
|
- technical-writing-policy: any user-facing copy - UI labels, descriptions, hints, empty/error states, panel intros, README/doc prose - concise and realistic, no over-explaining or restating the obvious.
|
|
21
|
+
- logo-sourcing-policy: adding any real brand/platform/technology logo or icon - source the official asset (never fabricate one), prefer SVG (WebP for web), keep brand colors, and check contrast.
|
|
21
22
|
- 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.
|
|
22
23
|
|
|
23
24
|
### Always-On Rules (never skipped, even if no skill loads)
|
|
@@ -55,18 +56,6 @@
|
|
|
55
56
|
- Boundaries: code, comments, commit messages, and PR text are always written normally - compression applies only to chat prose. Always respond in the user's language regardless of level.
|
|
56
57
|
<!-- enigma:output-style:end -->
|
|
57
58
|
|
|
58
|
-
<!-- enigma:minimal-code:start -->
|
|
59
|
-
### Minimal Code (Anti-Overengineering)
|
|
60
|
-
|
|
61
|
-
- Default to **{{minimal-level}}** minimal-code discipline (full detail in anti-overengineering-policy). The best code is the code never written; before writing any, stop at the first rung that holds: 1) Does this need to exist at all? (YAGNI) 2) Does the standard library do it? 3) Does a native platform feature cover it? 4) Does an already-installed dependency solve it? 5) Can it be one line? 6) Only then the minimum code that works.
|
|
62
|
-
- No unrequested abstractions, no boilerplate "for later", deletion over addition, fewest files, shortest working diff. Mark deliberate shortcuts with an `enigma:` comment naming the ceiling and upgrade path.
|
|
63
|
-
- Levels (the user can switch any time, e.g. "be more lazy", "full", "ultra", or "stop minimal-code" to turn it off):
|
|
64
|
-
- **lite** - build what was asked, but name the lazier alternative in one line; the user picks.
|
|
65
|
-
- **full** - the ladder enforced: stdlib and native first, shortest diff and explanation. The default when enabled.
|
|
66
|
-
- **ultra** - YAGNI extremist: deletion before addition, ship the one-liner and challenge the rest of the requirement in the same response.
|
|
67
|
-
- Never simplify away: input validation at trust boundaries, error handling that prevents data loss, security, accessibility, hardware calibration, or anything explicitly requested. Non-trivial logic leaves ONE runnable check behind (testing-policy owns test strategy).
|
|
68
|
-
<!-- enigma:minimal-code:end -->
|
|
69
|
-
|
|
70
59
|
<!-- enigma:recall:start -->
|
|
71
60
|
### Session Memory (Recall)
|
|
72
61
|
|
package/assets/memory/CLAUDE.md
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
- dependency-policy: adding/upgrading/auditing dependencies, lockfiles, and supply-chain risk.
|
|
19
19
|
- testing-policy, code-review-policy, debugging-policy, git-policy: tests and test-suite layout (structured subfolders, never a flat tests/ dump), pre-delivery review, debugging, and commits/PRs.
|
|
20
20
|
- technical-writing-policy: any user-facing copy - UI labels, descriptions, hints, empty/error states, panel intros, README/doc prose - concise and realistic, no over-explaining or restating the obvious.
|
|
21
|
+
- logo-sourcing-policy: adding any real brand/platform/technology logo or icon - source the official asset (never fabricate one), prefer SVG (WebP for web), keep brand colors, and check contrast.
|
|
21
22
|
- 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.
|
|
22
23
|
|
|
23
24
|
### Always-On Rules (never skipped, even if no skill loads)
|
|
@@ -55,18 +56,6 @@
|
|
|
55
56
|
- Boundaries: code, comments, commit messages, and PR text are always written normally - compression applies only to chat prose. Always respond in the user's language regardless of level.
|
|
56
57
|
<!-- enigma:output-style:end -->
|
|
57
58
|
|
|
58
|
-
<!-- enigma:minimal-code:start -->
|
|
59
|
-
### Minimal Code (Anti-Overengineering)
|
|
60
|
-
|
|
61
|
-
- Default to **{{minimal-level}}** minimal-code discipline (full detail in anti-overengineering-policy). The best code is the code never written; before writing any, stop at the first rung that holds: 1) Does this need to exist at all? (YAGNI) 2) Does the standard library do it? 3) Does a native platform feature cover it? 4) Does an already-installed dependency solve it? 5) Can it be one line? 6) Only then the minimum code that works.
|
|
62
|
-
- No unrequested abstractions, no boilerplate "for later", deletion over addition, fewest files, shortest working diff. Mark deliberate shortcuts with an `enigma:` comment naming the ceiling and upgrade path.
|
|
63
|
-
- Levels (the user can switch any time, e.g. "be more lazy", "full", "ultra", or "stop minimal-code" to turn it off):
|
|
64
|
-
- **lite** - build what was asked, but name the lazier alternative in one line; the user picks.
|
|
65
|
-
- **full** - the ladder enforced: stdlib and native first, shortest diff and explanation. The default when enabled.
|
|
66
|
-
- **ultra** - YAGNI extremist: deletion before addition, ship the one-liner and challenge the rest of the requirement in the same response.
|
|
67
|
-
- Never simplify away: input validation at trust boundaries, error handling that prevents data loss, security, accessibility, hardware calibration, or anything explicitly requested. Non-trivial logic leaves ONE runnable check behind (testing-policy owns test strategy).
|
|
68
|
-
<!-- enigma:minimal-code:end -->
|
|
69
|
-
|
|
70
59
|
<!-- enigma:recall:start -->
|
|
71
60
|
### Session Memory (Recall)
|
|
72
61
|
|
|
@@ -85,16 +85,26 @@ deferred optimization stays visible and owned.
|
|
|
85
85
|
|
|
86
86
|
## Intensity (minimal-code setting)
|
|
87
87
|
|
|
88
|
-
The aggressiveness is set by `enigma config minimal-code <off|lite|full|ultra
|
|
89
|
-
|
|
90
|
-
mid-session, follow that for the session.
|
|
88
|
+
The aggressiveness is set by `enigma config minimal-code <off|lite|full|ultra>`,
|
|
89
|
+
rendered into the active-configuration block below when this skill is deployed.
|
|
90
|
+
When the user asks to be "more/less lazy" mid-session, follow that for the session.
|
|
91
91
|
|
|
92
92
|
| Level | Behavior |
|
|
93
93
|
|-------|----------|
|
|
94
|
+
| **off** | Discipline is opt-in only: build what was asked without pushing minimalism, and apply the ladder only when the user explicitly asks to simplify. |
|
|
94
95
|
| **lite** | Build what was asked, but name the lazier alternative in one line. The user picks. |
|
|
95
96
|
| **full** | The ladder enforced: stdlib and native first, shortest diff, shortest explanation. The default when enabled. |
|
|
96
97
|
| **ultra** | YAGNI extremist. Deletion before addition. Ship the one-liner and challenge the rest of the requirement in the same response. |
|
|
97
98
|
|
|
99
|
+
<!-- enigma:config:start -->
|
|
100
|
+
### Active configuration
|
|
101
|
+
|
|
102
|
+
- **minimal-code** = `{{minimalCode}}` - apply this intensity (see the table above).
|
|
103
|
+
|
|
104
|
+
This block is rendered by enigma from the user's `.enigma.json` at deploy time; do
|
|
105
|
+
not edit it by hand (it is regenerated on the next sync).
|
|
106
|
+
<!-- enigma:config:end -->
|
|
107
|
+
|
|
98
108
|
Example - "Add a cache for these API responses":
|
|
99
109
|
|
|
100
110
|
- lite: "Done. FYI: `functools.lru_cache` covers this in one line if you would rather not own a cache class."
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anti-overengineering-policy",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Minimal-code discipline - YAGNI ladder, deletion over addition, no unrequested abstractions, and the enigma: shortcut-marking convention; intensity via the minimal-code setting.",
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
"config": [
|
|
7
|
+
"minimalCode"
|
|
8
|
+
],
|
|
9
|
+
"updated": "2026-07-16T23:37:57+02:00",
|
|
10
|
+
"cliVersion": "1.29.0",
|
|
11
|
+
"sha": "fe9eb12dc280fee88fba32265394c83bdedd4820b4c23048e716b0954034ab51"
|
|
9
12
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "On-demand over-engineering review - diff review, whole-repo audit, and enigma: debt-marker ledger (tags delete/stdlib/native/yagni/shrink, line/dep scoring); lists cuts, applies nothing.",
|
|
6
6
|
"updated": "2026-06-16T11:24:30+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "f742a2be3f328b9ea1ff9a35a449177c2cbec35ad16e46f7054b7a873a2ab017"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
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
6
|
"updated": "2026-06-16T12:06:06+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "a46c3cd00aa5f47adb1e7907f1d2bc6f5562f7a272890dee9b1121976ac04ae1"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
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
6
|
"updated": "2026-06-26T13:40:52+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "dc9ceb784004b05a0117c464e4bed05946835a04acea282586c0b735ee7c2284"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Pre-delivery self-review gate, prioritized review dimensions, and change-quality criteria.",
|
|
6
6
|
"updated": "2026-06-01T00:45:28+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "3d3bbe0602d5bbb4afe37648fe3c2fa39376b1bcbac5d8c441f01fad1e866ed0"
|
|
9
9
|
}
|
|
@@ -41,6 +41,7 @@ description: Highest-authority engineering rules - priority hierarchy, modular a
|
|
|
41
41
|
- Any bug, crash, failing test, or unexpected behavior -> debugging-policy.
|
|
42
42
|
- Any commit, branch, or pull request -> git-policy.
|
|
43
43
|
- Any user-facing copy (UI labels, descriptions, hints, empty/error states, panel intros, README/doc prose) -> technical-writing-policy.
|
|
44
|
+
- Any logo or brand/technology icon added, embedded, or referenced (websites, READMEs, app UI, integration lists, tech-stack badges, social icons) -> logo-sourcing-policy.
|
|
44
45
|
- Any long, multi-item, or porting/migration task (1:1 ports, "migrate all", repo-wide changes, work spanning many files or sessions) -> task-completion-policy.
|
|
45
46
|
- When a task spans multiple domains, compose the relevant skills instead of re-deriving their rules.
|
|
46
47
|
- Never duplicate a specialized skill's rules inside another skill; reference it.
|
|
@@ -87,6 +88,7 @@ This core policy owns orchestration, architecture, and the global rules. Each co
|
|
|
87
88
|
- debugging-policy: reproduce-isolate-fix methodology and root-cause discipline.
|
|
88
89
|
- git-policy: commits, branches, and pull request standards.
|
|
89
90
|
- technical-writing-policy: concise, realistic user-facing copy - UI microcopy, labels, descriptions, hints, empty/error states, panel intros, and README/doc prose that informs without over-explaining, restating the obvious, or leaking implementation detail.
|
|
91
|
+
- logo-sourcing-policy: source real brand/platform/technology logos instead of fabricating them - vendor brand kits and vector-logo registries, SVG (WebP for web) preference, official colors, and contrast-aware placement; color-conflict resolution via the logo-color-policy setting.
|
|
90
92
|
- ciphera-style-policy: Ciphera code style conventions - formatting, naming, quotes, string interpolation, length-sorted imports, indentation, comments/JSDoc, and code-level anti-patterns (TypeScript-first, language-agnostic).
|
|
91
93
|
- anti-overengineering-policy: minimal-code discipline - the YAGNI ladder (stdlib/native/installed-dependency/one-line before custom code), deletion over addition, no unrequested abstractions, the enigma: shortcut-marking convention, and intensity via the minimal-code setting. Owns the detail behind the Anti-Overengineering Rule below.
|
|
92
94
|
- anti-overengineering-review: on-demand complexity-only review - diff review, whole-repo audit, and the enigma: debt-marker ledger (tags delete/stdlib/native/yagni/shrink, line/dep scoring). Lists cuts, applies nothing; correctness/security/performance stay with code-review-policy.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "core-engineering-policy",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.11.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Core engineering execution policy and harness orchestration (highest-authority rules).",
|
|
6
|
-
"updated": "2026-
|
|
7
|
-
"cliVersion": "1.
|
|
8
|
-
"sha": "
|
|
6
|
+
"updated": "2026-07-16T22:43:53+02:00",
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
|
+
"sha": "d132f20db08806054d95e58d3d56c2aa7ebc8e6dd24d902b0a0ed9ddfae216c5"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Senior database architecture policy: query optimization, anti-duplication/normalization, scalability, and RGPD/GDPR encryption.",
|
|
6
6
|
"updated": "2026-06-03T14:19:50+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "2883bcecb3202683ae6f81b073c3d6a9cec9c55029e011bdd06ba7ac3537297e"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Reproduce-isolate-fix debugging methodology with root-cause discipline and regression verification.",
|
|
6
6
|
"updated": "2026-06-01T00:45:28+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "14b0064c8b33a0dc85e51464b05005cf5801c756b1101789a6924b9548420f6b"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
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
6
|
"updated": "2026-06-01T00:45:28+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "6375d835c2aef2c9bd31ce116444dc3d796f510f9970a213aa3ac4696d7e21b9"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one.",
|
|
6
6
|
"updated": "2026-06-25T15:51:43-04:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "fb78be3233bf9caa67d1f522c19831542b23f47e440b02211b5a950c898318b9"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Frontend architecture: reusable components, abstraction thresholds, state management, no-op save detection, large-list rendering (infinite scroll/pagination, virtualization, skeletons, progressive loading), and optimistic UI with rollback.",
|
|
6
6
|
"updated": "2026-06-26T13:57:02+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "41cb938c9022efcdadc3056417cc7d442511adee40b09a141f11bb5fd9d56514"
|
|
9
9
|
}
|
|
@@ -25,6 +25,16 @@ description: Commit, branch, and pull request standards - conventional commits,
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
+
## Branch Cleanup
|
|
29
|
+
|
|
30
|
+
- Short-lived topic branches (fix/*, feat/*, chore/*) created for one change are disposable. Once that change has landed in the default branch - or the branch is otherwise dead (abandoned experiment, superseded work) - delete it, both local and remote, so the branch list does not rot.
|
|
31
|
+
- Delete a branch only when its work is safely preserved. Safe: the branch is fully merged into the default branch (`git branch --merged <default>` lists it). Careful: a squash-merged or rebase-merged branch does NOT show up as merged even though its content is already in the default branch - confirm the change is really there (compare content, or check the merged PR) before deleting.
|
|
32
|
+
- When in ANY doubt that a branch still holds unmerged, unreleased, or otherwise relevant commits, do NOT delete it - ask the user first. Leaving a stale branch is cheap; losing a branch that held unique work is not.
|
|
33
|
+
- Never delete a protected or long-lived branch (the default branch, release/*, or any branch the repo marks as protected) unless the user explicitly asks.
|
|
34
|
+
- Prune deleted upstreams periodically with `git fetch --prune` so gone remote branches stop lingering locally.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
28
38
|
## Cloning & Fetch Efficiency
|
|
29
39
|
|
|
30
40
|
- When cloning or pulling a repository, do not fetch the full history unless it is actually needed. A shallow fetch saves disk space, bandwidth, and time.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "git-policy",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Git & contribution policy (senior engineering standards).",
|
|
6
|
-
"updated": "2026-
|
|
7
|
-
"cliVersion": "1.
|
|
8
|
-
"sha": "
|
|
6
|
+
"updated": "2026-07-16T22:44:02+02:00",
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
|
+
"sha": "e6dfbc33884000d9d25841bd9c5a84d6558ffd374882cb7b34451eb2cebc2161"
|
|
9
9
|
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: logo-sourcing-policy
|
|
3
|
+
description: Source real brand, product, platform, and technology logos instead of fabricating them - search the web and vector-logo registries (Simple Icons, svgl, worldvectorlogo, cdnlogo, Iconify, devicon, the vendor's own brand/press kit), prefer SVG (and optimized WebP for web targets), keep official brand colors, and check contrast so a monochrome logo does not vanish on a matching background. Use whenever adding, embedding, or referencing a logo or brand/technology icon in any project - websites, READMEs, app UI, integration lists, tech-stack badges, social icons, footers, or splash/marketing pages. Color-conflict resolution follows the logo-color-policy setting (ask|adapt-background|adapt-logo).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Logo Sourcing Policy
|
|
7
|
+
|
|
8
|
+
Models fabricate the logos of real companies, products, platforms, and
|
|
9
|
+
technologies: they invent a plausible-looking mark, guess the wrong shape or
|
|
10
|
+
colors, or draw an outdated version. A fabricated brand logo is wrong output -
|
|
11
|
+
it misrepresents a trademark and looks amateur. This skill's rule is simple:
|
|
12
|
+
**never draw a real logo from memory - find the official asset.**
|
|
13
|
+
|
|
14
|
+
## The Rule
|
|
15
|
+
|
|
16
|
+
- If a task needs the logo or brand icon of a real entity (a company, product,
|
|
17
|
+
platform, framework, language, tool, social network, payment provider, etc.),
|
|
18
|
+
SOURCE the real asset. Do not redraw it, approximate it, or emit hand-written
|
|
19
|
+
SVG path data for it from memory.
|
|
20
|
+
- The only marks you may author are ones that do not exist yet: the user's own
|
|
21
|
+
project logo, a generic/placeholder glyph, or an abstract icon they asked you
|
|
22
|
+
to design.
|
|
23
|
+
- When you cannot obtain the real asset (no web access, not in any installed
|
|
24
|
+
package, unclear which variant), ask the user for it or leave a clearly
|
|
25
|
+
marked placeholder. Never fill the gap with an invented logo.
|
|
26
|
+
|
|
27
|
+
## Where to Source (in order)
|
|
28
|
+
|
|
29
|
+
1. **The vendor's own brand / press kit.** The authoritative source, and the
|
|
30
|
+
one that respects trademark guidelines. Search "<brand> brand assets" /
|
|
31
|
+
"<brand> press kit" / "<brand> logo svg". Many host a downloadable SVG.
|
|
32
|
+
2. **Curated vector-logo registries** (prefer these for breadth and SVG):
|
|
33
|
+
- Simple Icons - `simpleicons.org` (npm `simple-icons`, CDN via jsdelivr) - monochrome brand SVGs, huge coverage.
|
|
34
|
+
- svgl - `svgl.app` - modern, often includes light/dark variants.
|
|
35
|
+
- worldvectorlogo - `worldvectorlogo.com`, VectorLogoZone - `vectorlogo.zone`.
|
|
36
|
+
- cdnlogo - `cdnlogo.com`, seeklogo - `seeklogo.com`.
|
|
37
|
+
- Iconify - `iconify.design` (the `logos` set by gilbarbara, `simple-icons`, `devicon`) - one API for many logo sets.
|
|
38
|
+
- devicon - `devicon.dev` - developer/technology stack logos (languages, frameworks, tools).
|
|
39
|
+
- browser-logos - `github.com/alrra/browser-logos` (the cdnjs mirror) for browsers.
|
|
40
|
+
3. **An already-installed icon package** when the project has one - `react-icons`
|
|
41
|
+
(`si`/`fa` sets), `simple-icons`, `@iconify/*`, `lucide`/`devicons`. Reuse it
|
|
42
|
+
instead of fetching a file (dependency-policy owns adding a NEW one).
|
|
43
|
+
4. **A general web/image search** as the fallback - but verify you grabbed the
|
|
44
|
+
genuine current logo, not a fan edit, a competitor, or an old version.
|
|
45
|
+
|
|
46
|
+
Prefer the web when available; you may fetch and inspect these sources. If the
|
|
47
|
+
runtime has no web access, drop to an installed package, then to asking the user.
|
|
48
|
+
|
|
49
|
+
## Format Preference
|
|
50
|
+
|
|
51
|
+
- **SVG first**, always, when the target supports it: scalable, tiny, and its
|
|
52
|
+
colors are editable in the markup (which the contrast check below needs).
|
|
53
|
+
- **For web or WebP-capable targets**, when a raster is genuinely required
|
|
54
|
+
(a photo-real mark, a complex multi-gradient logo, or a surface that cannot
|
|
55
|
+
embed SVG), prefer an optimized **WebP** (or AVIF) over PNG - it is smaller
|
|
56
|
+
and loads faster. Keep a PNG fallback only if the target needs one.
|
|
57
|
+
- Never use JPEG for a logo (block artifacts, no transparency).
|
|
58
|
+
- Keep the asset at the resolution the layout needs; do not upscale a small
|
|
59
|
+
raster - fetch a vector or a larger source instead.
|
|
60
|
+
|
|
61
|
+
## Color and Contrast
|
|
62
|
+
|
|
63
|
+
Placing a logo without checking contrast produces an invisible mark - e.g. the
|
|
64
|
+
Apple logo is solid black or white, so a white Apple logo on a white background
|
|
65
|
+
disappears.
|
|
66
|
+
|
|
67
|
+
- When the asset is SVG, READ its `fill`/`stroke`/`stop-color`/`currentColor`
|
|
68
|
+
to learn its real colors. A single-color mark (all one `fill`, or driven by
|
|
69
|
+
`currentColor`) is monochrome and WILL clash with a same-tone background.
|
|
70
|
+
- Know the brand's official colors and preserve them; brand fidelity matters.
|
|
71
|
+
Many brands publish a full-color, a solid-black, and a solid-white variant -
|
|
72
|
+
pick the variant that fits the surface rather than recoloring the full-color
|
|
73
|
+
one.
|
|
74
|
+
- Ensure the placed logo meets a visible contrast against its actual background
|
|
75
|
+
before shipping it.
|
|
76
|
+
|
|
77
|
+
When a monochrome logo would clash with its background, resolve it per the
|
|
78
|
+
**logo-color-policy** setting (`enigma config logo-color-policy`):
|
|
79
|
+
|
|
80
|
+
| Value | Behavior |
|
|
81
|
+
|-------|----------|
|
|
82
|
+
| **ask** (default) | Stop and ask the user how to resolve it - recolor the background, add a container/badge behind the logo, swap to a different brand variant, or recolor the logo. Do not silently pick one. |
|
|
83
|
+
| **adapt-background** | Auto-resolve by giving the logo a contrasting container/background (a chip, card, or badge) and KEEP the logo's official colors. Preferred for brand fidelity. |
|
|
84
|
+
| **adapt-logo** | Auto-resolve by switching to the brand's opposite monochrome variant (or recoloring the mark) so it fits the existing background. |
|
|
85
|
+
|
|
86
|
+
The active mode is rendered into the block below when this skill is deployed, so
|
|
87
|
+
you always know which one applies without reading config.
|
|
88
|
+
|
|
89
|
+
<!-- enigma:config:start -->
|
|
90
|
+
### Active configuration
|
|
91
|
+
|
|
92
|
+
- **logo-color-policy** = `{{logoColorPolicy}}` - resolve a contrast clash using this mode.
|
|
93
|
+
|
|
94
|
+
This block is rendered by enigma from the user's `.enigma.json` at deploy time; do
|
|
95
|
+
not edit it by hand (it is regenerated on the next sync).
|
|
96
|
+
<!-- enigma:config:end -->
|
|
97
|
+
|
|
98
|
+
## Trademark Respect
|
|
99
|
+
|
|
100
|
+
Brand logos are trademarks. Follow the brand's usage guidelines: respect clear
|
|
101
|
+
space, do not distort, stretch, or rotate the mark, and do not recolor it beyond
|
|
102
|
+
the contrast resolution above (and even then, prefer an official variant). Use
|
|
103
|
+
each logo only to identify the real product it represents.
|
|
104
|
+
|
|
105
|
+
## Boundaries
|
|
106
|
+
|
|
107
|
+
This skill governs sourcing and placing REAL logos. Designing an original
|
|
108
|
+
project logo or a generic icon is normal creative work and is out of scope.
|
|
109
|
+
Adding a NEW icon dependency is owned by dependency-policy; visual/layout
|
|
110
|
+
design is owned by frontend-design.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "logo-sourcing-policy",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"provider": "FJRG2007/enigma",
|
|
5
|
+
"description": "Source real brand/platform/technology logos instead of inventing them - vector-logo registries and vendor brand kits, SVG (WebP for web) preference, official colors, and contrast-aware placement; color-conflict resolution via the logo-color-policy setting.",
|
|
6
|
+
"config": [
|
|
7
|
+
"logoColorPolicy"
|
|
8
|
+
],
|
|
9
|
+
"updated": "2026-07-16T23:37:57+02:00",
|
|
10
|
+
"cliVersion": "1.29.0",
|
|
11
|
+
"sha": "e2c8b8898ab02d3e6b337533dfb1a955c30a4f5a33f0fb67e738ca3cb35eeac7"
|
|
12
|
+
}
|
|
@@ -4,6 +4,6 @@
|
|
|
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
6
|
"updated": "2026-06-01T00:45:28+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "9971e9d9127397d0152e89d24aad3191e2935e55a8483db7fd15f5d4d7a60e7a"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Create new skills, modify and improve existing skills, and measure skill performance with evals and benchmarks.",
|
|
6
6
|
"updated": "2026-06-16T16:39:13+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "699586cce82ec0a5458288b598ee7e5ebdddb3dfcf19db354d8bc5e85e47c1c7"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Exhaustive completion discipline for long/multi-item tasks - inventory, coverage ledger, verified done.",
|
|
6
6
|
"updated": "2026-06-10T22:11:09+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "6e3facba307eb2b55cefbab2e4b2a346a2b82f93c3ef47e11ebeb78c3c9453a8"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Concise, realistic technical copy - UI microcopy, descriptions, hints, empty/error states, and README/doc prose that informs without over-explaining or restating the obvious.",
|
|
6
6
|
"updated": "2026-06-26T14:09:06+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "e750988b8de51d8a69be621673dceca5413ebad7e1a48e40acd18aad526d9928"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Test strategy, coverage gates, deterministic tests, mocking discipline, regression-first bug fixing, and test-suite organization (layout by type/domain, mirrored paths, file naming, fixture/helper placement).",
|
|
6
6
|
"updated": "2026-06-16T17:11:49+02:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "3bdf591057b760f674fb2b1425f63acb426cda2c4f042e1a74c5a5d3807df664"
|
|
9
9
|
}
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
"provider": "FJRG2007/enigma",
|
|
5
5
|
"description": "Strict frontend + backend schema validation, schema consistency, and safe client-facing error handling.",
|
|
6
6
|
"updated": "2026-06-25T18:21:50-04:00",
|
|
7
|
-
"cliVersion": "1.
|
|
7
|
+
"cliVersion": "1.29.0",
|
|
8
8
|
"sha": "50349f5b3c55cc337f828dd510c163550614832acb28714871210a7c115a1501"
|
|
9
9
|
}
|
package/bin/checksums.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"enigma-darwin-arm64": "
|
|
3
|
-
"enigma-linux-arm64": "
|
|
4
|
-
"enigma-linux-x64": "
|
|
5
|
-
"enigma-win32-x64.exe": "
|
|
2
|
+
"enigma-darwin-arm64": "c52f05f96a6bf94d1e8b49bc6254129c891205044f9ff93896ad0bec7a02860d",
|
|
3
|
+
"enigma-linux-arm64": "9fa10c39807a135737e2c3282b177314cdf17f45ab3a0ed12840999e100d120c",
|
|
4
|
+
"enigma-linux-x64": "7875a966d0c28a44060a2ce4d27895175455ce5cc547426751600896d9416dd2",
|
|
5
|
+
"enigma-win32-x64.exe": "9bf80ef1a2c62c90b1412235e3099a0a6d83047a5db4f1d42f6b146562f4149f"
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "enigma-cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.29.0",
|
|
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": {
|