docmost-cli 0.4.0__py3-none-any.whl
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.
- docmost_cli/__init__.py +5 -0
- docmost_cli/__main__.py +18 -0
- docmost_cli/api/__init__.py +5 -0
- docmost_cli/api/attachments.py +30 -0
- docmost_cli/api/auth.py +202 -0
- docmost_cli/api/client.py +296 -0
- docmost_cli/api/comments.py +103 -0
- docmost_cli/api/pages.py +530 -0
- docmost_cli/api/pagination.py +94 -0
- docmost_cli/api/search.py +40 -0
- docmost_cli/api/spaces.py +141 -0
- docmost_cli/api/users.py +25 -0
- docmost_cli/api/workspace.py +43 -0
- docmost_cli/cli/__init__.py +3 -0
- docmost_cli/cli/attachment.py +30 -0
- docmost_cli/cli/comment.py +83 -0
- docmost_cli/cli/config_cmd.py +143 -0
- docmost_cli/cli/main.py +133 -0
- docmost_cli/cli/page.py +382 -0
- docmost_cli/cli/search.py +33 -0
- docmost_cli/cli/space.py +57 -0
- docmost_cli/cli/sync_cmd.py +122 -0
- docmost_cli/cli/user.py +25 -0
- docmost_cli/cli/workspace.py +40 -0
- docmost_cli/config/__init__.py +23 -0
- docmost_cli/config/settings.py +23 -0
- docmost_cli/config/store.py +160 -0
- docmost_cli/convert/__init__.py +3 -0
- docmost_cli/convert/prosemirror_to_md.py +300 -0
- docmost_cli/models/__init__.py +3 -0
- docmost_cli/models/common.py +3 -0
- docmost_cli/output/__init__.py +17 -0
- docmost_cli/output/formatter.py +85 -0
- docmost_cli/output/tree.py +66 -0
- docmost_cli/py.typed +0 -0
- docmost_cli/sync/__init__.py +57 -0
- docmost_cli/sync/diff.py +156 -0
- docmost_cli/sync/frontmatter.py +152 -0
- docmost_cli/sync/manifest.py +195 -0
- docmost_cli/sync/pull.py +158 -0
- docmost_cli/sync/push.py +374 -0
- docmost_cli-0.4.0.data/data/share/man/man1/docmost-cli-attachment.1 +57 -0
- docmost_cli-0.4.0.data/data/share/man/man1/docmost-cli-comment.1 +92 -0
- docmost_cli-0.4.0.data/data/share/man/man1/docmost-cli-config.1 +127 -0
- docmost_cli-0.4.0.data/data/share/man/man1/docmost-cli-page.1 +412 -0
- docmost_cli-0.4.0.data/data/share/man/man1/docmost-cli-search.1 +90 -0
- docmost_cli-0.4.0.data/data/share/man/man1/docmost-cli-space.1 +111 -0
- docmost_cli-0.4.0.data/data/share/man/man1/docmost-cli-sync.1 +206 -0
- docmost_cli-0.4.0.data/data/share/man/man1/docmost-cli-user.1 +39 -0
- docmost_cli-0.4.0.data/data/share/man/man1/docmost-cli-workspace.1 +68 -0
- docmost_cli-0.4.0.data/data/share/man/man1/docmost-cli.1 +301 -0
- docmost_cli-0.4.0.dist-info/METADATA +241 -0
- docmost_cli-0.4.0.dist-info/RECORD +56 -0
- docmost_cli-0.4.0.dist-info/WHEEL +4 -0
- docmost_cli-0.4.0.dist-info/entry_points.txt +2 -0
- docmost_cli-0.4.0.dist-info/licenses/LICENSE +661 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
.\" Manual page for docmost-cli-sync(1)
|
|
2
|
+
.\" Source: SPECIFICATION.md section 4.10, src/docmost_cli/cli/sync_cmd.py
|
|
3
|
+
.TH DOCMOST\-CLI\-SYNC 1 "2026\-03\-22" "docmost\-cli 0.4.0" "User Commands"
|
|
4
|
+
.SH NAME
|
|
5
|
+
docmost\-cli\-sync \- synchronize Docmost pages with local Markdown files
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
.B docmost\-cli sync pull
|
|
8
|
+
.I space\-slug
|
|
9
|
+
.RB [ \-\-dir
|
|
10
|
+
.IR path ]
|
|
11
|
+
.RB [ \-\-force ]
|
|
12
|
+
.br
|
|
13
|
+
.B docmost\-cli sync push
|
|
14
|
+
.I space\-slug
|
|
15
|
+
.RB [ \-\-dir
|
|
16
|
+
.IR path ]
|
|
17
|
+
.RB [ \-\-dry\-run ]
|
|
18
|
+
.RB [ \-\-delete ]
|
|
19
|
+
.br
|
|
20
|
+
.B docmost\-cli sync status
|
|
21
|
+
.I space\-slug
|
|
22
|
+
.RB [ \-\-dir
|
|
23
|
+
.IR path ]
|
|
24
|
+
.SH DESCRIPTION
|
|
25
|
+
The sync commands enable documentation\-as\-code workflows by maintaining
|
|
26
|
+
a local directory of Markdown files that mirrors a Docmost space.
|
|
27
|
+
.PP
|
|
28
|
+
Each page is stored as a single Markdown file with YAML frontmatter
|
|
29
|
+
containing page metadata.
|
|
30
|
+
A
|
|
31
|
+
.I .docmost\-manifest.json
|
|
32
|
+
file tracks sync state using SHA\-256 content hashes for change detection
|
|
33
|
+
(timestamps are not used).
|
|
34
|
+
.SS Local directory format
|
|
35
|
+
After
|
|
36
|
+
.BR "sync pull" ,
|
|
37
|
+
the target directory contains:
|
|
38
|
+
.PP
|
|
39
|
+
.RS 4
|
|
40
|
+
.EX
|
|
41
|
+
engineering/
|
|
42
|
+
Getting Started\-\-019a2a69.md
|
|
43
|
+
API Reference\-\-019b3c8f.md
|
|
44
|
+
.docmost\-manifest.json
|
|
45
|
+
.EE
|
|
46
|
+
.RE
|
|
47
|
+
.PP
|
|
48
|
+
Each file is named
|
|
49
|
+
.IB title \-\- id\-prefix .md
|
|
50
|
+
and contains YAML frontmatter:
|
|
51
|
+
.PP
|
|
52
|
+
.RS 4
|
|
53
|
+
.EX
|
|
54
|
+
\-\-\-
|
|
55
|
+
id: 019a2a69\-xxxx\-xxxx\-xxxx\-xxxxxxxxxxxx
|
|
56
|
+
title: Getting Started
|
|
57
|
+
parent_id: null
|
|
58
|
+
icon: null
|
|
59
|
+
\-\-\-
|
|
60
|
+
|
|
61
|
+
# Getting Started
|
|
62
|
+
|
|
63
|
+
Page content here...
|
|
64
|
+
.EE
|
|
65
|
+
.RE
|
|
66
|
+
.SS Edition\-aware content updates
|
|
67
|
+
.TP
|
|
68
|
+
.B Enterprise edition
|
|
69
|
+
Direct content update via the REST API.
|
|
70
|
+
The page ID is preserved.
|
|
71
|
+
.TP
|
|
72
|
+
.B Community edition
|
|
73
|
+
Safe create\-then\-delete workflow: a new page is created and verified
|
|
74
|
+
before the old page is removed.
|
|
75
|
+
This ensures no data loss even if the operation is interrupted.
|
|
76
|
+
.SH SUBCOMMANDS
|
|
77
|
+
.SS pull
|
|
78
|
+
Download all pages from a space to local Markdown files.
|
|
79
|
+
.PP
|
|
80
|
+
.I space\-slug
|
|
81
|
+
identifies the space to pull from.
|
|
82
|
+
.PP
|
|
83
|
+
Creates a directory with one
|
|
84
|
+
.I .md
|
|
85
|
+
file per page (with YAML frontmatter) and a
|
|
86
|
+
.I .docmost\-manifest.json
|
|
87
|
+
tracking sync state.
|
|
88
|
+
.TP
|
|
89
|
+
.BI \-\-dir " path"
|
|
90
|
+
Target directory.
|
|
91
|
+
Default:
|
|
92
|
+
.BI ./ space\-slug /
|
|
93
|
+
in the current working directory.
|
|
94
|
+
.TP
|
|
95
|
+
.B \-\-force
|
|
96
|
+
Overwrite local changes without warning.
|
|
97
|
+
Without this flag, locally modified files are preserved and a warning
|
|
98
|
+
is printed.
|
|
99
|
+
.SS push
|
|
100
|
+
Upload local changes to the Docmost server.
|
|
101
|
+
.PP
|
|
102
|
+
.I space\-slug
|
|
103
|
+
identifies the space to push changes to.
|
|
104
|
+
.PP
|
|
105
|
+
Requires a prior
|
|
106
|
+
.B sync pull
|
|
107
|
+
to establish the manifest.
|
|
108
|
+
Prompts for confirmation before applying changes unless
|
|
109
|
+
.B \-\-yes
|
|
110
|
+
or
|
|
111
|
+
.B \-\-dry\-run
|
|
112
|
+
is set.
|
|
113
|
+
.TP
|
|
114
|
+
.BI \-\-dir " path"
|
|
115
|
+
Source directory.
|
|
116
|
+
Default:
|
|
117
|
+
.BI ./ space\-slug /
|
|
118
|
+
in the current working directory.
|
|
119
|
+
.TP
|
|
120
|
+
.B \-\-dry\-run
|
|
121
|
+
Show what changes would be applied without executing them.
|
|
122
|
+
.TP
|
|
123
|
+
.B \-\-delete
|
|
124
|
+
Delete server pages that are not found locally.
|
|
125
|
+
Without this flag, pages deleted from the local directory are
|
|
126
|
+
left untouched on the server.
|
|
127
|
+
.SS status
|
|
128
|
+
Show changes between local files and the last\-pulled state.
|
|
129
|
+
.PP
|
|
130
|
+
.I space\-slug
|
|
131
|
+
identifies the space to check.
|
|
132
|
+
.PP
|
|
133
|
+
Displays a summary of new, modified, moved, deleted, and unchanged files
|
|
134
|
+
by comparing current file content hashes against the manifest.
|
|
135
|
+
.TP
|
|
136
|
+
.BI \-\-dir " path"
|
|
137
|
+
Directory to check.
|
|
138
|
+
Default:
|
|
139
|
+
.BI ./ space\-slug /
|
|
140
|
+
in the current working directory.
|
|
141
|
+
.SH EXAMPLES
|
|
142
|
+
Pull a space to a local directory:
|
|
143
|
+
.PP
|
|
144
|
+
.RS 4
|
|
145
|
+
.EX
|
|
146
|
+
$ docmost\-cli sync pull engineering
|
|
147
|
+
$ docmost\-cli sync pull engineering \-\-dir ./docs/eng
|
|
148
|
+
.EE
|
|
149
|
+
.RE
|
|
150
|
+
.PP
|
|
151
|
+
Check what has changed locally:
|
|
152
|
+
.PP
|
|
153
|
+
.RS 4
|
|
154
|
+
.EX
|
|
155
|
+
$ docmost\-cli sync status engineering
|
|
156
|
+
.EE
|
|
157
|
+
.RE
|
|
158
|
+
.PP
|
|
159
|
+
Preview changes before pushing:
|
|
160
|
+
.PP
|
|
161
|
+
.RS 4
|
|
162
|
+
.EX
|
|
163
|
+
$ docmost\-cli sync push engineering \-\-dry\-run
|
|
164
|
+
.EE
|
|
165
|
+
.RE
|
|
166
|
+
.PP
|
|
167
|
+
Push changes (with confirmation prompt):
|
|
168
|
+
.PP
|
|
169
|
+
.RS 4
|
|
170
|
+
.EX
|
|
171
|
+
$ docmost\-cli sync push engineering
|
|
172
|
+
.EE
|
|
173
|
+
.RE
|
|
174
|
+
.PP
|
|
175
|
+
Push changes non\-interactively, deleting removed pages:
|
|
176
|
+
.PP
|
|
177
|
+
.RS 4
|
|
178
|
+
.EX
|
|
179
|
+
$ docmost\-cli \-y sync push engineering \-\-delete
|
|
180
|
+
.EE
|
|
181
|
+
.RE
|
|
182
|
+
.PP
|
|
183
|
+
Typical docs\-as\-code workflow:
|
|
184
|
+
.PP
|
|
185
|
+
.RS 4
|
|
186
|
+
.EX
|
|
187
|
+
$ docmost\-cli sync pull engineering \-\-dir ./docs/
|
|
188
|
+
$ $EDITOR docs/Getting\\ Started\-\-019a2a69.md
|
|
189
|
+
$ docmost\-cli sync status engineering \-\-dir ./docs/
|
|
190
|
+
$ docmost\-cli sync push engineering \-\-dir ./docs/
|
|
191
|
+
.EE
|
|
192
|
+
.RE
|
|
193
|
+
.SH EXIT STATUS
|
|
194
|
+
See
|
|
195
|
+
.BR docmost\-cli (1).
|
|
196
|
+
.SH SEE ALSO
|
|
197
|
+
.BR docmost\-cli (1),
|
|
198
|
+
.BR docmost\-cli\-page (1),
|
|
199
|
+
.BR docmost\-cli\-space (1)
|
|
200
|
+
.SH AUTHORS
|
|
201
|
+
Georg
|
|
202
|
+
.MT georg@mann\-mouse.at
|
|
203
|
+
.ME .
|
|
204
|
+
.SH COPYRIGHT
|
|
205
|
+
Copyright \(co 2026 Georg.
|
|
206
|
+
License AGPLv3+: GNU Affero General Public License version 3 or later.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
.\" Manual page for docmost-cli-user(1)
|
|
2
|
+
.\" Source: SPECIFICATION.md section 4.8, src/docmost_cli/cli/user.py
|
|
3
|
+
.TH DOCMOST\-CLI\-USER 1 "2026\-03\-22" "docmost\-cli 0.4.0" "User Commands"
|
|
4
|
+
.SH NAME
|
|
5
|
+
docmost\-cli\-user \- current user information for Docmost
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
.B docmost\-cli user me
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
Commands for viewing information about the currently authenticated user.
|
|
10
|
+
.SH SUBCOMMANDS
|
|
11
|
+
.SS me
|
|
12
|
+
Show authenticated user details.
|
|
13
|
+
.PP
|
|
14
|
+
Displays key\-value pairs: email, name, id, role, createdAt.
|
|
15
|
+
.PP
|
|
16
|
+
This command is useful for verifying which account is currently
|
|
17
|
+
authenticated and what role it holds in the workspace.
|
|
18
|
+
.SH EXAMPLES
|
|
19
|
+
Show current user info:
|
|
20
|
+
.PP
|
|
21
|
+
.RS 4
|
|
22
|
+
.EX
|
|
23
|
+
$ docmost\-cli user me
|
|
24
|
+
.EE
|
|
25
|
+
.RE
|
|
26
|
+
.SH EXIT STATUS
|
|
27
|
+
See
|
|
28
|
+
.BR docmost\-cli (1).
|
|
29
|
+
.SH SEE ALSO
|
|
30
|
+
.BR docmost\-cli (1),
|
|
31
|
+
.BR docmost\-cli\-workspace (1),
|
|
32
|
+
.BR docmost\-cli\-config (1)
|
|
33
|
+
.SH AUTHORS
|
|
34
|
+
Georg
|
|
35
|
+
.MT georg@mann\-mouse.at
|
|
36
|
+
.ME .
|
|
37
|
+
.SH COPYRIGHT
|
|
38
|
+
Copyright \(co 2026 Georg.
|
|
39
|
+
License AGPLv3+: GNU Affero General Public License version 3 or later.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
.\" Manual page for docmost-cli-workspace(1)
|
|
2
|
+
.\" Source: SPECIFICATION.md section 4.7, src/docmost_cli/cli/workspace.py
|
|
3
|
+
.TH DOCMOST\-CLI\-WORKSPACE 1 "2026\-03\-22" "docmost\-cli 0.4.0" "User Commands"
|
|
4
|
+
.SH NAME
|
|
5
|
+
docmost\-cli\-workspace \- Docmost workspace information
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
.B docmost\-cli workspace info
|
|
8
|
+
.br
|
|
9
|
+
.B docmost\-cli workspace members
|
|
10
|
+
.RB [ \-\-limit
|
|
11
|
+
.IR N ]
|
|
12
|
+
.RB [ \-\-json ]
|
|
13
|
+
.SH DESCRIPTION
|
|
14
|
+
Commands for viewing Docmost workspace details and membership.
|
|
15
|
+
A workspace is the top\-level entity that contains all spaces, pages,
|
|
16
|
+
and users.
|
|
17
|
+
.SH SUBCOMMANDS
|
|
18
|
+
.SS info
|
|
19
|
+
Show workspace details.
|
|
20
|
+
.PP
|
|
21
|
+
Displays key\-value pairs: name, id, description, memberCount, createdAt.
|
|
22
|
+
.SS members
|
|
23
|
+
List workspace members.
|
|
24
|
+
.TP
|
|
25
|
+
.BI \-\-limit " N"
|
|
26
|
+
Maximum number of members to return.
|
|
27
|
+
.TP
|
|
28
|
+
.B \-\-json
|
|
29
|
+
Output as a JSON array instead of a Rich table.
|
|
30
|
+
.PP
|
|
31
|
+
Table columns: id, email, name, role.
|
|
32
|
+
.SH EXAMPLES
|
|
33
|
+
Show workspace details:
|
|
34
|
+
.PP
|
|
35
|
+
.RS 4
|
|
36
|
+
.EX
|
|
37
|
+
$ docmost\-cli workspace info
|
|
38
|
+
.EE
|
|
39
|
+
.RE
|
|
40
|
+
.PP
|
|
41
|
+
List all members:
|
|
42
|
+
.PP
|
|
43
|
+
.RS 4
|
|
44
|
+
.EX
|
|
45
|
+
$ docmost\-cli workspace members
|
|
46
|
+
.EE
|
|
47
|
+
.RE
|
|
48
|
+
.PP
|
|
49
|
+
List members as JSON:
|
|
50
|
+
.PP
|
|
51
|
+
.RS 4
|
|
52
|
+
.EX
|
|
53
|
+
$ docmost\-cli workspace members \-\-json | jq \(aq.[].email\(aq
|
|
54
|
+
.EE
|
|
55
|
+
.RE
|
|
56
|
+
.SH EXIT STATUS
|
|
57
|
+
See
|
|
58
|
+
.BR docmost\-cli (1).
|
|
59
|
+
.SH SEE ALSO
|
|
60
|
+
.BR docmost\-cli (1),
|
|
61
|
+
.BR docmost\-cli\-user (1)
|
|
62
|
+
.SH AUTHORS
|
|
63
|
+
Georg
|
|
64
|
+
.MT georg@mann\-mouse.at
|
|
65
|
+
.ME .
|
|
66
|
+
.SH COPYRIGHT
|
|
67
|
+
Copyright \(co 2026 Georg.
|
|
68
|
+
License AGPLv3+: GNU Affero General Public License version 3 or later.
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
.\" Manual page for docmost-cli(1)
|
|
2
|
+
.\" Source: SPECIFICATION.md, src/docmost_cli/cli/main.py
|
|
3
|
+
.TH DOCMOST\-CLI 1 "2026\-03\-22" "docmost\-cli 0.4.0" "User Commands"
|
|
4
|
+
.SH NAME
|
|
5
|
+
docmost\-cli \- manage Docmost wiki instances from the terminal
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
.B docmost\-cli
|
|
8
|
+
.RI [ global\-options ]
|
|
9
|
+
.I command
|
|
10
|
+
.RI [ command\-options ]
|
|
11
|
+
.SH DESCRIPTION
|
|
12
|
+
.B docmost\-cli
|
|
13
|
+
is a command\-line tool for interacting with Docmost wiki instances.
|
|
14
|
+
It provides full CRUD access to pages, spaces, comments, and attachments,
|
|
15
|
+
as well as bidirectional sync between a Docmost space and a local directory
|
|
16
|
+
of Markdown files.
|
|
17
|
+
.PP
|
|
18
|
+
Designed for both human operators and automation pipelines,
|
|
19
|
+
.B docmost\-cli
|
|
20
|
+
follows Unix conventions: data goes to stdout, messages go to stderr,
|
|
21
|
+
and every command is pipeable.
|
|
22
|
+
.PP
|
|
23
|
+
All page content is presented as Markdown.
|
|
24
|
+
ProseMirror JSON (Docmost's internal format) is converted automatically
|
|
25
|
+
and never exposed unless
|
|
26
|
+
.B \-\-raw
|
|
27
|
+
is used.
|
|
28
|
+
.PP
|
|
29
|
+
.B docmost\-cli
|
|
30
|
+
supports two authentication modes:
|
|
31
|
+
.TP
|
|
32
|
+
.B API key (Enterprise edition)
|
|
33
|
+
Bearer\-token authentication using a
|
|
34
|
+
.I dm_
|
|
35
|
+
prefixed key.
|
|
36
|
+
.TP
|
|
37
|
+
.B Email/password (Community edition)
|
|
38
|
+
Session\-based authentication via
|
|
39
|
+
.IR /api/auth/login .
|
|
40
|
+
A JWT is cached locally and refreshed automatically on 401 responses.
|
|
41
|
+
.PP
|
|
42
|
+
Auth mode is auto\-detected from configuration: if
|
|
43
|
+
.B api_key
|
|
44
|
+
is set it takes precedence; otherwise
|
|
45
|
+
.B email
|
|
46
|
+
and
|
|
47
|
+
.B password
|
|
48
|
+
are used.
|
|
49
|
+
.SH GLOBAL OPTIONS
|
|
50
|
+
.TP
|
|
51
|
+
.BR \-p ", " \-\-profile " " \fIname\fR
|
|
52
|
+
Configuration profile to use.
|
|
53
|
+
Default:
|
|
54
|
+
.BR default .
|
|
55
|
+
.TP
|
|
56
|
+
.BI \-\-url " url"
|
|
57
|
+
Override the Docmost instance URL for this invocation.
|
|
58
|
+
.TP
|
|
59
|
+
.BI \-\-api\-key " key"
|
|
60
|
+
Override the API key for this invocation.
|
|
61
|
+
.TP
|
|
62
|
+
.BR \-y ", " \-\-yes
|
|
63
|
+
Skip all confirmation prompts (useful for scripting).
|
|
64
|
+
.TP
|
|
65
|
+
.BR \-v ", " \-\-verbose
|
|
66
|
+
Enable debug logging.
|
|
67
|
+
Prints HTTP requests and responses to stderr.
|
|
68
|
+
.TP
|
|
69
|
+
.BI \-\-config " path"
|
|
70
|
+
Path to an alternative configuration file.
|
|
71
|
+
.SH COMMANDS
|
|
72
|
+
Each command group is documented in its own man page.
|
|
73
|
+
Run
|
|
74
|
+
.BI "docmost\-cli " "command" " \-\-help"
|
|
75
|
+
for quick usage, or see the corresponding man page for full documentation.
|
|
76
|
+
.TP
|
|
77
|
+
.BR config
|
|
78
|
+
Manage configuration: interactive setup, show, set values, test connectivity.
|
|
79
|
+
See
|
|
80
|
+
.BR docmost\-cli\-config (1).
|
|
81
|
+
.TP
|
|
82
|
+
.BR page
|
|
83
|
+
Page operations: list, get, create, update, delete, move, duplicate, copy,
|
|
84
|
+
children, history, export, import.
|
|
85
|
+
See
|
|
86
|
+
.BR docmost\-cli\-page (1).
|
|
87
|
+
.TP
|
|
88
|
+
.BR space
|
|
89
|
+
Space operations: list, create, update.
|
|
90
|
+
See
|
|
91
|
+
.BR docmost\-cli\-space (1).
|
|
92
|
+
.TP
|
|
93
|
+
.BR sync
|
|
94
|
+
Sync space pages to/from a local directory of Markdown files.
|
|
95
|
+
See
|
|
96
|
+
.BR docmost\-cli\-sync (1).
|
|
97
|
+
.TP
|
|
98
|
+
.BR comment
|
|
99
|
+
Comment operations: list, create, update.
|
|
100
|
+
See
|
|
101
|
+
.BR docmost\-cli\-comment (1).
|
|
102
|
+
.TP
|
|
103
|
+
.BR search
|
|
104
|
+
Full\-text search across pages and attachments.
|
|
105
|
+
See
|
|
106
|
+
.BR docmost\-cli\-search (1).
|
|
107
|
+
.TP
|
|
108
|
+
.BR attachment
|
|
109
|
+
Attachment operations: search.
|
|
110
|
+
See
|
|
111
|
+
.BR docmost\-cli\-attachment (1).
|
|
112
|
+
.TP
|
|
113
|
+
.BR workspace
|
|
114
|
+
Workspace information: details and member listing.
|
|
115
|
+
See
|
|
116
|
+
.BR docmost\-cli\-workspace (1).
|
|
117
|
+
.TP
|
|
118
|
+
.BR user
|
|
119
|
+
Current user information.
|
|
120
|
+
See
|
|
121
|
+
.BR docmost\-cli\-user (1).
|
|
122
|
+
.SH OUTPUT CONVENTIONS
|
|
123
|
+
.B docmost\-cli
|
|
124
|
+
separates machine\-readable data (stdout) from human\-readable messages
|
|
125
|
+
(stderr) so that output can be captured or piped reliably.
|
|
126
|
+
.TS
|
|
127
|
+
l l l.
|
|
128
|
+
Command type stdout stderr
|
|
129
|
+
_
|
|
130
|
+
Content (page get) Raw Markdown nothing
|
|
131
|
+
Content + meta (page get \-\-meta) YAML frontmatter + Markdown nothing
|
|
132
|
+
Lists (page list, search, ...) Rich table or JSON (\-\-json) nothing
|
|
133
|
+
Writes (page create, delete, ...) Resource ID only Confirmation message
|
|
134
|
+
Sync status Change summary nothing
|
|
135
|
+
Sync push \-\-dry\-run Action plan nothing
|
|
136
|
+
Sync ops (pull, push) nothing Progress + summary
|
|
137
|
+
Errors nothing Error message
|
|
138
|
+
.TE
|
|
139
|
+
.SH CONFIGURATION
|
|
140
|
+
Configuration is stored in a TOML file supporting multiple named profiles.
|
|
141
|
+
.SS File format
|
|
142
|
+
.PP
|
|
143
|
+
.EX
|
|
144
|
+
[default]
|
|
145
|
+
url = "https://docs.example.com"
|
|
146
|
+
# Enterprise edition:
|
|
147
|
+
api_key = "dm_xxxxxxxxxxxxxxxxxxxx"
|
|
148
|
+
|
|
149
|
+
# Community edition (used if api_key is absent):
|
|
150
|
+
# email = "user@example.com"
|
|
151
|
+
# password = "secret"
|
|
152
|
+
|
|
153
|
+
[staging]
|
|
154
|
+
url = "https://staging\-docs.example.com"
|
|
155
|
+
api_key = "dm_yyyyyyyyyyyyyyyyyyyy"
|
|
156
|
+
.EE
|
|
157
|
+
.SS Priority chain
|
|
158
|
+
.PP
|
|
159
|
+
CLI flags > environment variables > config file > defaults.
|
|
160
|
+
.PP
|
|
161
|
+
Run
|
|
162
|
+
.B docmost\-cli config init
|
|
163
|
+
for an interactive setup wizard, or
|
|
164
|
+
.B docmost\-cli config test
|
|
165
|
+
to verify connectivity and authentication.
|
|
166
|
+
.SH ENVIRONMENT
|
|
167
|
+
.TP
|
|
168
|
+
.B DOCMOST_URL
|
|
169
|
+
Docmost instance URL.
|
|
170
|
+
.TP
|
|
171
|
+
.B DOCMOST_API_KEY
|
|
172
|
+
API key (Enterprise edition).
|
|
173
|
+
.TP
|
|
174
|
+
.B DOCMOST_EMAIL
|
|
175
|
+
Login email (Community edition).
|
|
176
|
+
.TP
|
|
177
|
+
.B DOCMOST_PASSWORD
|
|
178
|
+
Login password (Community edition).
|
|
179
|
+
.TP
|
|
180
|
+
.B DOCMOST_PROFILE
|
|
181
|
+
Active profile name.
|
|
182
|
+
.TP
|
|
183
|
+
.B XDG_CONFIG_HOME
|
|
184
|
+
Override configuration directory
|
|
185
|
+
(default:
|
|
186
|
+
.IR ~/.config ).
|
|
187
|
+
.TP
|
|
188
|
+
.B XDG_CACHE_HOME
|
|
189
|
+
Override cache directory
|
|
190
|
+
(default:
|
|
191
|
+
.IR ~/.cache ).
|
|
192
|
+
.SH FILES
|
|
193
|
+
.TP
|
|
194
|
+
.I ~/.config/docmost\-cli/config.toml
|
|
195
|
+
Main configuration file (TOML format with profile sections).
|
|
196
|
+
.TP
|
|
197
|
+
.I ~/.cache/docmost\-cli/session.json
|
|
198
|
+
Cached JWT session token (Community edition auth).
|
|
199
|
+
.SH EXIT STATUS
|
|
200
|
+
.TP
|
|
201
|
+
.B 0
|
|
202
|
+
Success.
|
|
203
|
+
.TP
|
|
204
|
+
.B 1
|
|
205
|
+
General error (API error, network failure).
|
|
206
|
+
.TP
|
|
207
|
+
.B 2
|
|
208
|
+
Usage error (missing arguments, invalid flags).
|
|
209
|
+
.TP
|
|
210
|
+
.B 3
|
|
211
|
+
Authentication error (invalid credentials, expired token).
|
|
212
|
+
.TP
|
|
213
|
+
.B 4
|
|
214
|
+
Resource not found (invalid page ID, unknown space slug).
|
|
215
|
+
.SH EXAMPLES
|
|
216
|
+
Set up configuration interactively:
|
|
217
|
+
.PP
|
|
218
|
+
.RS 4
|
|
219
|
+
.EX
|
|
220
|
+
$ docmost\-cli config init
|
|
221
|
+
$ docmost\-cli config test
|
|
222
|
+
.EE
|
|
223
|
+
.RE
|
|
224
|
+
.PP
|
|
225
|
+
List pages in a space as JSON and filter with jq:
|
|
226
|
+
.PP
|
|
227
|
+
.RS 4
|
|
228
|
+
.EX
|
|
229
|
+
$ docmost\-cli page list engineering \-\-json | jq \(aq.[].title\(aq
|
|
230
|
+
.EE
|
|
231
|
+
.RE
|
|
232
|
+
.PP
|
|
233
|
+
Download a page as Markdown:
|
|
234
|
+
.PP
|
|
235
|
+
.RS 4
|
|
236
|
+
.EX
|
|
237
|
+
$ docmost\-cli page get abc123 > page.md
|
|
238
|
+
.EE
|
|
239
|
+
.RE
|
|
240
|
+
.PP
|
|
241
|
+
Create a page and capture its ID:
|
|
242
|
+
.PP
|
|
243
|
+
.RS 4
|
|
244
|
+
.EX
|
|
245
|
+
$ PAGE_ID=$(docmost\-cli page create eng \-\-title "New Page" \-\-file content.md)
|
|
246
|
+
$ echo "Created: $PAGE_ID"
|
|
247
|
+
.EE
|
|
248
|
+
.RE
|
|
249
|
+
.PP
|
|
250
|
+
Sync a space to a local directory:
|
|
251
|
+
.PP
|
|
252
|
+
.RS 4
|
|
253
|
+
.EX
|
|
254
|
+
$ docmost\-cli sync pull engineering \-\-dir ./docs/eng
|
|
255
|
+
$ docmost\-cli sync status engineering \-\-dir ./docs/eng
|
|
256
|
+
$ docmost\-cli sync push engineering \-\-dir ./docs/eng \-\-dry\-run
|
|
257
|
+
.EE
|
|
258
|
+
.RE
|
|
259
|
+
.PP
|
|
260
|
+
Search across the wiki:
|
|
261
|
+
.PP
|
|
262
|
+
.RS 4
|
|
263
|
+
.EX
|
|
264
|
+
$ docmost\-cli search query "deployment guide" \-\-space eng
|
|
265
|
+
.EE
|
|
266
|
+
.RE
|
|
267
|
+
.PP
|
|
268
|
+
Use a named profile:
|
|
269
|
+
.PP
|
|
270
|
+
.RS 4
|
|
271
|
+
.EX
|
|
272
|
+
$ docmost\-cli \-p staging page list engineering
|
|
273
|
+
.EE
|
|
274
|
+
.RE
|
|
275
|
+
.SH BUGS
|
|
276
|
+
Report bugs at
|
|
277
|
+
.UR https://github.com/glinhard/docmost\-cli/issues
|
|
278
|
+
.UE .
|
|
279
|
+
.SH AUTHORS
|
|
280
|
+
Georg
|
|
281
|
+
.MT georg@mann\-mouse.at
|
|
282
|
+
.ME .
|
|
283
|
+
.SH COPYRIGHT
|
|
284
|
+
Copyright \(co 2026 Georg.
|
|
285
|
+
.br
|
|
286
|
+
License AGPLv3+: GNU Affero General Public License version 3 or later
|
|
287
|
+
.UR https://www.gnu.org/licenses/agpl\-3.0.html
|
|
288
|
+
.UE .
|
|
289
|
+
.br
|
|
290
|
+
This is free software: you are free to change and redistribute it.
|
|
291
|
+
There is NO WARRANTY, to the extent permitted by law.
|
|
292
|
+
.SH SEE ALSO
|
|
293
|
+
.BR docmost\-cli\-config (1),
|
|
294
|
+
.BR docmost\-cli\-page (1),
|
|
295
|
+
.BR docmost\-cli\-space (1),
|
|
296
|
+
.BR docmost\-cli\-sync (1),
|
|
297
|
+
.BR docmost\-cli\-comment (1),
|
|
298
|
+
.BR docmost\-cli\-search (1),
|
|
299
|
+
.BR docmost\-cli\-attachment (1),
|
|
300
|
+
.BR docmost\-cli\-workspace (1),
|
|
301
|
+
.BR docmost\-cli\-user (1)
|