@mboucher/ffe-setup 0.1.0 → 0.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 +41 -11
- package/bin/run.js +1 -1
- package/package.json +1 -1
- package/src/install-skill.js +7 -1
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ remain separate.
|
|
|
10
10
|
After the skill and setup packages are published to npm, run:
|
|
11
11
|
|
|
12
12
|
```sh
|
|
13
|
-
npx @mboucher/ffe-setup
|
|
13
|
+
npx @mboucher/ffe-setup
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
Setup checks Node.js, npm, and `az version` before installing anything. Missing
|
|
@@ -31,23 +31,30 @@ Only an explicit yes starts the CLI's secure Adobe credential flow, with termina
|
|
|
31
31
|
input/output inherited directly. Setup does not collect or store credentials.
|
|
32
32
|
Declining, passing `--no-login`, or running without a TTY prints `ffe auth login`
|
|
33
33
|
for later instead. A failed or cancelled login exits unsuccessfully but leaves
|
|
34
|
-
the installation in place.
|
|
35
|
-
`az login`
|
|
34
|
+
the installation in place. Cloud storage authentication is separate: use
|
|
35
|
+
`az login` for Azure, or your AWS CLI credential/SSO flow for S3. Neither cloud
|
|
36
|
+
login runs automatically.
|
|
36
37
|
|
|
37
38
|
For automated installs, skip the login prompt explicitly:
|
|
38
39
|
|
|
39
40
|
```sh
|
|
40
|
-
npx @mboucher/ffe-setup --
|
|
41
|
+
npx @mboucher/ffe-setup --no-login
|
|
41
42
|
```
|
|
42
43
|
|
|
43
44
|
To install only the portable skill without checking Azure CLI or installing FFE:
|
|
44
45
|
|
|
45
46
|
```sh
|
|
46
|
-
npx @mboucher/ffe-setup --
|
|
47
|
+
npx @mboucher/ffe-setup --skill-only
|
|
47
48
|
```
|
|
48
49
|
|
|
49
|
-
The
|
|
50
|
-
|
|
50
|
+
The skill is installed globally for your user at
|
|
51
|
+
`~/.agents/skills/ffe-template-validation-skill`. No client selection is required,
|
|
52
|
+
and the installation is shared across projects. Assistants must support discovery
|
|
53
|
+
from `~/.agents/skills`; for assistants that do not, use an explicit client or
|
|
54
|
+
`--skills-dir` override.
|
|
55
|
+
|
|
56
|
+
Optional client-specific destinations remain available. When `--client` is
|
|
57
|
+
explicitly supplied, workspace scope in the current directory remains the default:
|
|
51
58
|
|
|
52
59
|
```sh
|
|
53
60
|
npx @mboucher/ffe-setup --client vscode --workspace /path/to/project
|
|
@@ -73,6 +80,27 @@ Reload skill discovery in your assistant after installation. No skill is
|
|
|
73
80
|
installed merely by adding this npm package as a dependency; installation is an
|
|
74
81
|
explicit command, not a `postinstall` side effect.
|
|
75
82
|
|
|
83
|
+
## Storage Providers
|
|
84
|
+
|
|
85
|
+
The installed CLI supports Azure Blob Storage and AWS S3. The validation skill
|
|
86
|
+
asks which provider to use before a local PSD upload, unless already selected
|
|
87
|
+
for that validation. Its optional MCP `ffe_storage_providers` tool returns
|
|
88
|
+
guidance; the harness asks the question. Upload/job authorization is separate.
|
|
89
|
+
|
|
90
|
+
Full setup currently always validates Azure CLI and does not install or validate
|
|
91
|
+
AWS CLI. For an AWS-only environment without Azure CLI, install AWS CLI and FFE
|
|
92
|
+
CLI separately, then run `npx @mboucher/ffe-setup --skill-only`. Configure cloud
|
|
93
|
+
credentials in the local CLI, not in chat. Existing URLs or supplied manifests
|
|
94
|
+
do not require a storage-provider choice.
|
|
95
|
+
|
|
96
|
+
```sh
|
|
97
|
+
ffe storage upload ./document.psd --provider aws --bucket my-inputs --region us-east-1 --aws-profile production
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
The skill's Markdown and HTML reports use absolute file links. Report generation
|
|
101
|
+
and provider prompting belong to the skill, not the setup command. Setup does
|
|
102
|
+
not register MCP or generate reports; reload skill/tool discovery after updates.
|
|
103
|
+
|
|
76
104
|
## Existing Installations
|
|
77
105
|
|
|
78
106
|
The installer copies the skill entry point, references, README, and license.
|
|
@@ -92,8 +120,9 @@ node bin/run.js --help
|
|
|
92
120
|
```
|
|
93
121
|
|
|
94
122
|
`dev:link` links the sibling `ffe-template-validation-skill` package without
|
|
95
|
-
changing dependency specifications.
|
|
96
|
-
|
|
123
|
+
changing dependency specifications. `node bin/run.js --skill-only` installs into
|
|
124
|
+
your global skills directory. For an isolated trial, use
|
|
125
|
+
`node bin/run.js --skills-dir /path/to/test/skills --skill-only`.
|
|
97
126
|
|
|
98
127
|
Tests install into temporary directories, not your personal skills directory.
|
|
99
128
|
They cover metadata discovery, destination selection, complete copies,
|
|
@@ -103,8 +132,9 @@ install global packages or start real authentication.
|
|
|
103
132
|
|
|
104
133
|
## Release
|
|
105
134
|
|
|
106
|
-
Publish
|
|
107
|
-
|
|
135
|
+
Publish a skill version compatible with the setup package's declared dependency
|
|
136
|
+
range first. Increment versions for new releases; published npm versions cannot
|
|
137
|
+
be overwritten. Then, from this repository:
|
|
108
138
|
|
|
109
139
|
```sh
|
|
110
140
|
npm install
|
package/bin/run.js
CHANGED
|
@@ -14,7 +14,7 @@ try {
|
|
|
14
14
|
help: {type: 'boolean', short: 'h'},
|
|
15
15
|
}, allowPositionals: false})
|
|
16
16
|
if (values.help) {
|
|
17
|
-
console.log('Usage: ffe-setup --client vscode|claude-code [--scope workspace|user] [--workspace PATH]\n ffe-setup --skills-dir PATH\n\nChecks Node.js 22.13+, npm, and Azure CLI, installs FFE CLI globally and the\nvalidation skill, then offers to run "ffe auth login" in interactive terminals.\
|
|
17
|
+
console.log('Usage: ffe-setup [--skill-only] [--no-login]\n ffe-setup --client vscode|claude-code [--scope workspace|user] [--workspace PATH]\n ffe-setup --skills-dir PATH\n\nChecks Node.js 22.13+, npm, and Azure CLI, installs FFE CLI globally and the\nvalidation skill, then offers to run "ffe auth login" in interactive terminals.\nThe skill is installed globally to ~/.agents/skills by default; no client is required.\nExplicit --client options retain their workspace default.\nDoes not install Azure CLI or register MCP.\n\nOptions:\n --skill-only Install only the skill; skip external tools and authentication.\n --no-login Install normally without prompting for Adobe login.')
|
|
18
18
|
} else {
|
|
19
19
|
const directory = skillsDirectory({
|
|
20
20
|
client: values.client, scope: values.scope, workspace: values.workspace, skillsDir: values['skills-dir'],
|
package/package.json
CHANGED
package/src/install-skill.js
CHANGED
|
@@ -5,13 +5,19 @@ import {fileURLToPath} from 'node:url'
|
|
|
5
5
|
|
|
6
6
|
export const SKILL_NAME = 'ffe-template-validation-skill'
|
|
7
7
|
|
|
8
|
-
export function skillsDirectory({client, scope, workspace, skillsDir, home = homedir()}) {
|
|
8
|
+
export function skillsDirectory({client, scope, workspace, skillsDir, home = homedir()} = {}) {
|
|
9
9
|
if (skillsDir !== undefined) {
|
|
10
10
|
if (!skillsDir.trim() || client !== undefined || scope !== undefined || workspace !== undefined) {
|
|
11
11
|
throw new Error('Use --skills-dir PATH alone, without --client, --scope, or --workspace.')
|
|
12
12
|
}
|
|
13
13
|
return resolve(skillsDir)
|
|
14
14
|
}
|
|
15
|
+
if (client === undefined) {
|
|
16
|
+
if (workspace !== undefined || (scope !== undefined && scope !== 'user')) {
|
|
17
|
+
throw new Error('Global installation is the default. Specify --client for --workspace or --scope workspace.')
|
|
18
|
+
}
|
|
19
|
+
return join(home, '.agents', 'skills')
|
|
20
|
+
}
|
|
15
21
|
if (!['vscode', 'claude-code'].includes(client)) {
|
|
16
22
|
throw new Error('Select --client vscode or --client claude-code, or supply --skills-dir PATH.')
|
|
17
23
|
}
|