artyfax 0.2.0

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.
Files changed (4) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +139 -0
  3. package/dist/cli.js +1432 -0
  4. package/package.json +49 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Artyfax
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.
package/README.md ADDED
@@ -0,0 +1,139 @@
1
+ # artyfax
2
+
3
+ CLI for [Artyfax](https://artyfax.io) - your personal document library. Save, theme, search, and share your documents from the terminal.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install -g artyfax
9
+ ```
10
+
11
+ Requires Node.js 20 or later.
12
+
13
+ ## Quick start
14
+
15
+ ```bash
16
+ # Set your API key
17
+ export ARTYFAX_API_KEY="your-api-key"
18
+
19
+ # Save a document
20
+ arty save notes.md --category inbox
21
+
22
+ # List your documents
23
+ arty list
24
+
25
+ # Search your library
26
+ arty search "deployment guide"
27
+
28
+ # Check your setup
29
+ arty doctor
30
+ ```
31
+
32
+ ## Commands
33
+
34
+ ### Documents
35
+
36
+ | Command | Description |
37
+ |---------|-------------|
38
+ | `arty save <file>` | Save a document (markdown or HTML) |
39
+ | `arty save --url <url>` | Save from a URL (server-side extraction) |
40
+ | `arty read <slug>` | Read document content (handles E2EE decryption) |
41
+ | `arty list` | List documents |
42
+ | `arty get <slug>` | Document metadata as JSON |
43
+ | `arty search <query>` | Full-text search |
44
+ | `arty update <slug> <file>` | Push updated content (auto-encrypts secure docs) |
45
+ | `arty metadata <slug>` | Update document metadata |
46
+ | `arty delete <slug>` | Delete a document |
47
+ | `arty open <slug>` | Open document in browser |
48
+ | `arty secure <slug>` | Encrypt a document |
49
+ | `arty unsecure <slug>` | Remove encryption |
50
+
51
+ ### Shares
52
+
53
+ | Command | Description |
54
+ |---------|-------------|
55
+ | `arty share create <slug>` | Create a share link |
56
+ | `arty share list [slug]` | List shares |
57
+ | `arty share revoke <hash>` | Revoke a share link |
58
+
59
+ ### Sub-resources
60
+
61
+ | Command | Description |
62
+ |---------|-------------|
63
+ | `arty cat list` | List categories with document counts |
64
+ | `arty tag list` | List tags with counts |
65
+ | `arty version list <slug>` | Version history |
66
+ | `arty version restore <slug>` | Restore a previous version |
67
+
68
+ ### Annotations
69
+
70
+ | Command | Description |
71
+ |---------|-------------|
72
+ | `arty note list <slug>` | List annotations on a document |
73
+ | `arty note add <slug>` | Add a note (`--text` or stdin) |
74
+ | `arty note search <query>` | Search across annotations |
75
+
76
+ ### Tools
77
+
78
+ | Command | Description |
79
+ |---------|-------------|
80
+ | `arty doctor` | Verify CLI setup |
81
+ | `arty skill install` | Install Artyfax skills for Claude Code |
82
+
83
+ ## Global flags
84
+
85
+ | Flag | Description |
86
+ |------|-------------|
87
+ | `--json` | Machine-readable JSON output |
88
+ | `--yes`, `-y` | Skip interactive confirmations |
89
+ | `--api-key <key>` | API key (prefer env var) |
90
+ | `--endpoint <url>` | API endpoint |
91
+ | `--help`, `-h` | Show help |
92
+ | `--version`, `-v` | Show version |
93
+
94
+ Every command supports `--help` for detailed usage and examples:
95
+
96
+ ```bash
97
+ arty save --help
98
+ arty share --help
99
+ ```
100
+
101
+ ## Slug resolution
102
+
103
+ Commands accept documents by full slug, bare name, or UUID:
104
+
105
+ ```bash
106
+ arty read inbox/my-doc # full slug
107
+ arty read my-doc # bare name (resolves automatically)
108
+ arty get 12345678-... # UUID
109
+ ```
110
+
111
+ ## E2E Encryption
112
+
113
+ Artyfax supports client-side encryption. The CLI handles encryption and decryption transparently.
114
+
115
+ ```bash
116
+ # Save an encrypted document
117
+ arty save secret.md --secure
118
+
119
+ # Read decrypts automatically (prompts for passphrase)
120
+ arty read inbox/secret
121
+
122
+ # Update auto-encrypts if the target is secure
123
+ arty update inbox/secret updated.md
124
+
125
+ # Set passphrase via env var to skip the prompt
126
+ export ARTYFAX_SECURE_PASSPHRASE="your-passphrase"
127
+ ```
128
+
129
+ ## Environment variables
130
+
131
+ | Variable | Description |
132
+ |----------|-------------|
133
+ | `ARTYFAX_API_KEY` | API key for authentication (required) |
134
+ | `ARTYFAX_ENDPOINT` | API endpoint URL (default: `https://artyfax.io`) |
135
+ | `ARTYFAX_SECURE_PASSPHRASE` | E2EE passphrase (avoids interactive prompt) |
136
+
137
+ ## License
138
+
139
+ MIT