@puffinstudio/fizzyx 0.4.1 → 0.4.2
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.
- package/.fizzy.yaml +1 -3
- package/.fizzyx/oss-manifest.json +1 -1
- package/README.md +68 -54
- package/dist/main.js +60 -57
- package/package.json +1 -1
package/.fizzy.yaml
CHANGED
|
@@ -15,13 +15,11 @@ oss:
|
|
|
15
15
|
dev:
|
|
16
16
|
endpoint: https://youda-uat.oss-cn-beijing.aliyuncs.com
|
|
17
17
|
region: cn-beijing
|
|
18
|
-
bucket: test
|
|
19
18
|
sync:
|
|
20
19
|
local_dir: ./public
|
|
20
|
+
remote_prefix: assets
|
|
21
21
|
concurrency: 10
|
|
22
|
-
bucket: test
|
|
23
22
|
prod:
|
|
24
23
|
endpoint:
|
|
25
24
|
region:
|
|
26
25
|
bucket:
|
|
27
|
-
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 1,
|
|
3
3
|
"localDir": "/home/e/.repos/fizzyx/./public",
|
|
4
4
|
"remotePrefix": "assets",
|
|
5
|
-
"lastSyncedAt": "2026-06-
|
|
5
|
+
"lastSyncedAt": "2026-06-18T06:16:29.930Z",
|
|
6
6
|
"files": {
|
|
7
7
|
"Monkey_D._Luffy_Anime_Post_Timeskip_Infobox.webp": {
|
|
8
8
|
"mtimeMs": 1781757440085.3743,
|
package/README.md
CHANGED
|
@@ -1,84 +1,98 @@
|
|
|
1
1
|
# fizzyx
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
`fizzyx` is a Bun + Effect 4 beta CLI that reads `.fizzy.yaml`, stores auth locally, talks to the Fizzy HTTP API directly, and adds project workflow commands optimized for AI agents.
|
|
3
|
+
CLI tool for Fizzy board workflow and OSS/S3-compatible storage management.
|
|
6
4
|
|
|
7
5
|
## Install
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
```bash
|
|
7
|
+
```sh
|
|
12
8
|
bun add -g @puffinstudio/fizzyx
|
|
13
9
|
```
|
|
14
10
|
|
|
15
|
-
|
|
11
|
+
## OSS Commands
|
|
16
12
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
Manage S3-compatible object storage (Alibaba Cloud OSS, AWS S3, MinIO, etc.).
|
|
14
|
+
|
|
15
|
+
### Setup
|
|
20
16
|
|
|
21
|
-
|
|
17
|
+
```sh
|
|
18
|
+
# Interactive blank scaffold (prompts for keys)
|
|
19
|
+
fizzyx oss setup
|
|
22
20
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
# With explicit config (keys are prompted separately)
|
|
22
|
+
fizzyx oss setup --env dev --endpoint https://oss-cn-beijing.aliyuncs.com --region cn-beijing --local-dir ./public [--bucket my-bucket] [--remote-prefix assets]
|
|
23
|
+
|
|
24
|
+
# Configure keys for an existing environment
|
|
25
|
+
fizzyx oss setup --env dev
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
- `--endpoint` and `--region` are required
|
|
29
|
+
- `--bucket` is optional — omit if your endpoint already includes the bucket name (e.g. `https://my-bucket.oss-cn-beijing.aliyuncs.com`)
|
|
30
|
+
- `--remote-prefix` is optional — omit to upload to bucket root
|
|
31
|
+
- Credentials are stored in OS keychain via `Bun.secrets`, never in config files or shell history
|
|
32
|
+
|
|
33
|
+
### Sync
|
|
29
34
|
|
|
30
|
-
|
|
31
|
-
fizzyx setup <board-id>
|
|
35
|
+
Upload local files to the remote bucket:
|
|
32
36
|
|
|
33
|
-
|
|
37
|
+
```sh
|
|
38
|
+
fizzyx oss sync [--env dev] [--full] [--no-urls]
|
|
34
39
|
```
|
|
35
40
|
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
- `--env`: environment name (default: `dev`)
|
|
42
|
+
- `--full`: ignore cached manifest, force full re-upload
|
|
43
|
+
- `--no-urls`: suppress file URL output
|
|
38
44
|
|
|
39
|
-
|
|
45
|
+
Sync uses a two-stage check (mtime+size → SHA-256 hash) to skip unchanged files. The manifest is stored at `.fizzyx/oss-manifest.json` and can be committed for team sharing.
|
|
40
46
|
|
|
41
|
-
|
|
47
|
+
### List
|
|
42
48
|
|
|
43
|
-
|
|
44
|
-
fizzyx auth login <token>
|
|
45
|
-
fizzyx auth status
|
|
46
|
-
```
|
|
49
|
+
List objects in the remote bucket:
|
|
47
50
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
## Commands
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
fizzyx flow sync
|
|
54
|
-
fizzyx flow mine --fresh
|
|
55
|
-
fizzyx flow status
|
|
56
|
-
fizzyx flow next
|
|
57
|
-
fizzyx flow show 123
|
|
58
|
-
fizzyx flow start 123
|
|
59
|
-
fizzyx flow done 123 "commit abc123: subject"
|
|
60
|
-
fizzyx flow block 123 "waiting on API"
|
|
61
|
-
fizzyx flow add ray "[Page] home · title" --desc /tmp/card.md
|
|
62
|
-
fizzyx flow add ray "[Page] home · title" --desc - < /tmp/card.md
|
|
63
|
-
fizzyx flow steps-from-desc 123
|
|
51
|
+
```sh
|
|
52
|
+
fizzyx oss ls [--env dev] [--prefix assets/]
|
|
64
53
|
```
|
|
65
54
|
|
|
66
|
-
|
|
55
|
+
- `--prefix`: filter objects by key prefix
|
|
67
56
|
|
|
68
|
-
|
|
69
|
-
|
|
57
|
+
### Status
|
|
58
|
+
|
|
59
|
+
Show sync status (pending uploads, manifest info):
|
|
60
|
+
|
|
61
|
+
```sh
|
|
62
|
+
fizzyx oss status [--env dev]
|
|
70
63
|
```
|
|
71
64
|
|
|
72
|
-
##
|
|
65
|
+
## Config File (`.fizzy.yaml`)
|
|
73
66
|
|
|
74
|
-
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
67
|
+
Minimal OSS-only config:
|
|
68
|
+
|
|
69
|
+
```yaml
|
|
70
|
+
oss:
|
|
71
|
+
dev:
|
|
72
|
+
endpoint: https://oss-cn-beijing.aliyuncs.com
|
|
73
|
+
region: cn-beijing
|
|
74
|
+
bucket: my-bucket
|
|
75
|
+
sync:
|
|
76
|
+
local_dir: ./public
|
|
77
|
+
remote_prefix: assets
|
|
78
|
+
concurrency: 10
|
|
79
|
+
```
|
|
79
80
|
|
|
80
|
-
|
|
81
|
+
If your endpoint already contains the bucket in the hostname, `bucket` can be omitted:
|
|
81
82
|
|
|
82
|
-
```
|
|
83
|
-
|
|
83
|
+
```yaml
|
|
84
|
+
oss:
|
|
85
|
+
dev:
|
|
86
|
+
endpoint: https://my-bucket.oss-cn-beijing.aliyuncs.com
|
|
87
|
+
region: cn-beijing
|
|
88
|
+
sync:
|
|
89
|
+
local_dir: ./public
|
|
84
90
|
```
|
|
91
|
+
|
|
92
|
+
## Credential Resolution
|
|
93
|
+
|
|
94
|
+
Credentials are resolved in this priority order:
|
|
95
|
+
|
|
96
|
+
1. OS keychain (`Bun.secrets` — set via `fizzyx oss setup`)
|
|
97
|
+
2. Environment variables: `OSS_<ENV>_ACCESS_KEY_ID` / `OSS_<ENV>_SECRET_ACCESS_KEY`
|
|
98
|
+
3. `.fizzy.yaml` `access_key_id` / `secret_access_key` fields (legacy, discouraged)
|