From 120c66071ddb0fc4b02e28ecff238ccdbae0821d Mon Sep 17 00:00:00 2001 From: blamouche Date: Sun, 26 Apr 2026 14:44:58 +0200 Subject: [PATCH] Drop CLIs and Claude Code from descriptions to clear sentence-case flags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The community bot still flagged two sentence-case violations after 0.1.38. Both sit in the manifest.json description: the plural acronym "CLIs" and the multi-word product name "Claude Code" — neither is in the linter's known-acronym / proper-noun lists, so they get flagged mid-sentence. Reworded the description to "Run AI coding tools like Claude or Codex from a right sidebar terminal panel." in both manifest.json (the field the bot actually scans) and package.json (kept in sync for npm metadata). Also switched the local ESLint config from `recommended` to `recommendedWithLocalesEn` so future runs match the bot's severity, and added explicit ignores for non-source JSON / lockfiles. Co-Authored-By: Claude Opus 4.7 (1M context) --- .prompt-hub/memory.md | 1 + .prompt-hub/releases.md | 4 ++++ .prompt-hub/version.md | 2 +- eslint.config.mjs | 9 +++++++-- manifest.json | 4 ++-- package-lock.json | 4 ++-- package.json | 4 ++-- versions.json | 3 ++- 8 files changed, 21 insertions(+), 10 deletions(-) diff --git a/.prompt-hub/memory.md b/.prompt-hub/memory.md index 2e90cb6..5a9ce2c 100644 --- a/.prompt-hub/memory.md +++ b/.prompt-hub/memory.md @@ -55,3 +55,4 @@ | 2026-04-26 08:46:00 CEST | agent | After Obsidian submission bot rejected the previous id for containing `obsidian`, renamed `obsidian-any-ai-cli` → `any-ai-cli` everywhere (verified free in public community-plugins.json). Bumped to 0.1.36, validated build/tests. | `manifest.json`, `versions.json`, `package.json`, `package-lock.json`, `.github/workflows/release.yml`, `README.md`, `npm run build`, `npm test`, `.prompt-hub/version.md`, `.prompt-hub/releases.md` | success | Commit, push, annotated tag 0.1.36, push tag. User must publish the draft release manually for the bot to find it. | | 2026-04-26 14:10:00 CEST | agent | Resolved Obsidian community automated-scan errors: converted all `require()` to ES imports, removed unnecessary `async` on `onOpen`/`onClose`/`onunload`/`startClaudeProcess`, voided promises in ribbon/command callbacks, renamed UI labels to sentence case (`CLI AI Assistant` → `Any AI CLI`), dropped `obsidian-` prefix on the command id, and fixed the strict-mode null-safety on `getRightLeaf`. Validated build (no TS errors), 27 tests pass. | `main.ts`, `manifest.json`, `versions.json`, `package.json`, `package-lock.json`, `npm run build`, `npx tsc --noEmit`, `npm test`, `.prompt-hub/version.md`, `.prompt-hub/releases.md` | success | Commit, push, annotated tag 0.1.37; user must publish the draft release for the bot to re-scan. | | 2026-04-26 14:20:00 CEST | agent | Installed `eslint-plugin-obsidianmd` (with `eslint`, `@typescript-eslint/parser`), added flat-config (`eslint.config.mjs`) scoped to TS files with a `tests/` rules override, added `npm run lint` script and wired it into CI. Fixed every reported lint issue: sentence case (button labels, dropdown placeholder, descriptions), removed plugin name from command palette name, switched UUID generation to `node:crypto`, awaited `revealLeaf` and bumped `minAppVersion` to `1.7.2`. Lint clean, build clean, tsc clean, 27 tests pass. | `package.json`, `package-lock.json`, `eslint.config.mjs`, `.github/workflows/ci.yml`, `main.ts`, `runtime-utils.ts`, `manifest.json`, `versions.json`, `README.md`, `npm run lint`, `npm run build`, `npx tsc --noEmit`, `npm test`, `.prompt-hub/version.md`, `.prompt-hub/releases.md` | success | Commit, push, annotated tag 0.1.38; user publishes the draft release for the bot to re-scan. | +| 2026-04-26 14:30:00 CEST | agent | Bot still flagged 2 sentence-case issues after 0.1.38, both in `manifest.json` description (plural acronym `CLIs` and multi-word product name `Claude Code`). Reworded both `manifest.json` and `package.json` descriptions to drop those terms, switched local lint to `recommendedWithLocalesEn` for parity with the bot, and re-tagged `0.1.39`. | `manifest.json`, `package.json`, `eslint.config.mjs`, `.prompt-hub/version.md`, `.prompt-hub/releases.md` | success | Commit, push, annotated tag 0.1.39, user re-publishes draft release. | diff --git a/.prompt-hub/releases.md b/.prompt-hub/releases.md index 65e9f94..6dfabed 100644 --- a/.prompt-hub/releases.md +++ b/.prompt-hub/releases.md @@ -1,5 +1,9 @@ # Releases +## 0.1.39 - 2026-04-26 +- Reworded the `manifest.json` and `package.json` descriptions from `Run AI coding CLIs like Claude Code or Codex from a right sidebar terminal panel.` to `Run AI coding tools like Claude or Codex from a right sidebar terminal panel.` so the Obsidian sentence-case scanner stops flagging the plural acronym `CLIs` and the multi-word product name `Claude Code` as title-case violations. +- Switched the local ESLint config from `obsidianmd/recommended` to `obsidianmd/recommendedWithLocalesEn` (the same severity as the community submission bot) and added explicit ignores for non-source JSON / lockfiles so future stricter checks land in CI. + ## 0.1.38 - 2026-04-26 - Installed [eslint-plugin-obsidianmd](https://github.com/obsidianmd/eslint-plugin) (`eslint`, `@typescript-eslint/parser`, `eslint-plugin-obsidianmd`) and added an `eslint.config.mjs` flat config that wires the plugin's `recommended` ruleset to project TS files, with an override turning off `obsidianmd/hardcoded-config-path` for the `tests/` fixtures. - Added an `npm run lint` script (scoped to `main.ts`, `runtime-utils.ts`, and `tests/**/*.ts`) and wired it into the CI workflow before `npm run test` so guideline violations are caught on every push/PR. diff --git a/.prompt-hub/version.md b/.prompt-hub/version.md index 5786113..528bd04 100644 --- a/.prompt-hub/version.md +++ b/.prompt-hub/version.md @@ -1 +1 @@ -0.1.38 +0.1.39 diff --git a/eslint.config.mjs b/eslint.config.mjs index e939407..a8107cc 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -10,10 +10,15 @@ export default defineConfig([ "dist/**", "__pycache__/**", "*.config.mjs", - "*.config.js" + "*.config.js", + "package.json", + "package-lock.json", + "tsconfig.json", + "versions.json", + ".prompt-hub/**" ] }, - ...obsidianmd.configs.recommended, + ...obsidianmd.configs.recommendedWithLocalesEn, { files: ["**/*.ts"], languageOptions: { diff --git a/manifest.json b/manifest.json index 0ad55ff..95f64ff 100644 --- a/manifest.json +++ b/manifest.json @@ -1,9 +1,9 @@ { "id": "any-ai-cli", "name": "Any AI CLI", - "version": "0.1.38", + "version": "0.1.39", "minAppVersion": "1.7.2", - "description": "Run AI coding CLIs like Claude Code or Codex from a right sidebar terminal panel.", + "description": "Run AI coding tools like Claude or Codex from a right sidebar terminal panel.", "author": "Benoit Lamouche", "authorUrl": "https://lamouche.fr", "isDesktopOnly": true diff --git a/package-lock.json b/package-lock.json index 6acd802..5db25f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "any-ai-cli", - "version": "0.1.37", + "version": "0.1.39", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "any-ai-cli", - "version": "0.1.37", + "version": "0.1.39", "license": "MIT", "dependencies": { "@xterm/addon-fit": "^0.11.0", diff --git a/package.json b/package.json index d582fa5..5da0f39 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "any-ai-cli", - "version": "0.1.38", - "description": "Open your local Claude Code CLI inside an Obsidian right sidebar view", + "version": "0.1.39", + "description": "Run AI coding tools like Claude or Codex from a right sidebar terminal panel.", "main": "main.js", "scripts": { "dev": "node esbuild.config.mjs", diff --git a/versions.json b/versions.json index 58824b0..0dd1549 100644 --- a/versions.json +++ b/versions.json @@ -8,5 +8,6 @@ "0.1.35": "1.5.0", "0.1.36": "1.5.0", "0.1.37": "1.5.0", - "0.1.38": "1.7.2" + "0.1.38": "1.7.2", + "0.1.39": "1.7.2" }