audiencemeter 0.1.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/README.md ADDED
@@ -0,0 +1,202 @@
1
+ # AudienceMeter CLI
2
+
3
+ **Speaker feedback, beautifully managed** -- from your terminal.
4
+
5
+ A full-featured terminal UI for [AudienceMeter](https://audiencemeter.pro) that lets you create, manage, and analyze speaker feedback sessions without leaving the command line.
6
+
7
+ ![AudienceMeter Dashboard](images/dashboard_with_tabs.png)
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ npm install -g audiencemeter
13
+ ```
14
+
15
+ Or run directly with npx:
16
+
17
+ ```bash
18
+ npx audiencemeter
19
+ ```
20
+
21
+ Requires Node.js 20+.
22
+
23
+ ## Quick Start
24
+
25
+ ```bash
26
+ # Log in with your AudienceMeter account
27
+ audiencemeter login
28
+
29
+ # Create a feedback session
30
+ audiencemeter create
31
+
32
+ # List your sessions
33
+ audiencemeter list
34
+
35
+ # View session details
36
+ audiencemeter show <pin>
37
+ ```
38
+
39
+ ## Interactive Dashboard
40
+
41
+ Run `audiencemeter` with no arguments to launch a full-screen TUI dashboard:
42
+
43
+ ```
44
+ $ audiencemeter
45
+ ```
46
+
47
+ ![Interactive Dashboard](images/dashboard_with_tabs.png)
48
+
49
+ Navigate with **Tab** or number keys **1-4** between views:
50
+
51
+ | Tab | View |
52
+ |-----|------|
53
+ | 1 | Dashboard -- overview stats |
54
+ | 2 | Sessions -- browse and drill into sessions |
55
+ | 3 | Create -- create a new session |
56
+ | 4 | Auth -- account info |
57
+
58
+ Press **q** or **Ctrl+C** to exit.
59
+
60
+ ## Commands
61
+
62
+ ### `login`
63
+
64
+ Opens your browser for Google OAuth login. Stores the token locally.
65
+
66
+ ```bash
67
+ audiencemeter login
68
+ ```
69
+
70
+ ### `logout`
71
+
72
+ Clears stored credentials.
73
+
74
+ ```bash
75
+ audiencemeter logout
76
+ ```
77
+
78
+ ### `auth whoami`
79
+
80
+ Shows your email, user ID, and API endpoint.
81
+
82
+ ```bash
83
+ audiencemeter auth whoami
84
+ ```
85
+
86
+ ![Auth Tab](images/authentication_whoami_tab.png)
87
+
88
+ ### `create`
89
+
90
+ Create a new feedback session. Interactive by default -- walks you through template selection, session name, date, and duration.
91
+
92
+ ```bash
93
+ # Interactive
94
+ audiencemeter create
95
+
96
+ # Non-interactive
97
+ audiencemeter create --template talk --project "DevFest 2026" --name "My Talk" --duration 45
98
+ ```
99
+
100
+ ![Create Session - Interactive Prompts](images/create_session_2.png)
101
+
102
+ Once created, you get a PIN, join URL, and QR code to share with your audience:
103
+
104
+ ![Session Created with QR Code](images/create_session_3_with_qr.png)
105
+
106
+ **Templates:** `talk` (45 min), `workshop` (120 min), `lightning` (10 min), `panel` (60 min)
107
+
108
+ **Options:**
109
+ | Flag | Description |
110
+ |------|-------------|
111
+ | `--template <type>` | Session template (talk, workshop, lightning, panel) |
112
+ | `--project <name>` | Project name (creates if new) |
113
+ | `--name <name>` | Session name |
114
+ | `--date <iso>` | Session date (defaults to now) |
115
+ | `--duration <min>` | Duration in minutes |
116
+ | `--json` | Output raw JSON |
117
+
118
+ ### `list` (alias: `ls`)
119
+
120
+ List your feedback sessions. In a TTY, launches an interactive full-screen list with keyboard navigation.
121
+
122
+ ![Session List](images/session_list.png)
123
+
124
+ ```bash
125
+ # Interactive list (TTY)
126
+ audiencemeter list
127
+
128
+ # Static table (non-TTY / piped)
129
+ audiencemeter list | cat
130
+
131
+ # JSON output
132
+ audiencemeter list --json
133
+ ```
134
+
135
+ **Options:**
136
+ | Flag | Description |
137
+ |------|-------------|
138
+ | `--project <name>` | Filter by project |
139
+ | `--limit <n>` | Max sessions (default: 20) |
140
+ | `--json` | Output raw JSON |
141
+
142
+ In the interactive list, use **arrow keys** or **j/k** to navigate and **Enter** to view session details. Press **Esc** or **q** to go back.
143
+
144
+ ### `show`
145
+
146
+ View detailed session info with metrics, reaction timeline, and AI analysis.
147
+
148
+ ![Session Detail](images/audiencemeter_show_command.png)
149
+
150
+ ```bash
151
+ # By PIN
152
+ audiencemeter show <pin>
153
+
154
+ # By UUID
155
+ audiencemeter show <session-id>
156
+
157
+ # JSON output
158
+ audiencemeter show <pin> --json
159
+ ```
160
+
161
+ **Options:**
162
+ | Flag | Description |
163
+ |------|-------------|
164
+ | `--json` | Output raw JSON |
165
+
166
+ ### `delete` (alias: `rm`)
167
+
168
+ Delete a session. Asks for confirmation unless `--force` is passed.
169
+
170
+ ```bash
171
+ audiencemeter delete <session-id>
172
+ audiencemeter delete <session-id> --force
173
+ ```
174
+
175
+ ## JSON Mode
176
+
177
+ Every command that produces output supports `--json` for scripting and piping:
178
+
179
+ ```bash
180
+ # Get session data as JSON
181
+ audiencemeter show <pin> --json | jq '.metrics'
182
+
183
+ # List sessions as JSON array
184
+ audiencemeter list --json | jq '.[].pin'
185
+ ```
186
+
187
+ ## Configuration
188
+
189
+ Auth tokens are stored locally via [conf](https://github.com/sindresorhus/conf). Config location follows OS conventions:
190
+
191
+ - **Linux:** `~/.config/audiencemeter/config.json`
192
+ - **macOS:** `~/Library/Preferences/audiencemeter/config.json`
193
+ - **Windows:** `%APPDATA%/audiencemeter/config.json`
194
+
195
+ ## Links
196
+
197
+ - [AudienceMeter](https://audiencemeter.pro) -- Home page
198
+ - [app.audiencemeter.pro](https://app.audiencemeter.pro) -- Web Dashboard (Speakers)
199
+
200
+ ## License
201
+
202
+ MIT
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import '../dist/index.js';