@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 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 --client vscode
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. Azure storage authentication is separate: run
35
- `az login` before storage commands. No Azure login runs automatically.
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 --client vscode --no-login
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 --client vscode --skill-only
47
+ npx @mboucher/ffe-setup --skill-only
47
48
  ```
48
49
 
49
- The default is workspace scope in the current directory. Choose a different
50
- project or install for your user explicitly:
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. To try the installer locally, use
96
- `node bin/run.js --client vscode --workspace /path/to/project`.
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 `@mboucher/ffe-template-validation-skill` 0.1.0 first. Then, from this
107
- repository:
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.\nWorkspace scope is the default. Does 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.')
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mboucher/ffe-setup",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Dependency validation, FFE CLI installation, and portable skill setup",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -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
  }