emberflow-skills 1.1.0 → 1.1.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/README.md +1 -1
- package/bin/install.js +8 -4
- package/package.json +11 -2
- package/skills/ember-publish/SKILL.md +7 -6
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Emberflow Skills
|
|
2
2
|
|
|
3
|
-
Agent skills for publishing beautiful docs from your AI coding tools to [Emberflow](https://
|
|
3
|
+
Agent skills for publishing beautiful docs from your AI coding tools to [Emberflow](https://emberflow.ai).
|
|
4
4
|
|
|
5
5
|
## Quick Install
|
|
6
6
|
|
package/bin/install.js
CHANGED
|
@@ -9,7 +9,7 @@ const os = require('os');
|
|
|
9
9
|
|
|
10
10
|
const SKILL_NAME = 'ember-publish';
|
|
11
11
|
const SKILL_SRC = path.join(__dirname, '..', 'skills', SKILL_NAME, 'SKILL.md');
|
|
12
|
-
const EMBERFLOW_URL = 'https://
|
|
12
|
+
const EMBERFLOW_URL = 'https://emberflow.ai';
|
|
13
13
|
const TOKEN_PATH = path.join(os.homedir(), '.emberflow', 'token.json');
|
|
14
14
|
|
|
15
15
|
const dim = (s) => `\x1b[2m${s}\x1b[0m`;
|
|
@@ -131,9 +131,13 @@ async function authenticate() {
|
|
|
131
131
|
// Try to open the URL automatically
|
|
132
132
|
try {
|
|
133
133
|
const { exec } = require('child_process');
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
134
|
+
if (process.platform === 'win32') {
|
|
135
|
+
exec(`start "" "${verification_url}"`);
|
|
136
|
+
} else if (process.platform === 'darwin') {
|
|
137
|
+
exec(`open "${verification_url}"`);
|
|
138
|
+
} else {
|
|
139
|
+
exec(`xdg-open "${verification_url}"`);
|
|
140
|
+
}
|
|
137
141
|
} catch {}
|
|
138
142
|
|
|
139
143
|
process.stdout.write(` ${dim('Waiting for approval...')}`);
|
package/package.json
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "emberflow-skills",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Install Emberflow skills for AI coding tools",
|
|
5
5
|
"bin": {
|
|
6
6
|
"emberflow-skills": "./bin/install.js"
|
|
7
7
|
},
|
|
8
|
-
"keywords": [
|
|
8
|
+
"keywords": [
|
|
9
|
+
"emberflow",
|
|
10
|
+
"claude-code",
|
|
11
|
+
"cursor",
|
|
12
|
+
"skill",
|
|
13
|
+
"mcp",
|
|
14
|
+
"ai",
|
|
15
|
+
"documentation",
|
|
16
|
+
"mermaid"
|
|
17
|
+
],
|
|
9
18
|
"author": "Patrick",
|
|
10
19
|
"license": "MIT",
|
|
11
20
|
"repository": {
|
|
@@ -6,7 +6,7 @@ argument-hint: [topic or description of what to document]
|
|
|
6
6
|
|
|
7
7
|
# Emberflow Document Publisher
|
|
8
8
|
|
|
9
|
-
Create a polished markdown document and publish it to Emberflow — a hosted viewer at **https://
|
|
9
|
+
Create a polished markdown document and publish it to Emberflow — a hosted viewer at **https://emberflow.ai** with Mermaid diagram rendering (zoom/pan/fullscreen), dark mode, font selection, and per-block commenting.
|
|
10
10
|
|
|
11
11
|
## Step 1: Create the Markdown File
|
|
12
12
|
|
|
@@ -124,13 +124,13 @@ If the file exists, verify the token still works:
|
|
|
124
124
|
|
|
125
125
|
```bash
|
|
126
126
|
curl -s -H "Authorization: Bearer $(jq -r .token ~/.emberflow/token.json)" \
|
|
127
|
-
https://
|
|
127
|
+
https://emberflow.ai/api/docs
|
|
128
128
|
```
|
|
129
129
|
|
|
130
130
|
If no session exists, it's expired, or the verify call returns 401, authenticate using the device flow:
|
|
131
131
|
|
|
132
132
|
```bash
|
|
133
|
-
EMBERFLOW_URL="https://
|
|
133
|
+
EMBERFLOW_URL="https://emberflow.ai"
|
|
134
134
|
|
|
135
135
|
# Step 1: Request a device code
|
|
136
136
|
RESP=$(curl -s -X POST "$EMBERFLOW_URL/api/device-code")
|
|
@@ -165,7 +165,7 @@ Generate a slug from the document title and publish using the API:
|
|
|
165
165
|
|
|
166
166
|
```bash
|
|
167
167
|
# Read the file, extract title, generate slug, and publish
|
|
168
|
-
EMBERFLOW_URL="https://
|
|
168
|
+
EMBERFLOW_URL="https://emberflow.ai"
|
|
169
169
|
FILE_PATH="/absolute/path/to/document.md"
|
|
170
170
|
TITLE=$(head -1 "$FILE_PATH" | sed 's/^#\s*//')
|
|
171
171
|
SLUG=$(echo "$TITLE" | tr '[:upper:]' '[:lower:]' | tr -cs 'a-z0-9' '-' | sed 's/^-//;s/-$//')
|
|
@@ -179,7 +179,8 @@ curl -s -X POST "$EMBERFLOW_URL/api/docs" \
|
|
|
179
179
|
```
|
|
180
180
|
|
|
181
181
|
The response JSON includes the URL. Documents are viewable at:
|
|
182
|
-
- Public: `https://
|
|
182
|
+
- Public: `https://emberflow.ai/d/<slug>`
|
|
183
|
+
- Private: `https://emberflow.ai/d/<slug>?key=<private-key>`
|
|
183
184
|
|
|
184
185
|
To **update** an existing document, publish again with the same slug — the API upserts for the same author.
|
|
185
186
|
|
|
@@ -190,5 +191,5 @@ To **update** an existing document, publish again with the same slug — the API
|
|
|
190
191
|
curl -s -H "Authorization: Bearer $TOKEN" "$EMBERFLOW_URL/api/docs"
|
|
191
192
|
|
|
192
193
|
# Delete a document
|
|
193
|
-
curl -s -X DELETE -H "Authorization: Bearer $TOKEN" "$EMBERFLOW_URL/api/docs
|
|
194
|
+
curl -s -X DELETE -H "Authorization: Bearer $TOKEN" "$EMBERFLOW_URL/api/docs/SLUG_HERE"
|
|
194
195
|
```
|