fizzy-cli 0.9.0 → 1.0.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.
package/.golangci.yml ADDED
@@ -0,0 +1,56 @@
1
+ version: "2"
2
+ linters:
3
+ enable:
4
+ - errorlint
5
+ - gocritic
6
+ - gosec
7
+ - misspell
8
+ - nilerr
9
+ settings:
10
+ errcheck:
11
+ check-type-assertions: false
12
+ exclude-functions:
13
+ - fmt.Fprintf
14
+ - fmt.Printf
15
+ - fmt.Print
16
+ - fmt.Fprintln
17
+ - fmt.Println
18
+ - (io.Writer).Write
19
+ - (*github.com/spf13/cobra.Command).MarkFlagRequired
20
+ - (*github.com/spf13/cobra.Command).ParseFlags
21
+ - (*encoding/json.Encoder).Encode
22
+ - encoding/json.Unmarshal
23
+ gocritic:
24
+ disabled-checks:
25
+ - singleCaseSwitch
26
+ - rangeValCopy
27
+ - commentedOutCode
28
+ enabled-tags:
29
+ - diagnostic
30
+ - performance
31
+ gosec:
32
+ excludes:
33
+ - G104
34
+ - G301
35
+ - G304
36
+ exclusions:
37
+ generated: lax
38
+ rules:
39
+ - linters:
40
+ - errcheck
41
+ source: defer.*Close\(\)
42
+ paths:
43
+ - .*_test\.go$
44
+ - third_party$
45
+ - builtin$
46
+ - examples$
47
+ issues:
48
+ max-issues-per-linter: 0
49
+ max-same-issues: 0
50
+ formatters:
51
+ exclusions:
52
+ generated: lax
53
+ paths:
54
+ - third_party$
55
+ - builtin$
56
+ - examples$
@@ -0,0 +1,58 @@
1
+ # Fizzy CLI - Remaining Implementation Plan
2
+
3
+ This document tracks features that are **not yet implemented**.
4
+
5
+ ---
6
+
7
+ ## 📋 Missing Features
8
+
9
+ ### Pins Management
10
+
11
+ Card pinning for quick access:
12
+
13
+ - [ ] `fizzy card pin <number>` - `POST /cards/:number/pin`
14
+ - [ ] `fizzy card unpin <number>` - `DELETE /cards/:number/pin`
15
+ - [ ] `fizzy pin list` - `GET /my/pins` - List all pinned cards
16
+
17
+ ### Advanced Features
18
+
19
+ - [ ] **File uploads** - Support for card image uploads
20
+ - [ ] **Rich text support** - HTML validation for description fields
21
+ - [ ] **ETag caching** - `ETag`/`Cache-Control` header support for bandwidth optimization
22
+
23
+ ---
24
+
25
+ ## 📝 API Client Work Required
26
+
27
+ ### Pin Operations
28
+
29
+ ```go
30
+ func (c *Client) PostCardPin(ctx context.Context, cardNumber int) (bool, error)
31
+ func (c *Client) DeleteCardPin(ctx context.Context, cardNumber int) (bool, error)
32
+ func (c *Client) GetMyPins(ctx context.Context) ([]Card, error)
33
+ ```
34
+
35
+ ---
36
+
37
+ ## 📊 Completion Status
38
+
39
+ | Feature | Status |
40
+ |---------|--------|
41
+ | Authentication & Setup | ✅ Complete |
42
+ | Accounts | ✅ Complete |
43
+ | Boards (CRUD) | ✅ Complete |
44
+ | Cards (CRUD + operations) | ✅ Complete |
45
+ | Columns (CRUD) | ✅ Complete |
46
+ | Tags | ✅ Complete |
47
+ | Notifications | ✅ Complete |
48
+ | Steps | ✅ Complete |
49
+ | Comments | ✅ Complete |
50
+ | Reactions (Comment & Card) | ✅ Complete |
51
+ | Users | ✅ Complete |
52
+ | Identity (whoami) | ✅ Complete |
53
+ | Card Filtering & Search | ✅ Complete |
54
+ | Pagination | ✅ Complete |
55
+ | **Pins** | ⏳ Pending |
56
+ | **File Uploads** | ⏳ Pending |
57
+ | **Rich Text** | ⏳ Pending |
58
+ | **ETag Caching** | ⏳ Pending |
package/docs/API.md CHANGED
@@ -118,6 +118,22 @@ __Error responses:__
118
118
  | `401 Unauthorized` | Invalid `pending_authentication_token` or `code` |
119
119
  | `429 Too Many Requests` | Rate limit exceeded |
120
120
 
121
+
122
+ #### Delete server-side session (_log out_)
123
+
124
+ To log out and destroy the server-side session:
125
+
126
+ ```bash
127
+ curl -X DELETE \
128
+ -H "Accept: application/json" \
129
+ -H "Cookie: session_token=eyJfcmFpbHMi..." \
130
+ https://app.fizzy.do/session
131
+ ```
132
+
133
+ __Response:__
134
+
135
+ Returns `204 No Content` on success.
136
+
121
137
  ## Caching
122
138
 
123
139
  Most endpoints return [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/ETag) and [Cache-Control](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Cache-Control) headers. You can use these to avoid re-downloading unchanged data.
@@ -805,6 +821,79 @@ __Response:__
805
821
 
806
822
  Returns `204 No Content` on success.
807
823
 
824
+ ## Pins
825
+
826
+ Pins let users keep quick access to important cards.
827
+
828
+ ### `POST /:account_slug/cards/:card_number/pin`
829
+
830
+ Pins a card for the current user.
831
+
832
+ __Response:__
833
+
834
+ Returns `204 No Content` on success.
835
+
836
+ ### `DELETE /:account_slug/cards/:card_number/pin`
837
+
838
+ Unpins a card for the current user.
839
+
840
+ __Response:__
841
+
842
+ Returns `204 No Content` on success.
843
+
844
+ ### `GET /my/pins`
845
+
846
+ Returns the current user's pinned cards. This endpoint is not paginated and returns up to 100 cards.
847
+
848
+ __Response:__
849
+
850
+ ```json
851
+ [
852
+ {
853
+ "id": "03f5vaeq985jlvwv3arl4srq2",
854
+ "number": 1,
855
+ "title": "First!",
856
+ "status": "published",
857
+ "description": "Hello, World!",
858
+ "description_html": "<div class=\"action-text-content\"><p>Hello, World!</p></div>",
859
+ "image_url": null,
860
+ "tags": ["programming"],
861
+ "golden": false,
862
+ "last_active_at": "2025-12-05T19:38:48.553Z",
863
+ "created_at": "2025-12-05T19:38:48.540Z",
864
+ "url": "http://fizzy.localhost:3006/897362094/cards/4",
865
+ "board": {
866
+ "id": "03f5v9zkft4hj9qq0lsn9ohcm",
867
+ "name": "Fizzy",
868
+ "all_access": true,
869
+ "created_at": "2025-12-05T19:36:35.534Z",
870
+ "url": "http://fizzy.localhost:3006/897362094/boards/03f5v9zkft4hj9qq0lsn9ohcm",
871
+ "creator": {
872
+ "id": "03f5v9zjw7pz8717a4no1h8a7",
873
+ "name": "David Heinemeier Hansson",
874
+ "role": "owner",
875
+ "active": true,
876
+ "email_address": "david@example.com",
877
+ "created_at": "2025-12-05T19:36:35.401Z",
878
+ "url": "http://fizzy.localhost:3006/897362094/users/03f5v9zjw7pz8717a4no1h8a7",
879
+ "avatar_url": "http://fizzy.localhost:3006/897362094/users/03f5v9zjw7pz8717a4no1h8a7/avatar"
880
+ }
881
+ },
882
+ "creator": {
883
+ "id": "03f5v9zjw7pz8717a4no1h8a7",
884
+ "name": "David Heinemeier Hansson",
885
+ "role": "owner",
886
+ "active": true,
887
+ "email_address": "david@example.com",
888
+ "created_at": "2025-12-05T19:36:35.401Z",
889
+ "url": "http://fizzy.localhost:3006/897362094/users/03f5v9zjw7pz8717a4no1h8a7",
890
+ "avatar_url": "http://fizzy.localhost:3006/897362094/users/03f5v9zjw7pz8717a4no1h8a7/avatar"
891
+ },
892
+ "comments_url": "http://fizzy.localhost:3006/897362094/cards/4/comments"
893
+ }
894
+ ]
895
+ ```
896
+
808
897
  ## Comments
809
898
 
810
899
  Comments are attached to cards and support rich text.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fizzy-cli",
3
- "version": "0.9.0",
3
+ "version": "1.0.0",
4
4
  "description": "CLI for https://fizzy.do",
5
5
  "main": "bin/fizzy",
6
6
  "type": "module",