Skip to main content

cli-anything-joplin

Command-line interface for Joplin workflows using the real joplin terminal backend

설치로 이동

소스 정보

저장소
HKUDS/CLI-Anything
최근 소스 활동
2026년 5월 28일 11:26
감지된 SKILL.md 언어
영어
스타
49,486
포크
4,565

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
cli-anything-joplin
description
Command-line interface for Joplin workflows using the real joplin terminal backend
# cli-anything-joplin Use this skill to automate Joplin notebook, note, to-do, tag, attachment, search, sync, and import/export workflows through a stateful harness backed by the real `joplin` terminal binary. ## Requirements - Python 3.10+ - Joplin terminal binary available as `joplin` - Optional: pass `--profile` to target a specific Joplin profile ## Install ```bash cd joplin/agent-harness pip install -e . ``` ## Usage ```bash # REPL mode (default) cli-anything-joplin # Machine-readable one-shot command cli-anything-joplin --json notebooks list # Stateful project cli-anything-joplin project new --name demo -o ./demo.joplin-harness.json cli-anything-joplin --project ./demo.joplin-harness.json notes create "Meeting note" # Dry-run (no auto-save) cli-anything-joplin --json --dry-run --project ./demo.joplin-harness.json notes create temp ``` ## JSON output contract When `--json` is enabled, commands return: - `ok`: boolean - `command`: stable command identifier such as `notes.list`, `todos.toggle` - `data`: command payload - `error`: null on success, or `{ type, message }` on failure ## Command groups - `project`: `new`, `open`, `save`, `info`, `json`, `status` - `notebooks`: `list`, `create`, `use`, `remove` - `notes`: `list`, `create`, `set`, `get`, `remove`, `copy`, `move`, `rename` - `todos`: `list`, `create`, `toggle`, `clear`, `done`, `undone` - `tags`: `list`, `add`, `remove`, `notetags`, `tagnotes` - `search`: `run` - `sync`: `run` (`--target`, `--upgrade`, `--use-lock`) - `interop`: `import`, `export` - `config`: `get`, `set`, `list`, `export`, `import-file` - `attach`: `add` - `status`: `show`, `restore` - `backend`: `version`, `dump`, `keymap`, `geoloc`, `export-sync-status` - `server`: `status`, `start`, `stop` - `e2ee`: `status`, `target-status`, `decrypt`, `decrypt-file` - `session`: `status`, `undo`, `redo`, `history` ## Agent guidance - Prefer `--json` for parseable output. - Use `--project` when running multi-step workflows so history is persisted. - One-shot mutating commands auto-save the project unless `--dry-run` is set. - REPL mode does not auto-save; run `project save` explicitly. - Some Joplin CLI builds gate `search` behind GUI mode; if you see `"only available in GUI mode"`, treat search as best-effort. - Joplin 3.6.x can have a broken `version` command in npm global layouts; the harness falls back to installed package metadata for `backend version`, probing the symlink-resolved binary directory, the Windows-style sibling `node_modules/joplin`, the Unix-style parent `lib/node_modules/joplin`, and finally `npm root -g`. - Backend `stdout`/`stderr` in command results are verbatim; do not assume warnings were stripped from note bodies or exports. - On failure, parse `error` using the same `command` field as success (`config.import_file`, `e2ee.decrypt_file`). Multi-word subcommands use a single dot between group and subcommand. ## Test workflow ```bash # Quick feedback loop python -m pytest -q cli_anything/joplin/tests/test_core.py python -m pytest -q cli_anything/joplin/tests/test_full_e2e.py::TestCLISubprocess # Real backend (joplin must be in PATH) python -m pytest -v cli_anything/joplin/tests/test_full_e2e.py::TestBackendCommands python -m pytest -v cli_anything/joplin/tests/test_full_e2e.py::TestBackendWorkflows python -m pytest -v cli_anything/joplin/tests/test_full_e2e.py::TestBackendIntegration # Full suite python -m pytest -v --tb=no cli_anything/joplin/tests # Verify the installed console script entry point CLI_ANYTHING_FORCE_INSTALLED=1 python -m pytest -v -s cli_anything/joplin/tests/test_full_e2e.py ``` Current validation baseline (Windows + Joplin CLI 3.6.2): - `python -m pytest -q cli_anything/joplin/tests/test_core.py` -> `107 passed` - `python -m pytest -q cli_anything/joplin/tests` -> `134 passed, 1 skipped`
GitHub에서 보기