featureparity 0.0.21 → 0.0.23
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.
- checksums.yaml +4 -4
- data/lib/fp/cli.rb +40 -0
- data/lib/fp/client.rb +70 -0
- data/lib/fp/commands/analyze.rb +10 -0
- data/lib/fp/commands/attach.rb +109 -46
- data/lib/fp/commands/attachments.rb +6 -0
- data/lib/fp/commands/base.rb +144 -0
- data/lib/fp/commands/changed_tests.rb +12 -0
- data/lib/fp/commands/changes.rb +9 -0
- data/lib/fp/commands/check.rb +41 -3
- data/lib/fp/commands/ci_report.rb +17 -0
- data/lib/fp/commands/comment.rb +10 -0
- data/lib/fp/commands/config_cmd.rb +9 -0
- data/lib/fp/commands/conversation.rb +5 -0
- data/lib/fp/commands/export.rb +10 -0
- data/lib/fp/commands/help.rb +81 -6
- data/lib/fp/commands/history.rb +8 -0
- data/lib/fp/commands/init.rb +50 -1
- data/lib/fp/commands/list.rb +12 -0
- data/lib/fp/commands/matrix.rb +9 -0
- data/lib/fp/commands/profile.rb +9 -0
- data/lib/fp/commands/projects.rb +63 -3
- data/lib/fp/commands/propose.rb +18 -0
- data/lib/fp/commands/propose_change.rb +73 -2
- data/lib/fp/commands/report.rb +157 -7
- data/lib/fp/commands/repos.rb +11 -0
- data/lib/fp/commands/setup.rb +11 -0
- data/lib/fp/commands/show.rb +42 -3
- data/lib/fp/commands/showroom.rb +194 -0
- data/lib/fp/commands/showroom_media.rb +334 -0
- data/lib/fp/commands/surfaces.rb +142 -3
- data/lib/fp/commands/version.rb +3 -0
- data/lib/fp/commands/whoami.rb +6 -0
- data/lib/fp/commands.rb +2 -0
- data/lib/fp/junit.rb +213 -18
- data/lib/fp/version.rb +1 -1
- data/skills/fp/SKILL.md +45 -0
- data/skills/fp/references/cli.md +64 -1
- metadata +4 -2
data/skills/fp/references/cli.md
CHANGED
|
@@ -36,7 +36,7 @@ fp projects # list
|
|
|
36
36
|
fp projects --json
|
|
37
37
|
fp projects show <slug> # details + surfaces
|
|
38
38
|
fp projects create <slug> --name "Name" [--description "..."] [--surfaces api,web]
|
|
39
|
-
fp projects edit <slug> [--name "..."] [--description "..."]
|
|
39
|
+
fp projects edit <slug> [--name "..."] [--description "..."] [--showroom-welcome "..." | --showroom-welcome-file PATH]
|
|
40
40
|
fp projects delete <slug> [--yes]
|
|
41
41
|
```
|
|
42
42
|
|
|
@@ -62,6 +62,7 @@ fp surfaces --project stowzilla --json
|
|
|
62
62
|
fp surfaces show <key> --project stowzilla
|
|
63
63
|
fp surfaces add <key> --project stowzilla [--name "..."] [--kind api|web|android|ios|other] [--audience ...] [--repo org/repo] [--default-branch main]
|
|
64
64
|
fp surfaces edit <key> --project stowzilla [--name "..."] [--kind ...] [--audience ...] [--repo ...] [--default-branch ...] [--key new_key]
|
|
65
|
+
fp surfaces edit <key> --project stowzilla [--showroom-url URL] [--showroom-label "..."] [--showroom-instructions "..." | --showroom-instructions-file PATH] [--showroom-position N]
|
|
65
66
|
fp surfaces delete <key> --project stowzilla [--yes]
|
|
66
67
|
```
|
|
67
68
|
|
|
@@ -74,6 +75,68 @@ A surface that requirements still require can't be deleted or re-keyed — the s
|
|
|
74
75
|
refuses and names them. Taking a surface off a requirement is a human's call, so ask
|
|
75
76
|
one rather than working around it.
|
|
76
77
|
|
|
78
|
+
### fp showroom
|
|
79
|
+
|
|
80
|
+
The client showroom is the one page a client of the project sees: the project's
|
|
81
|
+
welcome note and a gallery of screenshots or videos under it, then a card per surface
|
|
82
|
+
with a link, a button label, instructions for signing in and trying it, and its own
|
|
83
|
+
media. The team's agents keep that content; this command
|
|
84
|
+
shows the result.
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
fp showroom --project stowzilla # what a client sees, plus which surfaces are hidden and why
|
|
88
|
+
fp showroom --project stowzilla --json # { showroom, hidden, share_link }; showroom.gallery and each surface's media
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Writing the content:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
fp projects edit stowzilla --showroom-welcome "Hi Sam, here's what we built."
|
|
95
|
+
fp projects edit stowzilla --showroom-welcome-file docs/showroom/welcome.txt
|
|
96
|
+
fp surfaces edit web --project stowzilla \
|
|
97
|
+
--showroom-url https://dev.example.com \
|
|
98
|
+
--showroom-label "Open the web app" \
|
|
99
|
+
--showroom-instructions-file docs/showroom/web.txt
|
|
100
|
+
fp surfaces edit ios --project stowzilla --showroom-url "" --showroom-instructions "" # take the card down
|
|
101
|
+
fp surfaces edit web --project stowzilla --showroom-position 1 # clients see web first
|
|
102
|
+
fp surfaces edit web --project stowzilla --showroom-position "" # back to alphabetical
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Media — screenshots and videos on a surface's card, or in the project gallery under the
|
|
106
|
+
welcome note when `--surface` is omitted:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
fp showroom media --project stowzilla # gallery, then each surface in showroom order: id, kind, file, caption, position
|
|
110
|
+
fp showroom media --project stowzilla --json # { media: [...each with surface_key (null = gallery)], project }
|
|
111
|
+
fp showroom media add e2e/results/checkout.webm --project stowzilla --surface web \
|
|
112
|
+
--caption "Checking out with a saved card" --position 1
|
|
113
|
+
fp showroom media add docs/showroom/overview.png --project stowzilla # the gallery
|
|
114
|
+
fp showroom media edit <id> --project stowzilla --caption "New words" --position 2
|
|
115
|
+
fp showroom media edit <id> --project stowzilla --caption "" --position "" # clear the caption, move it last
|
|
116
|
+
fp showroom media remove <id> --project stowzilla --yes
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Accepted: png, jpg/jpeg, gif, webp, mp4, webm, mov, up to 100 MB. Anything else — SVG
|
|
120
|
+
(it can carry script) and PDF included — is refused with the reason before anything is
|
|
121
|
+
sent, as is a `--position` that isn't a whole number of 1 or more. Within a card or the
|
|
122
|
+
gallery, positions run 1..n with no gaps: `--position N` puts the item at slot N and
|
|
123
|
+
shifts the others, an empty `--position` moves it to the end, and `add` without one
|
|
124
|
+
appends. `remove`
|
|
125
|
+
asks you to type the filename back in a terminal and refuses non-interactively without
|
|
126
|
+
`--yes`.
|
|
127
|
+
|
|
128
|
+
A surface is on the showroom once it has a link, instructions, or media, and leaves it
|
|
129
|
+
when all three are empty; there is no separate on/off switch, so `fp showroom` lists the hidden
|
|
130
|
+
surfaces so a card that dropped out is noticed. Links must be `http://` or `https://`
|
|
131
|
+
(the CLI checks before sending). The `-file` variants are for anything longer than a
|
|
132
|
+
line: the showroom keeps line breaks, so write real paragraphs. Only the flags you pass
|
|
133
|
+
are sent.
|
|
134
|
+
|
|
135
|
+
Two things are deliberately not available to an agent's key: leaving feedback (that is
|
|
136
|
+
the client talking) and turning the share link on or off (publishing a link anyone can
|
|
137
|
+
open is a person's decision). `fp showroom` reports the share link as `unknown` for
|
|
138
|
+
that reason; a human checks it under Project Settings → Showroom in the web app.
|
|
139
|
+
|
|
77
140
|
### fp list
|
|
78
141
|
|
|
79
142
|
List requirements.
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: featureparity
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.23
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Stowzilla
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-10-
|
|
11
|
+
date: 2026-10-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: net-http
|
|
@@ -119,6 +119,8 @@ files:
|
|
|
119
119
|
- lib/fp/commands/repos.rb
|
|
120
120
|
- lib/fp/commands/setup.rb
|
|
121
121
|
- lib/fp/commands/show.rb
|
|
122
|
+
- lib/fp/commands/showroom.rb
|
|
123
|
+
- lib/fp/commands/showroom_media.rb
|
|
122
124
|
- lib/fp/commands/surfaces.rb
|
|
123
125
|
- lib/fp/commands/version.rb
|
|
124
126
|
- lib/fp/commands/whoami.rb
|