myeliza-cli 1.0.0__tar.gz
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.
- myeliza_cli-1.0.0/.gitignore +9 -0
- myeliza_cli-1.0.0/CHANGELOG.md +26 -0
- myeliza_cli-1.0.0/LICENSE +21 -0
- myeliza_cli-1.0.0/PKG-INFO +310 -0
- myeliza_cli-1.0.0/README.md +275 -0
- myeliza_cli-1.0.0/docs/n8n/README.md +54 -0
- myeliza_cli-1.0.0/pyproject.toml +65 -0
- myeliza_cli-1.0.0/skills/README.md +34 -0
- myeliza_cli-1.0.0/skills/eliza-bot/SKILL.md +88 -0
- myeliza_cli-1.0.0/skills/eliza-businesscontext/SKILL.md +96 -0
- myeliza_cli-1.0.0/skills/eliza-contenttypes/SKILL.md +72 -0
- myeliza_cli-1.0.0/skills/eliza-contracts/SKILL.md +115 -0
- myeliza_cli-1.0.0/skills/eliza-dms/SKILL.md +217 -0
- myeliza_cli-1.0.0/skills/eliza-dsg/SKILL.md +117 -0
- myeliza_cli-1.0.0/skills/eliza-forms/SKILL.md +117 -0
- myeliza_cli-1.0.0/skills/eliza-glossar/SKILL.md +69 -0
- myeliza_cli-1.0.0/skills/eliza-ims/SKILL.md +96 -0
- myeliza_cli-1.0.0/skills/eliza-issues/SKILL.md +137 -0
- myeliza_cli-1.0.0/skills/eliza-kpi/SKILL.md +116 -0
- myeliza_cli-1.0.0/skills/eliza-measuring/SKILL.md +82 -0
- myeliza_cli-1.0.0/skills/eliza-okr/SKILL.md +110 -0
- myeliza_cli-1.0.0/skills/eliza-organisation/SKILL.md +216 -0
- myeliza_cli-1.0.0/skills/eliza-processes/SKILL.md +132 -0
- myeliza_cli-1.0.0/skills/eliza-projects/SKILL.md +124 -0
- myeliza_cli-1.0.0/skills/eliza-resources/SKILL.md +86 -0
- myeliza_cli-1.0.0/skills/eliza-spaces/SKILL.md +216 -0
- myeliza_cli-1.0.0/skills/eliza-standards/SKILL.md +98 -0
- myeliza_cli-1.0.0/skills/eliza-streams/SKILL.md +186 -0
- myeliza_cli-1.0.0/skills/eliza-swot/SKILL.md +100 -0
- myeliza_cli-1.0.0/skills/eliza-time/SKILL.md +127 -0
- myeliza_cli-1.0.0/skills/eliza-tutorials/SKILL.md +111 -0
- myeliza_cli-1.0.0/skills/eliza-users/SKILL.md +164 -0
- myeliza_cli-1.0.0/src/myeliza_cli/__init__.py +3 -0
- myeliza_cli-1.0.0/src/myeliza_cli/client.py +121 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/__init__.py +1 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/auth.py +67 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/bot.py +112 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/businesscontext.py +123 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/contenttypes.py +63 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/contracts.py +227 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/dms.py +753 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/dsg.py +151 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/forms.py +144 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/glossar.py +106 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/ims.py +125 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/issues.py +256 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/kpi.py +99 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/measuring.py +117 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/okr.py +159 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/organisation.py +331 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/processes.py +200 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/projects.py +218 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/resources.py +152 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/spaces.py +340 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/standards.py +119 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/streams.py +229 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/swot.py +143 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/time.py +137 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/tutorials.py +157 -0
- myeliza_cli-1.0.0/src/myeliza_cli/commands/users.py +164 -0
- myeliza_cli-1.0.0/src/myeliza_cli/config.py +172 -0
- myeliza_cli-1.0.0/src/myeliza_cli/main.py +89 -0
- myeliza_cli-1.0.0/src/myeliza_cli/mcp_server.py +1853 -0
- myeliza_cli-1.0.0/src/myeliza_cli/output.py +70 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [1.0.0] - 2026-03-27
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **24 CLI-Module:** issues, dms, forms, kpi, processes, spaces, standards, streams, time, users, contenttypes, glossar, organisation, contracts, projects, tutorials, okr, swot, dsg, bot, measuring, resources, businesscontext, ims
|
|
9
|
+
- **MCP-Server** mit ~70 Tools für AI-Agent-Integration (Claude Cowork, Claude Code, Cursor)
|
|
10
|
+
- **Spaces-Erweiterungen:** card-get, card-comments, card-comment-add mit Multipart-Upload
|
|
11
|
+
- **Issues:** Serial Number Lookup (`--serial` Flag)
|
|
12
|
+
- **Multi-Instanz-Support:** Konfiguration in `~/.myeliza/config.yaml`
|
|
13
|
+
- **Output-Formate:** Rich Table (default), JSON, CSV
|
|
14
|
+
- Organisation: Skill-Assignment Commands — skills, skill-categories, skill-entries, skill-entry-add, skill-entry-remove, qualifikationen, qualifikation-add
|
|
15
|
+
- Users: User-Management Commands — create, update, deactivate, activate, set-password, invite
|
|
16
|
+
- Users: groups --search Filter für Gruppensuche nach Name
|
|
17
|
+
- Users: user_type Option bei create und update (--user-type consultant)
|
|
18
|
+
- Time: Public Holiday Commands — holidays, holiday-create, holiday-delete
|
|
19
|
+
- DMS: `dms export` Command — Markdown-Beschreibungen als professionelle PDF oder DOCX exportieren mit Logo, Cover-Seite und Branding
|
|
20
|
+
- Spaces: card-set-parent und card-clear-parent Commands zum Verknüpfen von Cards mit Objekten
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
- Package umbenannt von `eliza-cli` zu `myeliza-cli`
|
|
24
|
+
- Command umbenannt von `eliza` zu `myeliza`
|
|
25
|
+
- Config-Pfad: `~/.myeliza/` mit Fallback auf `~/.eliza/`
|
|
26
|
+
- PyPI-ready: Classifiers, URLs, Keywords, LICENSE
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025-2026 ELIZA AG
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: myeliza-cli
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Command-line interface and MCP server for the ELIZA platform
|
|
5
|
+
Project-URL: Homepage, https://eliza.swiss
|
|
6
|
+
Project-URL: Documentation, https://docs.eliza.swiss
|
|
7
|
+
Project-URL: Repository, https://gitlab.com/eliza.swiss/myeliza-cli
|
|
8
|
+
Project-URL: Issues, https://gitlab.com/eliza.swiss/myeliza-cli/-/issues
|
|
9
|
+
Project-URL: Changelog, https://gitlab.com/eliza.swiss/myeliza-cli/-/blob/main/CHANGELOG.md
|
|
10
|
+
Author-email: ELIZA AG <hello@eliza.swiss>
|
|
11
|
+
License-Expression: MIT
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Keywords: cli,eliza,healthcare,mcp,myeliza,qm,quality-management
|
|
14
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
15
|
+
Classifier: Environment :: Console
|
|
16
|
+
Classifier: Intended Audience :: Developers
|
|
17
|
+
Classifier: Intended Audience :: System Administrators
|
|
18
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
19
|
+
Classifier: Natural Language :: German
|
|
20
|
+
Classifier: Operating System :: OS Independent
|
|
21
|
+
Classifier: Programming Language :: Python :: 3
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
26
|
+
Classifier: Topic :: Office/Business
|
|
27
|
+
Classifier: Topic :: System :: Systems Administration
|
|
28
|
+
Requires-Python: >=3.10
|
|
29
|
+
Requires-Dist: mcp>=1.0.0
|
|
30
|
+
Requires-Dist: pyyaml>=6.0
|
|
31
|
+
Requires-Dist: requests>=2.31.0
|
|
32
|
+
Requires-Dist: rich>=13.0.0
|
|
33
|
+
Requires-Dist: typer[all]>=0.9.0
|
|
34
|
+
Description-Content-Type: text/markdown
|
|
35
|
+
|
|
36
|
+
# ELIZA CLI
|
|
37
|
+
|
|
38
|
+
Command-line interface for the [ELIZA](https://eliza.swiss) platform — for humans and AI agents.
|
|
39
|
+
|
|
40
|
+
> **New here?** Check out the [Quick Start Guide](QUICKSTART.md).
|
|
41
|
+
|
|
42
|
+
## Installation
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# From PyPI
|
|
46
|
+
pip install myeliza-cli
|
|
47
|
+
|
|
48
|
+
# Or with uv
|
|
49
|
+
uv tool install myeliza-cli
|
|
50
|
+
|
|
51
|
+
# Or from source
|
|
52
|
+
git clone https://gitlab.com/eliza.swiss/myeliza-cli.git
|
|
53
|
+
cd myeliza-cli && uv sync
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Quick Start
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Configure an instance
|
|
60
|
+
myeliza auth login --instance elizaag --url https://eliza.myeliza.ch/api --token YOUR_TOKEN --default
|
|
61
|
+
|
|
62
|
+
# Check connection
|
|
63
|
+
myeliza auth status
|
|
64
|
+
|
|
65
|
+
# List support tickets
|
|
66
|
+
myeliza issues list --tracker 2 --limit 10
|
|
67
|
+
|
|
68
|
+
# Get issue details
|
|
69
|
+
myeliza issues get 2530
|
|
70
|
+
|
|
71
|
+
# Add a followup
|
|
72
|
+
myeliza issues followup-add 2530 --comment "Fix deployed"
|
|
73
|
+
|
|
74
|
+
# List users
|
|
75
|
+
myeliza users list
|
|
76
|
+
|
|
77
|
+
# Add work time
|
|
78
|
+
myeliza time add --user 2 --date 2026-03-10 --start 08:00 --end 12:00
|
|
79
|
+
|
|
80
|
+
# List news streams
|
|
81
|
+
myeliza streams list
|
|
82
|
+
|
|
83
|
+
# Post a message to a stream
|
|
84
|
+
myeliza streams messages create --stream 1 --title "Update" --text "Deployed v2.0"
|
|
85
|
+
|
|
86
|
+
# List KPIs
|
|
87
|
+
myeliza kpi list
|
|
88
|
+
|
|
89
|
+
# Record a KPI measurement
|
|
90
|
+
myeliza kpi record 550e8400-e29b-41d4-a716-446655440000 --date 2026-03-10 --value 42
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Output Formats
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
myeliza issues list -t 2 -l 5 # Rich table (default)
|
|
97
|
+
myeliza issues list -t 2 -l 5 -f json # JSON (for scripting/agents)
|
|
98
|
+
myeliza issues list -t 2 -l 5 -f csv # CSV
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Dry Run
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Show the HTTP request without executing it
|
|
105
|
+
myeliza --dry-run issues list --tracker 2
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Configuration
|
|
109
|
+
|
|
110
|
+
Config is stored in `~/.myeliza/config.yaml`:
|
|
111
|
+
|
|
112
|
+
```yaml
|
|
113
|
+
default: elizaag
|
|
114
|
+
instances:
|
|
115
|
+
elizaag:
|
|
116
|
+
url: https://eliza.myeliza.ch/api
|
|
117
|
+
token: your-token-here
|
|
118
|
+
iks2:
|
|
119
|
+
url: https://iks2.myeliza.ch/api
|
|
120
|
+
token: your-token-here
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Environment Variables (backward compatible)
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
export ELIZA_ELIZAAG_URL=https://eliza.myeliza.ch/api
|
|
127
|
+
export ELIZA_ELIZAAG_TOKEN=your-token
|
|
128
|
+
export ELIZA_DEFAULT=elizaag
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## AI Agent Integration
|
|
132
|
+
|
|
133
|
+
### Bundled Skills (API Documentation)
|
|
134
|
+
|
|
135
|
+
The package includes 24 skill modules with detailed API documentation, examples and scripts. AI agents can discover them automatically:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Find the skills directory
|
|
139
|
+
myeliza skills-path
|
|
140
|
+
# → /home/user/.local/lib/python3.12/site-packages/myeliza_cli/skills/
|
|
141
|
+
|
|
142
|
+
# Each skill contains a SKILL.md with:
|
|
143
|
+
# - API endpoints and fields
|
|
144
|
+
# - CLI examples
|
|
145
|
+
# - Python scripts for common tasks
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Agent workflow:**
|
|
149
|
+
1. `pip install myeliza-cli` — install the package
|
|
150
|
+
2. `myeliza auth login ...` — configure an ELIZA instance
|
|
151
|
+
3. `myeliza skills-path` — find the skill documentation
|
|
152
|
+
4. Read the relevant `SKILL.md` files — understand the API
|
|
153
|
+
5. Use `myeliza` commands or MCP tools — interact with ELIZA
|
|
154
|
+
|
|
155
|
+
### MCP Server (Model Context Protocol)
|
|
156
|
+
|
|
157
|
+
The CLI includes a built-in [Model Context Protocol](https://modelcontextprotocol.io) server, allowing AI agents to interact with ELIZA directly.
|
|
158
|
+
|
|
159
|
+
### With Claude Code
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
# Register ELIZA as MCP tool provider
|
|
163
|
+
claude mcp add myeliza -- myeliza mcp serve
|
|
164
|
+
|
|
165
|
+
# Now Claude Code can use ELIZA tools natively:
|
|
166
|
+
# "List the latest support tickets" → calls eliza_issues_list
|
|
167
|
+
# "Create an issue in tracker 2" → calls eliza_issues_create
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### With OpenClaw
|
|
171
|
+
|
|
172
|
+
Add to your OpenClaw config (`openclaw.json`):
|
|
173
|
+
|
|
174
|
+
```json
|
|
175
|
+
{
|
|
176
|
+
"mcp": {
|
|
177
|
+
"servers": {
|
|
178
|
+
"myeliza": {
|
|
179
|
+
"command": "myeliza",
|
|
180
|
+
"args": ["mcp", "serve"]
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Available MCP Tools (33)
|
|
188
|
+
|
|
189
|
+
| Tool | Description |
|
|
190
|
+
|------|-------------|
|
|
191
|
+
| `eliza_trackers_list` | List all trackers (Meldekreise) |
|
|
192
|
+
| `eliza_issues_list` | List issues with optional filters (tracker, state, limit) |
|
|
193
|
+
| `eliza_issues_get` | Get issue details by ID |
|
|
194
|
+
| `eliza_issues_create` | Create a new issue |
|
|
195
|
+
| `eliza_issues_update` | Update issue (state, title, assignment) |
|
|
196
|
+
| `eliza_issues_followups` | List followups for an issue |
|
|
197
|
+
| `eliza_issues_followup_add` | Add a followup comment |
|
|
198
|
+
| `eliza_dms_documents` | List documents (optional folder, type filter) |
|
|
199
|
+
| `eliza_dms_document_get` | Get document details by ID |
|
|
200
|
+
| `eliza_dms_folders` | List DMS folders |
|
|
201
|
+
| `eliza_dms_doctypes` | List document types |
|
|
202
|
+
| `eliza_users_list` | List users |
|
|
203
|
+
| `eliza_users_get` | Get user details |
|
|
204
|
+
| `eliza_time_list` | List work time entries |
|
|
205
|
+
| `eliza_time_add` | Add a work time entry |
|
|
206
|
+
| `eliza_streams_list` | List streams (Newskanäle) |
|
|
207
|
+
| `eliza_streams_messages_list` | List stream messages (optional stream filter) |
|
|
208
|
+
| `eliza_streams_messages_create` | Create a message in a stream |
|
|
209
|
+
| `eliza_kpi_list` | List KPIs (optional folder filter) |
|
|
210
|
+
| `eliza_kpi_record` | Record a KPI measurement |
|
|
211
|
+
| `eliza_processes_list` | List processes (filter by state, search) |
|
|
212
|
+
| `eliza_processes_get` | Get process details by ID |
|
|
213
|
+
| `eliza_processes_create` | Create a new process |
|
|
214
|
+
| `eliza_forms_list` | List form templates (optional folder filter) |
|
|
215
|
+
| `eliza_forms_get` | Get full template with sections and questions |
|
|
216
|
+
| `eliza_spaces_list` | List spaces (filter by state, search) |
|
|
217
|
+
| `eliza_spaces_get` | Get space details by ID |
|
|
218
|
+
| `eliza_spaces_card_create` | Create a card in a board card list |
|
|
219
|
+
| `eliza_spaces_meeting_create` | Create a meeting in a space |
|
|
220
|
+
| `eliza_spaces_meetingitems` | List meeting items (Traktanden) |
|
|
221
|
+
| `eliza_spaces_meetingitem_create` | Create a meeting item |
|
|
222
|
+
| `eliza_standards_list` | List standards (optional category filter) |
|
|
223
|
+
| `eliza_standards_get` | Get standard details by ID |
|
|
224
|
+
|
|
225
|
+
All MCP responses are **compact JSON** optimized for LLM consumption — HTML stripped, base64 images removed, nested objects flattened.
|
|
226
|
+
|
|
227
|
+
### Testing the MCP Server
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# Start server manually (stdio)
|
|
231
|
+
myeliza mcp serve
|
|
232
|
+
|
|
233
|
+
# Test tools programmatically
|
|
234
|
+
python3 -c "
|
|
235
|
+
import asyncio
|
|
236
|
+
from myeliza_cli.mcp_server import call_tool
|
|
237
|
+
result = asyncio.run(call_tool('eliza_trackers_list', {}))
|
|
238
|
+
print(result[0].text)
|
|
239
|
+
"
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
## Commands
|
|
243
|
+
|
|
244
|
+
| Command | Status | Description |
|
|
245
|
+
|---------|--------|-------------|
|
|
246
|
+
| `myeliza auth` | ✅ | Authentication & instance management |
|
|
247
|
+
| `myeliza issues` | ✅ | Issues / Meldungen (CRUD + followups + trackers) |
|
|
248
|
+
| `myeliza users` | ✅ | Users & groups |
|
|
249
|
+
| `myeliza time` | ✅ | Time tracking & absences |
|
|
250
|
+
| `myeliza mcp` | ✅ | MCP server for AI agents |
|
|
251
|
+
| `myeliza dms` | ✅ | Document management |
|
|
252
|
+
| `myeliza streams` | ✅ | News streams & events |
|
|
253
|
+
| `myeliza kpi` | ✅ | KPIs / Kennzahlen |
|
|
254
|
+
| `myeliza processes` | ✅ | Process management (CRUD + steps + transitions) |
|
|
255
|
+
| `myeliza spaces` | ✅ | Spaces (boards, cards, comments, meetings) |
|
|
256
|
+
| `myeliza forms` | ✅ | Forms (templates, sections, questions) |
|
|
257
|
+
| `myeliza standards` | ✅ | Standards / Normen (categories, chapters) |
|
|
258
|
+
| `myeliza glossar` | ✅ | Glossary (CRUD) |
|
|
259
|
+
| `myeliza organisation` | ✅ | Employees, org units, functions, memberships |
|
|
260
|
+
| `myeliza contracts` | ✅ | Contracts, partners, cashflows |
|
|
261
|
+
| `myeliza projects` | ✅ | Projects, tasks, milestones, phases |
|
|
262
|
+
| `myeliza tutorials` | ✅ | E-learning courses, lessons, sections |
|
|
263
|
+
| `myeliza okr` | ✅ | OKR (objectives, key results, updates) |
|
|
264
|
+
| `myeliza swot` | ✅ | SWOT / risk management (measures, controls) |
|
|
265
|
+
| `myeliza dsg` | ✅ | Data protection (activities, TOMs, categories) |
|
|
266
|
+
| `myeliza bot` | ✅ | AI chat conversations |
|
|
267
|
+
| `myeliza measuring` | ✅ | Measuring tools / calibration tracking |
|
|
268
|
+
| `myeliza resources` | ✅ | Resource inventory & allocations |
|
|
269
|
+
| `myeliza businesscontext` | ✅ | Stakeholders & business context |
|
|
270
|
+
| `myeliza ims` | ✅ | Integrated management system (assets) |
|
|
271
|
+
|
|
272
|
+
## Architecture
|
|
273
|
+
|
|
274
|
+
```
|
|
275
|
+
src/myeliza_cli/
|
|
276
|
+
├── main.py # Typer app with subcommand groups + --dry-run
|
|
277
|
+
├── client.py # REST API client (auto-pagination, multi-instance, dry-run)
|
|
278
|
+
├── config.py # Config management (~/.myeliza/config.yaml + env vars)
|
|
279
|
+
├── output.py # Formatters (Rich table, JSON, CSV)
|
|
280
|
+
├── mcp_server.py # MCP server (stdio transport, 33 tools)
|
|
281
|
+
└── commands/
|
|
282
|
+
├── auth.py # login, logout, status, instances
|
|
283
|
+
├── issues.py # list, get, create, update, followups, trackers
|
|
284
|
+
├── users.py # list, get, groups
|
|
285
|
+
├── time.py # list, add, absences
|
|
286
|
+
├── dms.py # documents, folders, document types
|
|
287
|
+
├── streams.py # streams, messages, events
|
|
288
|
+
├── kpi.py # KPIs, folders, measurements
|
|
289
|
+
├── processes.py # processes, steps, labels, transitions
|
|
290
|
+
├── forms.py # templates, folders, sections, questions
|
|
291
|
+
├── spaces.py # spaces, boards, cards, comments, meetings
|
|
292
|
+
├── standards.py # standards, categories, chapters
|
|
293
|
+
├── glossar.py # glossary entries
|
|
294
|
+
├── organisation.py # employees, org units, functions
|
|
295
|
+
├── contracts.py # contracts, partners, cashflows
|
|
296
|
+
├── projects.py # projects, tasks, milestones, phases
|
|
297
|
+
├── tutorials.py # e-learning courses, lessons
|
|
298
|
+
├── okr.py # objectives & key results
|
|
299
|
+
├── swot.py # SWOT measures, estimates, controls
|
|
300
|
+
├── dsg.py # data protection (DSG/GDPR)
|
|
301
|
+
├── bot.py # AI chat conversations
|
|
302
|
+
├── measuring.py # measuring tools, calibration
|
|
303
|
+
├── resources.py # resource inventory, allocations
|
|
304
|
+
├── businesscontext.py # stakeholders, context issues
|
|
305
|
+
└── ims.py # integrated management system
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
## License
|
|
309
|
+
|
|
310
|
+
MIT — [ELIZA AG](https://eliza.swiss)
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# ELIZA CLI
|
|
2
|
+
|
|
3
|
+
Command-line interface for the [ELIZA](https://eliza.swiss) platform — for humans and AI agents.
|
|
4
|
+
|
|
5
|
+
> **New here?** Check out the [Quick Start Guide](QUICKSTART.md).
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# From PyPI
|
|
11
|
+
pip install myeliza-cli
|
|
12
|
+
|
|
13
|
+
# Or with uv
|
|
14
|
+
uv tool install myeliza-cli
|
|
15
|
+
|
|
16
|
+
# Or from source
|
|
17
|
+
git clone https://gitlab.com/eliza.swiss/myeliza-cli.git
|
|
18
|
+
cd myeliza-cli && uv sync
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Quick Start
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Configure an instance
|
|
25
|
+
myeliza auth login --instance elizaag --url https://eliza.myeliza.ch/api --token YOUR_TOKEN --default
|
|
26
|
+
|
|
27
|
+
# Check connection
|
|
28
|
+
myeliza auth status
|
|
29
|
+
|
|
30
|
+
# List support tickets
|
|
31
|
+
myeliza issues list --tracker 2 --limit 10
|
|
32
|
+
|
|
33
|
+
# Get issue details
|
|
34
|
+
myeliza issues get 2530
|
|
35
|
+
|
|
36
|
+
# Add a followup
|
|
37
|
+
myeliza issues followup-add 2530 --comment "Fix deployed"
|
|
38
|
+
|
|
39
|
+
# List users
|
|
40
|
+
myeliza users list
|
|
41
|
+
|
|
42
|
+
# Add work time
|
|
43
|
+
myeliza time add --user 2 --date 2026-03-10 --start 08:00 --end 12:00
|
|
44
|
+
|
|
45
|
+
# List news streams
|
|
46
|
+
myeliza streams list
|
|
47
|
+
|
|
48
|
+
# Post a message to a stream
|
|
49
|
+
myeliza streams messages create --stream 1 --title "Update" --text "Deployed v2.0"
|
|
50
|
+
|
|
51
|
+
# List KPIs
|
|
52
|
+
myeliza kpi list
|
|
53
|
+
|
|
54
|
+
# Record a KPI measurement
|
|
55
|
+
myeliza kpi record 550e8400-e29b-41d4-a716-446655440000 --date 2026-03-10 --value 42
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Output Formats
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
myeliza issues list -t 2 -l 5 # Rich table (default)
|
|
62
|
+
myeliza issues list -t 2 -l 5 -f json # JSON (for scripting/agents)
|
|
63
|
+
myeliza issues list -t 2 -l 5 -f csv # CSV
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Dry Run
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Show the HTTP request without executing it
|
|
70
|
+
myeliza --dry-run issues list --tracker 2
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Configuration
|
|
74
|
+
|
|
75
|
+
Config is stored in `~/.myeliza/config.yaml`:
|
|
76
|
+
|
|
77
|
+
```yaml
|
|
78
|
+
default: elizaag
|
|
79
|
+
instances:
|
|
80
|
+
elizaag:
|
|
81
|
+
url: https://eliza.myeliza.ch/api
|
|
82
|
+
token: your-token-here
|
|
83
|
+
iks2:
|
|
84
|
+
url: https://iks2.myeliza.ch/api
|
|
85
|
+
token: your-token-here
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Environment Variables (backward compatible)
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
export ELIZA_ELIZAAG_URL=https://eliza.myeliza.ch/api
|
|
92
|
+
export ELIZA_ELIZAAG_TOKEN=your-token
|
|
93
|
+
export ELIZA_DEFAULT=elizaag
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## AI Agent Integration
|
|
97
|
+
|
|
98
|
+
### Bundled Skills (API Documentation)
|
|
99
|
+
|
|
100
|
+
The package includes 24 skill modules with detailed API documentation, examples and scripts. AI agents can discover them automatically:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Find the skills directory
|
|
104
|
+
myeliza skills-path
|
|
105
|
+
# → /home/user/.local/lib/python3.12/site-packages/myeliza_cli/skills/
|
|
106
|
+
|
|
107
|
+
# Each skill contains a SKILL.md with:
|
|
108
|
+
# - API endpoints and fields
|
|
109
|
+
# - CLI examples
|
|
110
|
+
# - Python scripts for common tasks
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Agent workflow:**
|
|
114
|
+
1. `pip install myeliza-cli` — install the package
|
|
115
|
+
2. `myeliza auth login ...` — configure an ELIZA instance
|
|
116
|
+
3. `myeliza skills-path` — find the skill documentation
|
|
117
|
+
4. Read the relevant `SKILL.md` files — understand the API
|
|
118
|
+
5. Use `myeliza` commands or MCP tools — interact with ELIZA
|
|
119
|
+
|
|
120
|
+
### MCP Server (Model Context Protocol)
|
|
121
|
+
|
|
122
|
+
The CLI includes a built-in [Model Context Protocol](https://modelcontextprotocol.io) server, allowing AI agents to interact with ELIZA directly.
|
|
123
|
+
|
|
124
|
+
### With Claude Code
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# Register ELIZA as MCP tool provider
|
|
128
|
+
claude mcp add myeliza -- myeliza mcp serve
|
|
129
|
+
|
|
130
|
+
# Now Claude Code can use ELIZA tools natively:
|
|
131
|
+
# "List the latest support tickets" → calls eliza_issues_list
|
|
132
|
+
# "Create an issue in tracker 2" → calls eliza_issues_create
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### With OpenClaw
|
|
136
|
+
|
|
137
|
+
Add to your OpenClaw config (`openclaw.json`):
|
|
138
|
+
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"mcp": {
|
|
142
|
+
"servers": {
|
|
143
|
+
"myeliza": {
|
|
144
|
+
"command": "myeliza",
|
|
145
|
+
"args": ["mcp", "serve"]
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Available MCP Tools (33)
|
|
153
|
+
|
|
154
|
+
| Tool | Description |
|
|
155
|
+
|------|-------------|
|
|
156
|
+
| `eliza_trackers_list` | List all trackers (Meldekreise) |
|
|
157
|
+
| `eliza_issues_list` | List issues with optional filters (tracker, state, limit) |
|
|
158
|
+
| `eliza_issues_get` | Get issue details by ID |
|
|
159
|
+
| `eliza_issues_create` | Create a new issue |
|
|
160
|
+
| `eliza_issues_update` | Update issue (state, title, assignment) |
|
|
161
|
+
| `eliza_issues_followups` | List followups for an issue |
|
|
162
|
+
| `eliza_issues_followup_add` | Add a followup comment |
|
|
163
|
+
| `eliza_dms_documents` | List documents (optional folder, type filter) |
|
|
164
|
+
| `eliza_dms_document_get` | Get document details by ID |
|
|
165
|
+
| `eliza_dms_folders` | List DMS folders |
|
|
166
|
+
| `eliza_dms_doctypes` | List document types |
|
|
167
|
+
| `eliza_users_list` | List users |
|
|
168
|
+
| `eliza_users_get` | Get user details |
|
|
169
|
+
| `eliza_time_list` | List work time entries |
|
|
170
|
+
| `eliza_time_add` | Add a work time entry |
|
|
171
|
+
| `eliza_streams_list` | List streams (Newskanäle) |
|
|
172
|
+
| `eliza_streams_messages_list` | List stream messages (optional stream filter) |
|
|
173
|
+
| `eliza_streams_messages_create` | Create a message in a stream |
|
|
174
|
+
| `eliza_kpi_list` | List KPIs (optional folder filter) |
|
|
175
|
+
| `eliza_kpi_record` | Record a KPI measurement |
|
|
176
|
+
| `eliza_processes_list` | List processes (filter by state, search) |
|
|
177
|
+
| `eliza_processes_get` | Get process details by ID |
|
|
178
|
+
| `eliza_processes_create` | Create a new process |
|
|
179
|
+
| `eliza_forms_list` | List form templates (optional folder filter) |
|
|
180
|
+
| `eliza_forms_get` | Get full template with sections and questions |
|
|
181
|
+
| `eliza_spaces_list` | List spaces (filter by state, search) |
|
|
182
|
+
| `eliza_spaces_get` | Get space details by ID |
|
|
183
|
+
| `eliza_spaces_card_create` | Create a card in a board card list |
|
|
184
|
+
| `eliza_spaces_meeting_create` | Create a meeting in a space |
|
|
185
|
+
| `eliza_spaces_meetingitems` | List meeting items (Traktanden) |
|
|
186
|
+
| `eliza_spaces_meetingitem_create` | Create a meeting item |
|
|
187
|
+
| `eliza_standards_list` | List standards (optional category filter) |
|
|
188
|
+
| `eliza_standards_get` | Get standard details by ID |
|
|
189
|
+
|
|
190
|
+
All MCP responses are **compact JSON** optimized for LLM consumption — HTML stripped, base64 images removed, nested objects flattened.
|
|
191
|
+
|
|
192
|
+
### Testing the MCP Server
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# Start server manually (stdio)
|
|
196
|
+
myeliza mcp serve
|
|
197
|
+
|
|
198
|
+
# Test tools programmatically
|
|
199
|
+
python3 -c "
|
|
200
|
+
import asyncio
|
|
201
|
+
from myeliza_cli.mcp_server import call_tool
|
|
202
|
+
result = asyncio.run(call_tool('eliza_trackers_list', {}))
|
|
203
|
+
print(result[0].text)
|
|
204
|
+
"
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## Commands
|
|
208
|
+
|
|
209
|
+
| Command | Status | Description |
|
|
210
|
+
|---------|--------|-------------|
|
|
211
|
+
| `myeliza auth` | ✅ | Authentication & instance management |
|
|
212
|
+
| `myeliza issues` | ✅ | Issues / Meldungen (CRUD + followups + trackers) |
|
|
213
|
+
| `myeliza users` | ✅ | Users & groups |
|
|
214
|
+
| `myeliza time` | ✅ | Time tracking & absences |
|
|
215
|
+
| `myeliza mcp` | ✅ | MCP server for AI agents |
|
|
216
|
+
| `myeliza dms` | ✅ | Document management |
|
|
217
|
+
| `myeliza streams` | ✅ | News streams & events |
|
|
218
|
+
| `myeliza kpi` | ✅ | KPIs / Kennzahlen |
|
|
219
|
+
| `myeliza processes` | ✅ | Process management (CRUD + steps + transitions) |
|
|
220
|
+
| `myeliza spaces` | ✅ | Spaces (boards, cards, comments, meetings) |
|
|
221
|
+
| `myeliza forms` | ✅ | Forms (templates, sections, questions) |
|
|
222
|
+
| `myeliza standards` | ✅ | Standards / Normen (categories, chapters) |
|
|
223
|
+
| `myeliza glossar` | ✅ | Glossary (CRUD) |
|
|
224
|
+
| `myeliza organisation` | ✅ | Employees, org units, functions, memberships |
|
|
225
|
+
| `myeliza contracts` | ✅ | Contracts, partners, cashflows |
|
|
226
|
+
| `myeliza projects` | ✅ | Projects, tasks, milestones, phases |
|
|
227
|
+
| `myeliza tutorials` | ✅ | E-learning courses, lessons, sections |
|
|
228
|
+
| `myeliza okr` | ✅ | OKR (objectives, key results, updates) |
|
|
229
|
+
| `myeliza swot` | ✅ | SWOT / risk management (measures, controls) |
|
|
230
|
+
| `myeliza dsg` | ✅ | Data protection (activities, TOMs, categories) |
|
|
231
|
+
| `myeliza bot` | ✅ | AI chat conversations |
|
|
232
|
+
| `myeliza measuring` | ✅ | Measuring tools / calibration tracking |
|
|
233
|
+
| `myeliza resources` | ✅ | Resource inventory & allocations |
|
|
234
|
+
| `myeliza businesscontext` | ✅ | Stakeholders & business context |
|
|
235
|
+
| `myeliza ims` | ✅ | Integrated management system (assets) |
|
|
236
|
+
|
|
237
|
+
## Architecture
|
|
238
|
+
|
|
239
|
+
```
|
|
240
|
+
src/myeliza_cli/
|
|
241
|
+
├── main.py # Typer app with subcommand groups + --dry-run
|
|
242
|
+
├── client.py # REST API client (auto-pagination, multi-instance, dry-run)
|
|
243
|
+
├── config.py # Config management (~/.myeliza/config.yaml + env vars)
|
|
244
|
+
├── output.py # Formatters (Rich table, JSON, CSV)
|
|
245
|
+
├── mcp_server.py # MCP server (stdio transport, 33 tools)
|
|
246
|
+
└── commands/
|
|
247
|
+
├── auth.py # login, logout, status, instances
|
|
248
|
+
├── issues.py # list, get, create, update, followups, trackers
|
|
249
|
+
├── users.py # list, get, groups
|
|
250
|
+
├── time.py # list, add, absences
|
|
251
|
+
├── dms.py # documents, folders, document types
|
|
252
|
+
├── streams.py # streams, messages, events
|
|
253
|
+
├── kpi.py # KPIs, folders, measurements
|
|
254
|
+
├── processes.py # processes, steps, labels, transitions
|
|
255
|
+
├── forms.py # templates, folders, sections, questions
|
|
256
|
+
├── spaces.py # spaces, boards, cards, comments, meetings
|
|
257
|
+
├── standards.py # standards, categories, chapters
|
|
258
|
+
├── glossar.py # glossary entries
|
|
259
|
+
├── organisation.py # employees, org units, functions
|
|
260
|
+
├── contracts.py # contracts, partners, cashflows
|
|
261
|
+
├── projects.py # projects, tasks, milestones, phases
|
|
262
|
+
├── tutorials.py # e-learning courses, lessons
|
|
263
|
+
├── okr.py # objectives & key results
|
|
264
|
+
├── swot.py # SWOT measures, estimates, controls
|
|
265
|
+
├── dsg.py # data protection (DSG/GDPR)
|
|
266
|
+
├── bot.py # AI chat conversations
|
|
267
|
+
├── measuring.py # measuring tools, calibration
|
|
268
|
+
├── resources.py # resource inventory, allocations
|
|
269
|
+
├── businesscontext.py # stakeholders, context issues
|
|
270
|
+
└── ims.py # integrated management system
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
## License
|
|
274
|
+
|
|
275
|
+
MIT — [ELIZA AG](https://eliza.swiss)
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# ELIZA CLI in n8n Workflows
|
|
2
|
+
|
|
3
|
+
Die ELIZA CLI lässt sich in [n8n](https://n8n.io) Workflows über den **Execute Command**-Node einbinden. Damit können ELIZA-Daten (Issues, Verträge, Zeiterfassung etc.) in Automatisierungen verwendet werden.
|
|
4
|
+
|
|
5
|
+
## Voraussetzungen
|
|
6
|
+
|
|
7
|
+
- `uv` installiert auf dem n8n-Server
|
|
8
|
+
- `eliza-cli` Repo geklont
|
|
9
|
+
- `.eliza/config.yaml` konfiguriert (oder Umgebungsvariablen)
|
|
10
|
+
|
|
11
|
+
### Installation auf dem n8n-Server
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Repo klonen
|
|
15
|
+
git clone https://gitlab.com/eliza.swiss/eliza-cli.git /opt/eliza-cli
|
|
16
|
+
|
|
17
|
+
# Config erstellen
|
|
18
|
+
mkdir -p /opt/eliza-cli/.eliza
|
|
19
|
+
cat > /opt/eliza-cli/.eliza/config.yaml << EOF
|
|
20
|
+
default: prod
|
|
21
|
+
instances:
|
|
22
|
+
prod:
|
|
23
|
+
url: https://meine-instanz.myeliza.ch/api
|
|
24
|
+
token: <API-TOKEN>
|
|
25
|
+
EOF
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Alternative: Umgebungsvariablen
|
|
29
|
+
|
|
30
|
+
Statt einer config.yaml können Instanzen auch über Umgebungsvariablen konfiguriert werden:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
ELIZA_PROD_URL=https://meine-instanz.myeliza.ch/api
|
|
34
|
+
ELIZA_PROD_TOKEN=<API-TOKEN>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Grundprinzip
|
|
38
|
+
|
|
39
|
+
Alle CLI-Befehle mit `--format json` liefern JSON-Output, der in n8n direkt weiterverarbeitet werden kann:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
cd /opt/eliza-cli && uv run eliza issues list -i prod --tracker 2 --format json
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Beispiel-Workflows
|
|
46
|
+
|
|
47
|
+
- [Support-Tickets überwachen & Teams benachrichtigen](support-tickets-teams.md)
|
|
48
|
+
|
|
49
|
+
## Tipps
|
|
50
|
+
|
|
51
|
+
- **Immer `--format json`** verwenden für maschinenlesbaren Output
|
|
52
|
+
- **`--limit`** setzen um die Datenmenge zu begrenzen
|
|
53
|
+
- **Arbeitsverzeichnis** im Execute Command Node auf das eliza-cli Repo setzen
|
|
54
|
+
- **Fehlerbehandlung:** Der Exit-Code ist `0` bei Erfolg, `1` bei Fehler
|