@inizioevoke/veeva-astroclm-core 1.0.7 → 1.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/agents/claude/page-manager/SKILL.md +2 -2
- package/agents/claude/veeva-config-manager/SKILL.md +1 -1
- package/agents/claude/veeva-config-manager/create.md +4 -2
- package/dist/apps/veeva-config-manager/create.js +2 -2
- package/dist/apps/veeva-config-manager/templates/config.ts.txt +0 -2
- package/package.json +1 -1
- package/postinstall.mjs +10 -8
- package/src/apps/veeva-config-manager/create.ts +2 -2
- package/src/apps/veeva-config-manager/templates/config.ts.txt +0 -2
- package/agents/claude/SKILL.md +0 -15
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: page-manager
|
|
3
3
|
description: >
|
|
4
|
-
Scaffolds a new page in this Veeva CLM
|
|
4
|
+
Scaffolds a new page in this Veeva Astro CLM project. Use this skill whenever the user asks to
|
|
5
5
|
create a new page, add a page, scaffold a slide, generate a new route, or set up a new CLM slide —
|
|
6
6
|
even if they don't say "page manager" explicitly. If the user is working in this project and wants
|
|
7
7
|
a new page, this skill should always trigger.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: veeva-config-manager
|
|
3
3
|
description: >
|
|
4
4
|
Manages Veeva CLM configuration for this project. Use this skill whenever the user asks to
|
|
5
5
|
create, generate, or set up a Veeva config, initialize a veeva-config.ts, scaffold a new
|
|
@@ -36,7 +36,7 @@ Apply the [Clean input rule](#clean-input-rule) to every free-text value as you
|
|
|
36
36
|
- Options: `Default For Device` *(default)*, `Scale To Fit`, `Scale To 1024x768`
|
|
37
37
|
- **Disable**
|
|
38
38
|
- Question: Select any Veeva features to disable globally (multi-select)
|
|
39
|
-
- Options: `History Buttons`, `Navigation Bar`, `
|
|
39
|
+
- Options: `History Buttons`, `Navigation Bar`, `Reactions`, `Swipe`
|
|
40
40
|
- **Platform**
|
|
41
41
|
- Question: Select the target Veeva platform
|
|
42
42
|
- Options: `Salesforce` *(default)*, `Vault`
|
|
@@ -52,7 +52,9 @@ For the **Dimensions** answer, split the selected option on `×` and trim each s
|
|
|
52
52
|
|
|
53
53
|
### Exceptions
|
|
54
54
|
|
|
55
|
-
If `Other` is selected for `Dimensions`, `Resolution`,
|
|
55
|
+
If `Other` is selected for `Dimensions`, `Resolution`, or `Platform`, reject the response and re-prompt the user asking them to choose only from the defined values.
|
|
56
|
+
|
|
57
|
+
If `Other` is selected for `Disable`, ask the user which additional actions they want to disable. The only accepted values beyond the listed four are: `Pinch to Exit`, `Rotation Lock`, `Zoom`. Accept any combination of these. If the user enters anything else, reject and re-prompt with this list.
|
|
56
58
|
|
|
57
59
|
## Generating IDs
|
|
58
60
|
|
|
@@ -127,8 +127,8 @@ export default async function (rootDir) {
|
|
|
127
127
|
.replace(/##IOS_RESOLUTION##/g, iosResolution)
|
|
128
128
|
.replace(/##DISABLE_ACTIONS##/g, `[${disableActions.map((a) => { return `'${a}'`; }).join(', ')}]`)
|
|
129
129
|
.replace(/##CRM_TARGET##/g, crmTarget)
|
|
130
|
-
.replace(/##SLIDES##/g, `[${slides.join(', ')}]`)
|
|
131
|
-
|
|
130
|
+
.replace(/##SLIDES##/g, `[${slides.join(', ')}]`);
|
|
131
|
+
// .replace(/##SLIDE_IDS##/g, [...slideIds].join());
|
|
132
132
|
await writeFile(resolvePath(rootDir, 'veeva-config.ts'), template);
|
|
133
133
|
await sleep(); // make it seem like we're doing something
|
|
134
134
|
spin.stop('Config file generated!');
|
package/package.json
CHANGED
package/postinstall.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cpSync, readdirSync, rmSync } from 'fs';
|
|
2
2
|
import { join, dirname } from 'path';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
|
|
@@ -6,12 +6,14 @@ const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
|
6
6
|
|
|
7
7
|
// Resolve the consuming project's root (three levels up from node_modules/@inizioevoke/astro-core)
|
|
8
8
|
const projectRoot = join(__dirname, '..', '..', '..');
|
|
9
|
-
const destDir = join(projectRoot, '.claude', 'skills'
|
|
10
|
-
const src = join(__dirname, 'agents', 'claude'
|
|
11
|
-
const dest = join(destDir, 'SKILL.md');
|
|
9
|
+
const destDir = join(projectRoot, '.claude', 'skills');
|
|
10
|
+
const src = join(__dirname, 'agents', 'claude');
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
const skillDirs = readdirSync(src);
|
|
13
|
+
for (const dir of skillDirs) {
|
|
14
|
+
const skillDestDir = join(destDir, dir);
|
|
15
|
+
rmSync(skillDestDir, { recursive: true, force: true });
|
|
16
|
+
cpSync(join(src, dir), skillDestDir, { recursive: true });
|
|
17
|
+
}
|
|
15
18
|
|
|
16
|
-
|
|
17
|
-
console.log(`[@inizioevoke/veeva-astroclm-core] Copied skill to ${dest}`);
|
|
19
|
+
console.log(`[@inizioevoke/veeva-astroclm-core] Copied skills to ${destDir}`);
|
|
@@ -141,8 +141,8 @@ export default async function(rootDir: string) {
|
|
|
141
141
|
.replace(/##IOS_RESOLUTION##/g, iosResolution)
|
|
142
142
|
.replace(/##DISABLE_ACTIONS##/g, `[${disableActions.map((a) => { return `'${a}'`}).join(', ')}]`)
|
|
143
143
|
.replace(/##CRM_TARGET##/g, crmTarget)
|
|
144
|
-
.replace(/##SLIDES##/g, `[${slides.join(', ')}]`)
|
|
145
|
-
.replace(/##SLIDE_IDS##/g, [...slideIds].join());
|
|
144
|
+
.replace(/##SLIDES##/g, `[${slides.join(', ')}]`);
|
|
145
|
+
// .replace(/##SLIDE_IDS##/g, [...slideIds].join());
|
|
146
146
|
await writeFile(resolvePath(rootDir, 'veeva-config.ts'), template);
|
|
147
147
|
|
|
148
148
|
await sleep(); // make it seem like we're doing something
|
package/agents/claude/SKILL.md
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: inizioevoke-veeva-astroclm
|
|
3
|
-
description: >
|
|
4
|
-
Skills and tools for working in this Veeva CLM Astro project (inizioevoke-veeva-astroclm).
|
|
5
|
-
Use this skill for any project-specific tasks such as creating pages, managing content, or
|
|
6
|
-
running project utilities. Triggers on any request that involves scaffolding, generating,
|
|
7
|
-
or managing project files in this Veeva CLM project.
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# inizioevoke-veeva-astroclm Skills
|
|
11
|
-
|
|
12
|
-
## Available skills
|
|
13
|
-
|
|
14
|
-
- **Page Manager** — Create a new page in the project → read `../../../node_modules/@inizioevoke/veeva-astroclm-core/agents/claude/page-manager/SKILL.md`
|
|
15
|
-
- **Veeva Config Manager** — Manage Veeva CLM configuration → read `../../../node_modules/@inizioevoke/veeva-astroclm-core/agents/claude/veeva-config-manager/SKILL.md`
|