@ngockhoale/ukit 3.4.8 → 3.4.10

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/CHANGELOG.md CHANGED
@@ -2,7 +2,10 @@
2
2
 
3
3
  All notable changes to UKit are documented here.
4
4
 
5
- ## 3.4.7 - 2026-10-01
5
+ ## 3.4.8 - 2026-10-01
6
+
7
+ (3.4.7 and 3.4.9 were lost to npm staged-version E409 limbo; 3.4.8 landed and its `latest` tag was assigned via `npm dist-tag`.)
8
+
6
9
 
7
10
  **Completion gate no longer demands an edit for read-only questions.** The
8
11
  skill router now stamps `routingContext.mutationOrder` (was the prompt a real
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngockhoale/ukit",
3
- "version": "3.4.8",
3
+ "version": "3.4.10",
4
4
  "description": "Install/update an index-first AI workspace for Claude Code, OpenAI Codex and omp (Oh My Pi).",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -201,7 +201,14 @@ async function evaluate({ rawInput, projectRoot, env }) {
201
201
  const rawBase = normalized.split('/').pop();
202
202
  if (!rawBase) return null;
203
203
  const base = rawBase.toLowerCase();
204
- if (base.endsWith('.env.example')) return null;
204
+ // .env* placeholders that carry no secrets by convention: any dotenv file
205
+ // whose basename marks it a non-secret distributable — .env.example,
206
+ // .env.example.local, .env.examples, .env.sample, .env.dist,
207
+ // .env.template, .env.dev.example. The marker must appear after the
208
+ // '.env' prefix so a real env file can never dodge by containing the word
209
+ // earlier (there is nothing before '.env' in the basename anyway — the
210
+ // check is anchored on the dotenv name itself).
211
+ if (/^\.env[._-]?.*\b(example|examples|sample|template|dist)\b/i.test(base)) return null;
205
212
  if (base === '.env' || base.startsWith('.env.')) return 'dotenv/secret env file';
206
213
  if (base.endsWith('.pub') || base.endsWith('.public')) return null;
207
214
  if (/^id_(rsa|dsa|ecdsa|ed25519)(\.|$)/.test(base)) return 'SSH private key';