Communitygithub.com

cli-anything-joplin

Interfaz de línea de comandos para flujos de trabajo de Joplin utilizando el backend real de terminal joplin.

¿Qué es cli-anything-joplin?

Este skill proporciona un harness con estado para automatizar flujos de trabajo de Joplin (notebooks, notas, tareas pendientes, etiquetas, adjuntos, búsqueda, sincronización e importación/exportación) a través del binario real `joplin` de terminal. Es compatible con plataformas como Claude Code, Cursor y Codex. El harness ofrece modos REPL y de comandos únicos con salida JSON, soporte para múltiples perfiles de Joplin y persistencia de proyectos. Las operaciones se organizan en grupos de comandos (proyecto, notebooks, notas, tareas, etiquetas, búsqueda, sincronización, interop, configuración, adjuntos, estado, backend, servidor, e2ee y sesión), lo que facilita la integración en flujos de trabajo multi-paso. Además, incluye manejo robusto de errores, detección automática de la ruta del binario `joplin` y una suite completa de pruebas que valida tanto el core como la integración con el backend real, lo que lo hace ideal para desarrolladores que necesitan gestionar Joplin desde la terminal o desde agentes de IA.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-joplin

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace cli-anything-joplin?

Usa este skill para automatizar flujos de trabajo de Joplin (notebooks, notas, tareas pendientes, etiquetas, adjuntos, búsqueda, sincronización e importación/exportación) a través de un harness con estado respaldado por el binario real de terminal joplin.

Requisitos

  • Python 3.10+
  • Binario de terminal de Joplin disponible como joplin
  • Opcional: pasa --profile para apuntar a un perfil específico de Joplin

Instalación

cd joplin/agent-harness
pip install -e .

Uso

# Modo REPL (predeterminado)
cli-anything-joplin

# Comando único legible por máquina
cli-anything-joplin --json notebooks list

# Proyecto con estado
cli-anything-joplin project new --name demo -o ./demo.joplin-harness.json
cli-anything-joplin --project ./demo.joplin-harness.json notes create "Nota de reunión"

# Simulación (sin guardado automático)
cli-anything-joplin --json --dry-run --project ./demo.joplin-harness.json notes create temp

Contrato de salida JSON

Cuando --json está habilitado, los comandos devuelven:

  • ok: booleano
  • command: identificador de comando estable, p. ej., notes.list, todos.toggle
  • data: carga útil del comando
  • error: null en éxito, o { type, message } en fallo

Grupos de comandos

  • 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

Guía para el agente

  • Prefiere --json para salida analizable.
  • Usa --project al ejecutar flujos de trabajo multi-paso para que el historial se persista.
  • Los comandos mutantes de un solo uso guardan automáticamente el proyecto a menos que se establezca --dry-run.
  • El modo REPL no guarda automáticamente; ejecuta project save explícitamente.
  • Algunas compilaciones de la CLI de Joplin bloquean search detrás del modo GUI; si ves "only available in GUI mode", trata la búsqueda como un esfuerzo opcional.
  • Joplin 3.6.x puede tener un comando version roto en diseños globales de npm; el harness recurre a metadatos de paquetes instalados para backend version, explorando el directorio binario resuelto por enlace simbólico, el hermano node_modules/joplin estilo Windows, el padre lib/node_modules/joplin estilo Unix y finalmente npm root -g.
  • La salida stdout/stderr del backend en los resultados del comando es textual; no asumas que las advertencias se eliminaron de los cuerpos de notas o exportaciones.
  • En caso de fallo, analiza error usando el mismo campo command que en éxito (config.import_file, e2ee.decrypt_file). Los subcomandos de varias palabras usan un solo punto entre el grupo y el subcomando.

Flujo de trabajo de prueba

# Bucle de retroalimentación rápida
python -m pytest -q cli_anything/joplin/tests/test_core.py
python -m pytest -q cli_anything/joplin/tests/test_full_e2e.py::TestCLISubprocess

# Backend real (joplin debe estar en 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

# Suite completa
python -m pytest -v --tb=no cli_anything/joplin/tests

# Verificar el punto de entrada del script de consola instalado
CLI_ANYTHING_FORCE_INSTALLED=1 python -m pytest -v -s cli_anything/joplin/tests/test_full_e2e.py

Línea base de validación actual (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

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-browser

Browser automation CLI using DOMShell MCP server. Maps Chrome

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

Skills relacionados