From 9e17f1bf297b7e386ecd6d9e6e5b785f0a32a056 Mon Sep 17 00:00:00 2001 From: Timmy Date: Tue, 7 Apr 2026 09:38:12 +0800 Subject: [PATCH] Add CLI source code and update .gitignore --- .gitignore | 5 +- cli_anything/codimd/README.md | 118 ++++ cli_anything/codimd/__init__.py | 7 + cli_anything/codimd/codimd_cli.py | 659 +++++++++++++++++++++ cli_anything/codimd/core/__init__.py | 21 + cli_anything/codimd/core/client.py | 70 +++ cli_anything/codimd/core/config.py | 77 +++ cli_anything/codimd/core/export.py | 97 +++ cli_anything/codimd/core/note.py | 183 ++++++ cli_anything/codimd/core/revision.py | 59 ++ cli_anything/codimd/core/session.py | 88 +++ cli_anything/codimd/core/user.py | 115 ++++ cli_anything/codimd/skills/SKILL.md | 196 ++++++ cli_anything/codimd/tests/TEST.md | 232 ++++++++ cli_anything/codimd/tests/__init__.py | 1 + cli_anything/codimd/tests/test_core.py | 366 ++++++++++++ cli_anything/codimd/tests/test_full_e2e.py | 307 ++++++++++ cli_anything/codimd/utils/__init__.py | 63 ++ 18 files changed, 2663 insertions(+), 1 deletion(-) create mode 100644 cli_anything/codimd/README.md create mode 100644 cli_anything/codimd/__init__.py create mode 100644 cli_anything/codimd/codimd_cli.py create mode 100644 cli_anything/codimd/core/__init__.py create mode 100644 cli_anything/codimd/core/client.py create mode 100644 cli_anything/codimd/core/config.py create mode 100644 cli_anything/codimd/core/export.py create mode 100644 cli_anything/codimd/core/note.py create mode 100644 cli_anything/codimd/core/revision.py create mode 100644 cli_anything/codimd/core/session.py create mode 100644 cli_anything/codimd/core/user.py create mode 100644 cli_anything/codimd/skills/SKILL.md create mode 100644 cli_anything/codimd/tests/TEST.md create mode 100644 cli_anything/codimd/tests/__init__.py create mode 100644 cli_anything/codimd/tests/test_core.py create mode 100644 cli_anything/codimd/tests/test_full_e2e.py create mode 100644 cli_anything/codimd/utils/__init__.py diff --git a/.gitignore b/.gitignore index c7257e4..0dfb1ee 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ __pycache__/ *.py[cod] *$py.class +**/__pycache__/ # C extensions *.so @@ -150,8 +151,10 @@ cython_debug/ # CodiMD source (too large) codimd/ -# Session data +# Session data (but keep package configs) +/.config/ *.json !setup.json !package.json !package-lock.json +!pyproject.toml diff --git a/cli_anything/codimd/README.md b/cli_anything/codimd/README.md new file mode 100644 index 0000000..3e849ed --- /dev/null +++ b/cli_anything/codimd/README.md @@ -0,0 +1,118 @@ +# CodiMD CLI Harness + +A stateful CLI for [CodiMD](https://github.com/hackmdio/codimd) - collaborative markdown notes on all platforms. + +## Installation + +```bash +pip install cli-anything-codimd +``` + +## Quick Start + +```bash +# Set your CodiMD server +cli-anything-codimd config set server https://your-codimd-server.com + +# List your notes +cli-anything-codimd note list + +# Create a new note +cli-anything-codimd note create --content "# My New Note\n\nHello world" + +# Get note content +cli-anything-codimd note get + +# Export as markdown +cli-anything-codimd export markdown --output note.md + +# Get user info +cli-anything-codimd user me +``` + +## Commands + +### Note Operations + +| Command | Description | +|---------|-------------| +| `note list` | List user's notes | +| `note get ` | Get note content | +| `note create` | Create new note | +| `note update ` | Update note content | +| `note delete ` | Delete note | +| `note info ` | Get note metadata | +| `note publish ` | Get publish link | + +### User Operations + +| Command | Description | +|---------|-------------| +| `user me` | Get current user info | +| `user login` | Login to server | +| `user logout` | Logout from session | +| `user export` | Export all user data | +| `user delete` | Delete user account | + +### Export Operations + +| Command | Description | +|---------|-------------| +| `export markdown ` | Export as markdown | +| `export pdf ` | Export as PDF | +| `export html ` | Export as HTML | +| `export slide ` | Export as reveal.js slides | + +### Revision Operations + +| Command | Description | +|---------|-------------| +| `revision list ` | List note revisions | +| `revision get