@adobe-commerce/aio-toolkit 1.0.15 → 1.0.16
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/CHANGELOG.md +53 -0
- package/README.md +124 -13
- package/dist/aio-toolkit-cursor-context/bin/cli.js +145 -66
- package/dist/aio-toolkit-cursor-context/bin/cli.js.map +1 -1
- package/dist/aio-toolkit-onboard-events/bin/cli.js +14611 -0
- package/dist/aio-toolkit-onboard-events/bin/cli.js.map +1 -0
- package/onboard.config.default.yaml +31 -0
- package/package.json +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,59 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.0.16] - 2026-02-23
|
|
9
|
+
|
|
10
|
+
### ✨ Features
|
|
11
|
+
|
|
12
|
+
- **feat(cli):** New Adobe I/O Events Onboarding CLI (`aio-toolkit-onboard-events`)
|
|
13
|
+
- Command-line tool for managing Adobe I/O Events and Commerce event integrations
|
|
14
|
+
- Three sub-commands: `execute`, `cleanup`, and `help`
|
|
15
|
+
- Automated provider, registration, and event subscription management
|
|
16
|
+
- Support for both OAuth 1.0a and IMS authentication
|
|
17
|
+
- Configuration-driven approach using YAML files
|
|
18
|
+
- Comprehensive environment variable validation
|
|
19
|
+
- Structured logging with detailed progress tracking
|
|
20
|
+
- Cleanup command for removing test/development resources
|
|
21
|
+
- Respects dependency order during cleanup (registrations → metadata → providers)
|
|
22
|
+
- 100% test coverage with comprehensive test suites
|
|
23
|
+
|
|
24
|
+
### 🔧 Refactoring
|
|
25
|
+
|
|
26
|
+
- **refactor(commands):** Framework command architecture refactoring (#132)
|
|
27
|
+
- Abstract command base class for consistent CLI structure
|
|
28
|
+
- Command registry pattern for extensible command management
|
|
29
|
+
- AI-agent friendly base commands (base-apply, base-check)
|
|
30
|
+
- Standardized help command implementation
|
|
31
|
+
- Improved code organization and maintainability
|
|
32
|
+
- Enhanced type safety with TypeScript interfaces
|
|
33
|
+
|
|
34
|
+
- **refactor(helpers):** New helper utilities for CLI commands
|
|
35
|
+
- `ApplicationName` helper for extracting app names from config
|
|
36
|
+
- `AdobeAuthToken` helper for centralized token generation
|
|
37
|
+
- `AdobeCommerceClient` helper for Commerce API integration
|
|
38
|
+
- IO Events authentication and environment helpers
|
|
39
|
+
- Commerce helper utilities following DRY principle
|
|
40
|
+
- 100% test coverage for all helper functions
|
|
41
|
+
|
|
42
|
+
### 💡 Usage Examples
|
|
43
|
+
|
|
44
|
+
**Execute Adobe I/O Events onboarding**:
|
|
45
|
+
```bash
|
|
46
|
+
npx aio-toolkit-onboard-events execute
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Cleanup development resources**:
|
|
50
|
+
```bash
|
|
51
|
+
npx aio-toolkit-onboard-events cleanup
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
**Display help**:
|
|
55
|
+
```bash
|
|
56
|
+
npx aio-toolkit-onboard-events help
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
8
61
|
## [1.0.15] - 2026-02-09
|
|
9
62
|
|
|
10
63
|
### ✨ Features
|
package/README.md
CHANGED
|
@@ -1581,30 +1581,111 @@ The CLI provides the following context files:
|
|
|
1581
1581
|
3. **Verification**: Run `check` to ensure contexts are properly configured
|
|
1582
1582
|
4. **Updates**: Run `apply -f` after toolkit updates to get latest contexts
|
|
1583
1583
|
|
|
1584
|
+
#### `aio-toolkit-onboard-events`
|
|
1585
|
+
|
|
1586
|
+
Command-line tool for managing Adobe I/O Events and Commerce event integrations. This CLI automates the process of onboarding event providers, registrations, and subscriptions, as well as cleaning up resources from test/development environments.
|
|
1587
|
+
|
|
1588
|
+
##### Commands
|
|
1589
|
+
|
|
1590
|
+
###### `execute`
|
|
1591
|
+
Onboards Adobe I/O Events providers, registrations, and Commerce event subscriptions based on configuration file.
|
|
1592
|
+
|
|
1593
|
+
```bash
|
|
1594
|
+
# Execute with default config (onboard.config.yaml)
|
|
1595
|
+
npx aio-toolkit-onboard-events execute
|
|
1596
|
+
```
|
|
1597
|
+
|
|
1598
|
+
**Features:**
|
|
1599
|
+
- ✅ Creates Adobe I/O Events providers with automatic duplicate detection
|
|
1600
|
+
- ✅ Sets up event metadata for custom events
|
|
1601
|
+
- ✅ Configures event registrations with webhook or journal delivery
|
|
1602
|
+
- ✅ Subscribes to Adobe Commerce events (supports both OAuth and IMS authentication)
|
|
1603
|
+
- ✅ Validates environment variables upfront with clear error messages
|
|
1604
|
+
- ✅ Structured logging with detailed progress tracking
|
|
1605
|
+
|
|
1606
|
+
###### `cleanup`
|
|
1607
|
+
Removes Adobe I/O Events resources and Commerce event subscriptions defined in configuration file.
|
|
1608
|
+
|
|
1609
|
+
```bash
|
|
1610
|
+
# Cleanup with default config
|
|
1611
|
+
npx aio-toolkit-onboard-events cleanup
|
|
1612
|
+
```
|
|
1613
|
+
|
|
1614
|
+
**Features:**
|
|
1615
|
+
- 🗑️ Deletes event registrations
|
|
1616
|
+
- 🗑️ Removes event metadata
|
|
1617
|
+
- 🗑️ Deletes event providers
|
|
1618
|
+
- 🗑️ Unsubscribes from Commerce events and removes providers
|
|
1619
|
+
- ⚡ Respects dependency order (registrations → metadata → providers)
|
|
1620
|
+
- 📊 Provides detailed cleanup summary
|
|
1621
|
+
|
|
1622
|
+
###### `help`
|
|
1623
|
+
Displays help information for the CLI.
|
|
1624
|
+
|
|
1625
|
+
```bash
|
|
1626
|
+
npx aio-toolkit-onboard-events help
|
|
1627
|
+
```
|
|
1628
|
+
|
|
1629
|
+
##### Configuration File
|
|
1630
|
+
|
|
1631
|
+
The CLI uses `onboard.config.yaml` to define resources. Default template:
|
|
1632
|
+
|
|
1633
|
+
```yaml
|
|
1634
|
+
# Configuration file version
|
|
1635
|
+
version: "1.0"
|
|
1636
|
+
|
|
1637
|
+
# Application metadata
|
|
1638
|
+
application:
|
|
1639
|
+
name: "My App Builder Application"
|
|
1640
|
+
# Description is optional
|
|
1641
|
+
# description: "My App Builder Application for Adobe Commerce"
|
|
1642
|
+
|
|
1643
|
+
# Events configuration
|
|
1644
|
+
events:
|
|
1645
|
+
# Adobe I/O Events configuration
|
|
1646
|
+
io:
|
|
1647
|
+
config: io-events.json # File path to I/O events configuration
|
|
1648
|
+
|
|
1649
|
+
# Adobe Commerce Events configuration
|
|
1650
|
+
commerce:
|
|
1651
|
+
providerKey: commerce
|
|
1652
|
+
config: commerce-events.json # File path to Commerce events configuration
|
|
1653
|
+
|
|
1654
|
+
# Deployment settings
|
|
1655
|
+
deployment:
|
|
1656
|
+
# Instance type: paas | cloud
|
|
1657
|
+
# paas = Adobe Commerce Cloud/On-premise (OAuth)
|
|
1658
|
+
# cloud = Adobe Commerce as Cloud Service (IMS)
|
|
1659
|
+
type: paas
|
|
1660
|
+
|
|
1661
|
+
# Authentication type (optional, auto-detected from type if not specified)
|
|
1662
|
+
# Allowed values: oauth | ims
|
|
1663
|
+
# Auto-detection: paas → oauth, cloud → ims
|
|
1664
|
+
# authType: oauth
|
|
1665
|
+
```
|
|
1666
|
+
|
|
1667
|
+
##### Use Cases
|
|
1668
|
+
|
|
1669
|
+
1. **Development Onboarding**: Run `execute` to quickly set up event integrations
|
|
1670
|
+
2. **Environment Cleanup**: Run `cleanup` to remove test resources before production deployment
|
|
1671
|
+
3. **CI/CD Integration**: Automate event configuration in deployment pipelines
|
|
1672
|
+
4. **Multi-Environment Setup**: Use different config files for dev/staging/production environments
|
|
1673
|
+
|
|
1584
1674
|
## Environment Variables
|
|
1585
1675
|
|
|
1586
1676
|
Common environment variables used across components:
|
|
1587
1677
|
|
|
1588
1678
|
```bash
|
|
1589
|
-
# Adobe
|
|
1590
|
-
COMMERCE_BASE_URL=commerce-base-url
|
|
1591
|
-
COMMERCE_CONSUMER_KEY=commerce-consumer-key
|
|
1592
|
-
COMMERCE_CONSUMER_SECRET=commerce-consumer-secret
|
|
1593
|
-
COMMERCE_ACCESS_TOKEN=commerce-access-token
|
|
1594
|
-
COMMERCE_ACCESS_TOKEN_SECRET=commerce-access-token-secret
|
|
1595
|
-
# Environment from DIST file
|
|
1596
|
-
OAUTH_BASE_URL=https://ims-na1.adobelogin.com/ims/token/
|
|
1597
|
-
IO_MANAGEMENT_BASE_URL=https://api.adobe.io/events/
|
|
1598
|
-
# OAuth configs
|
|
1679
|
+
# Adobe I/O Events OAuth (Required for aio-toolkit-onboard-events)
|
|
1599
1680
|
# The following values can be copied from the Credential details page in AppBuilder under Organization > Project > Workspace > OAuth Server-to-Server
|
|
1600
1681
|
OAUTH_CLIENT_ID=client-id
|
|
1601
1682
|
OAUTH_CLIENT_SECRET=client-secret
|
|
1602
1683
|
OAUTH_TECHNICAL_ACCOUNT_ID=technical-account-id
|
|
1603
1684
|
OAUTH_TECHNICAL_ACCOUNT_EMAIL=technical-account-email
|
|
1604
1685
|
OAUTH_ORG_ID=org-id
|
|
1605
|
-
OAUTH_SCOPES=
|
|
1606
|
-
|
|
1607
|
-
# Workspace
|
|
1686
|
+
OAUTH_SCOPES=openid, AdobeID, adobeio_api
|
|
1687
|
+
|
|
1688
|
+
# Adobe I/O Workspace (Required for aio-toolkit-onboard-events)
|
|
1608
1689
|
# The following values can be copied from the JSON downloadable in AppBuilder from Organization > Project > Workspace
|
|
1609
1690
|
# IO_CONSUMER corresponds to project.org.id
|
|
1610
1691
|
# IO_PROJECT_ID corresponds to project.id
|
|
@@ -1612,6 +1693,36 @@ OAUTH_SCOPES=scopes
|
|
|
1612
1693
|
IO_CONSUMER_ID=consumer-id
|
|
1613
1694
|
IO_PROJECT_ID=project-id
|
|
1614
1695
|
IO_WORKSPACE_ID=workspace-id
|
|
1696
|
+
|
|
1697
|
+
# Workspace Configuration (Required for aio-toolkit-onboard-events)
|
|
1698
|
+
IO_WORKSPACE_CONFIG=path/to/onboard.config.yaml
|
|
1699
|
+
|
|
1700
|
+
# Adobe Commerce Base Configuration (Required for Commerce events)
|
|
1701
|
+
COMMERCE_BASE_URL=https://your-commerce-store.com
|
|
1702
|
+
COMMERCE_ADOBE_IO_EVENTS_MERCHANT_ID=merchant-id
|
|
1703
|
+
COMMERCE_ADOBE_IO_EVENTS_ENVIRONMENT_ID=environment-id
|
|
1704
|
+
|
|
1705
|
+
# Commerce OAuth 1.0a Authentication (Use when authType is "oauth1a")
|
|
1706
|
+
COMMERCE_OAUTH_CONSUMER_KEY=consumer-key
|
|
1707
|
+
COMMERCE_OAUTH_CONSUMER_SECRET=consumer-secret
|
|
1708
|
+
COMMERCE_OAUTH_ACCESS_TOKEN=access-token
|
|
1709
|
+
COMMERCE_OAUTH_ACCESS_TOKEN_SECRET=access-token-secret
|
|
1710
|
+
|
|
1711
|
+
# Commerce IMS Authentication (Use when authType is "ims")
|
|
1712
|
+
COMMERCE_IMS_CLIENT_ID=client-id
|
|
1713
|
+
COMMERCE_IMS_CLIENT_SECRET=client-secret
|
|
1714
|
+
COMMERCE_IMS_TECHNICAL_ACCOUNT_ID=tech-account-id
|
|
1715
|
+
COMMERCE_IMS_TECHNICAL_ACCOUNT_EMAIL=tech-email
|
|
1716
|
+
COMMERCE_IMS_ORG_ID=org-id
|
|
1717
|
+
COMMERCE_IMS_SCOPES=openid, AdobeID, adobeio_api
|
|
1718
|
+
|
|
1719
|
+
# Legacy Environment Variables (Still supported for backward compatibility)
|
|
1720
|
+
OAUTH_BASE_URL=https://ims-na1.adobelogin.com/ims/token/
|
|
1721
|
+
IO_MANAGEMENT_BASE_URL=https://api.adobe.io/events/
|
|
1722
|
+
COMMERCE_CONSUMER_KEY=commerce-consumer-key
|
|
1723
|
+
COMMERCE_CONSUMER_SECRET=commerce-consumer-secret
|
|
1724
|
+
COMMERCE_ACCESS_TOKEN=commerce-access-token
|
|
1725
|
+
COMMERCE_ACCESS_TOKEN_SECRET=commerce-access-token-secret
|
|
1615
1726
|
```
|
|
1616
1727
|
|
|
1617
1728
|
## License
|
|
@@ -32,12 +32,54 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
32
32
|
));
|
|
33
33
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
34
34
|
|
|
35
|
-
// src/commands/framework/command/
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
"src/commands/framework/command/
|
|
35
|
+
// src/commands/framework/command/abstract/index.ts
|
|
36
|
+
var _CommandAbstract, CommandAbstract;
|
|
37
|
+
var init_abstract = __esm({
|
|
38
|
+
"src/commands/framework/command/abstract/index.ts"() {
|
|
39
39
|
"use strict";
|
|
40
|
-
|
|
40
|
+
_CommandAbstract = class _CommandAbstract {
|
|
41
|
+
/**
|
|
42
|
+
* Method to get the name of the command
|
|
43
|
+
* @returns {string} The name of the command
|
|
44
|
+
*/
|
|
45
|
+
static getName() {
|
|
46
|
+
throw new Error("getName() must be implemented by subclass");
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Method to get the description of the command
|
|
50
|
+
* @returns {string} The description of the command
|
|
51
|
+
*/
|
|
52
|
+
static getDescription() {
|
|
53
|
+
throw new Error("getDescription() must be implemented by subclass");
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Method to execute the command
|
|
57
|
+
* @param {...any} args - Command arguments
|
|
58
|
+
* @returns {Promise<CommandResult>} The execution result
|
|
59
|
+
*/
|
|
60
|
+
static execute(...args2) {
|
|
61
|
+
throw new Error(`execute() must be implemented by subclass: ${args2.join(", ")}`);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
__name(_CommandAbstract, "CommandAbstract");
|
|
65
|
+
CommandAbstract = _CommandAbstract;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
// src/commands/framework/command/base-help/index.ts
|
|
70
|
+
var _BaseHelpCommand, BaseHelpCommand;
|
|
71
|
+
var init_base_help = __esm({
|
|
72
|
+
"src/commands/framework/command/base-help/index.ts"() {
|
|
73
|
+
"use strict";
|
|
74
|
+
init_abstract();
|
|
75
|
+
_BaseHelpCommand = class _BaseHelpCommand extends CommandAbstract {
|
|
76
|
+
/**
|
|
77
|
+
* Method to get the description of the command
|
|
78
|
+
* @returns {string} The description of the command
|
|
79
|
+
*/
|
|
80
|
+
static getName() {
|
|
81
|
+
return this.NAME;
|
|
82
|
+
}
|
|
41
83
|
/**
|
|
42
84
|
* Static method to get the commands - must be implemented by subclasses
|
|
43
85
|
*
|
|
@@ -55,11 +97,11 @@ var init_base_context_help = __esm({
|
|
|
55
97
|
throw new Error("getCommands() must be implemented by subclass");
|
|
56
98
|
}
|
|
57
99
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* @returns {CommandResult} The
|
|
100
|
+
* Method to execute the command
|
|
101
|
+
* @param {...any} _args - Command arguments (unused)
|
|
102
|
+
* @returns {Promise<CommandResult>} The execution result
|
|
61
103
|
*/
|
|
62
|
-
static execute() {
|
|
104
|
+
static execute(..._args) {
|
|
63
105
|
const helpText = [
|
|
64
106
|
this.getUsageSection(),
|
|
65
107
|
this.getCommandsSection(),
|
|
@@ -116,20 +158,16 @@ For more information, visit:
|
|
|
116
158
|
`;
|
|
117
159
|
}
|
|
118
160
|
};
|
|
119
|
-
__name(
|
|
161
|
+
__name(_BaseHelpCommand, "BaseHelpCommand");
|
|
120
162
|
/**
|
|
121
163
|
* Static command name
|
|
122
164
|
*/
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Static command description
|
|
126
|
-
*/
|
|
127
|
-
_BaseContextHelp.DESCRIPTION = "Show help for the rules commands";
|
|
165
|
+
_BaseHelpCommand.NAME = "help";
|
|
128
166
|
/**
|
|
129
167
|
* Static repository URL
|
|
130
168
|
*/
|
|
131
|
-
|
|
132
|
-
|
|
169
|
+
_BaseHelpCommand.repositoryUrl = "https://github.com/adobe-commerce/aio-toolkit";
|
|
170
|
+
BaseHelpCommand = _BaseHelpCommand;
|
|
133
171
|
}
|
|
134
172
|
});
|
|
135
173
|
|
|
@@ -138,8 +176,8 @@ var _CursorContextHelp, CursorContextHelp;
|
|
|
138
176
|
var init_help = __esm({
|
|
139
177
|
"src/commands/cursor-context/lib/help/index.ts"() {
|
|
140
178
|
"use strict";
|
|
141
|
-
|
|
142
|
-
_CursorContextHelp = class _CursorContextHelp extends
|
|
179
|
+
init_base_help();
|
|
180
|
+
_CursorContextHelp = class _CursorContextHelp extends BaseHelpCommand {
|
|
143
181
|
/**
|
|
144
182
|
* Get the CLI name
|
|
145
183
|
* This is used to display the correct help text for the CLI.
|
|
@@ -149,6 +187,13 @@ var init_help = __esm({
|
|
|
149
187
|
static getCliName() {
|
|
150
188
|
return "aio-toolkit-cursor-context";
|
|
151
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Method to get the description of the command
|
|
192
|
+
* @returns {string} The description of the command
|
|
193
|
+
*/
|
|
194
|
+
static getDescription() {
|
|
195
|
+
return this.DESCRIPTION;
|
|
196
|
+
}
|
|
152
197
|
/**
|
|
153
198
|
* Get commands dynamically to avoid circular dependency
|
|
154
199
|
* This will be populated when CursorRules is initialized
|
|
@@ -161,6 +206,10 @@ var init_help = __esm({
|
|
|
161
206
|
}
|
|
162
207
|
};
|
|
163
208
|
__name(_CursorContextHelp, "CursorContextHelp");
|
|
209
|
+
/**
|
|
210
|
+
* Static command description
|
|
211
|
+
*/
|
|
212
|
+
_CursorContextHelp.DESCRIPTION = "Show help for the rules commands";
|
|
164
213
|
CursorContextHelp = _CursorContextHelp;
|
|
165
214
|
}
|
|
166
215
|
});
|
|
@@ -550,14 +599,22 @@ var init_helpers = __esm({
|
|
|
550
599
|
}
|
|
551
600
|
});
|
|
552
601
|
|
|
553
|
-
// src/commands/framework/command/base-
|
|
554
|
-
var path4,
|
|
555
|
-
var
|
|
556
|
-
"src/commands/framework/command/base-
|
|
602
|
+
// src/commands/framework/command/ai-agent/base-check/index.ts
|
|
603
|
+
var path4, _AIAgentBaseCheck, AIAgentBaseCheck;
|
|
604
|
+
var init_base_check = __esm({
|
|
605
|
+
"src/commands/framework/command/ai-agent/base-check/index.ts"() {
|
|
557
606
|
"use strict";
|
|
558
607
|
path4 = __toESM(require("path"));
|
|
559
608
|
init_helpers();
|
|
560
|
-
|
|
609
|
+
init_abstract();
|
|
610
|
+
_AIAgentBaseCheck = class _AIAgentBaseCheck extends CommandAbstract {
|
|
611
|
+
/**
|
|
612
|
+
* Method to get the description of the command
|
|
613
|
+
* @returns {string} The description of the command
|
|
614
|
+
*/
|
|
615
|
+
static getName() {
|
|
616
|
+
return this.NAME;
|
|
617
|
+
}
|
|
561
618
|
/**
|
|
562
619
|
* Get the directory paths to check
|
|
563
620
|
* This is used to check if the context directories exist.
|
|
@@ -649,16 +706,12 @@ ${dir}:`);
|
|
|
649
706
|
};
|
|
650
707
|
}
|
|
651
708
|
};
|
|
652
|
-
__name(
|
|
709
|
+
__name(_AIAgentBaseCheck, "AIAgentBaseCheck");
|
|
653
710
|
/**
|
|
654
711
|
* Static command name
|
|
655
712
|
*/
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
* Static command description
|
|
659
|
-
*/
|
|
660
|
-
_BaseContextCheck.DESCRIPTION = "Check contexts are applied to the project";
|
|
661
|
-
BaseContextCheck = _BaseContextCheck;
|
|
713
|
+
_AIAgentBaseCheck.NAME = "check";
|
|
714
|
+
AIAgentBaseCheck = _AIAgentBaseCheck;
|
|
662
715
|
}
|
|
663
716
|
});
|
|
664
717
|
|
|
@@ -668,8 +721,15 @@ var init_check = __esm({
|
|
|
668
721
|
"src/commands/cursor-context/lib/check/index.ts"() {
|
|
669
722
|
"use strict";
|
|
670
723
|
path5 = __toESM(require("path"));
|
|
671
|
-
|
|
672
|
-
_CursorContextCheck = class _CursorContextCheck extends
|
|
724
|
+
init_base_check();
|
|
725
|
+
_CursorContextCheck = class _CursorContextCheck extends AIAgentBaseCheck {
|
|
726
|
+
/**
|
|
727
|
+
* Method to get the description of the command
|
|
728
|
+
* @returns {string} The description of the command
|
|
729
|
+
*/
|
|
730
|
+
static getDescription() {
|
|
731
|
+
return this.DESCRIPTION;
|
|
732
|
+
}
|
|
673
733
|
/**
|
|
674
734
|
* Get the directory paths to check
|
|
675
735
|
* This is used to check if the context directories exist.
|
|
@@ -681,20 +741,32 @@ var init_check = __esm({
|
|
|
681
741
|
}
|
|
682
742
|
};
|
|
683
743
|
__name(_CursorContextCheck, "CursorContextCheck");
|
|
744
|
+
/**
|
|
745
|
+
* Static command description
|
|
746
|
+
*/
|
|
747
|
+
_CursorContextCheck.DESCRIPTION = "Check cursor context applied to the project";
|
|
684
748
|
CursorContextCheck = _CursorContextCheck;
|
|
685
749
|
}
|
|
686
750
|
});
|
|
687
751
|
|
|
688
|
-
// src/commands/framework/command/base-
|
|
689
|
-
var fs6, path6,
|
|
690
|
-
var
|
|
691
|
-
"src/commands/framework/command/base-
|
|
752
|
+
// src/commands/framework/command/ai-agent/base-apply/index.ts
|
|
753
|
+
var fs6, path6, _AIAgentBaseApply, AIAgentBaseApply;
|
|
754
|
+
var init_base_apply = __esm({
|
|
755
|
+
"src/commands/framework/command/ai-agent/base-apply/index.ts"() {
|
|
692
756
|
"use strict";
|
|
693
757
|
fs6 = __toESM(require("fs"));
|
|
694
758
|
path6 = __toESM(require("path"));
|
|
695
759
|
init_format_messages();
|
|
696
760
|
init_helpers();
|
|
697
|
-
|
|
761
|
+
init_abstract();
|
|
762
|
+
_AIAgentBaseApply = class _AIAgentBaseApply extends CommandAbstract {
|
|
763
|
+
/**
|
|
764
|
+
* Method to get the description of the command
|
|
765
|
+
* @returns {string} The description of the command
|
|
766
|
+
*/
|
|
767
|
+
static getName() {
|
|
768
|
+
return this.NAME;
|
|
769
|
+
}
|
|
698
770
|
/**
|
|
699
771
|
* Get the copy directories configuration
|
|
700
772
|
* @returns {Record<string, { from: string; to: string }>} Object with directory pairs to copy
|
|
@@ -939,27 +1011,30 @@ ${dirKey.toUpperCase()}:`);
|
|
|
939
1011
|
}
|
|
940
1012
|
}
|
|
941
1013
|
};
|
|
942
|
-
__name(
|
|
1014
|
+
__name(_AIAgentBaseApply, "AIAgentBaseApply");
|
|
943
1015
|
/**
|
|
944
1016
|
* Static command name
|
|
945
1017
|
*/
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
* Static command description
|
|
949
|
-
*/
|
|
950
|
-
_BaseRuleApply.DESCRIPTION = "Apply contexts to your project (use --force or -f to overwrite existing)";
|
|
951
|
-
BaseRuleApply = _BaseRuleApply;
|
|
1018
|
+
_AIAgentBaseApply.NAME = "apply";
|
|
1019
|
+
AIAgentBaseApply = _AIAgentBaseApply;
|
|
952
1020
|
}
|
|
953
1021
|
});
|
|
954
1022
|
|
|
955
1023
|
// src/commands/cursor-context/lib/apply/index.ts
|
|
956
|
-
var path7,
|
|
1024
|
+
var path7, _CursorContextApply, CursorContextApply;
|
|
957
1025
|
var init_apply = __esm({
|
|
958
1026
|
"src/commands/cursor-context/lib/apply/index.ts"() {
|
|
959
1027
|
"use strict";
|
|
960
1028
|
path7 = __toESM(require("path"));
|
|
961
|
-
|
|
962
|
-
|
|
1029
|
+
init_base_apply();
|
|
1030
|
+
_CursorContextApply = class _CursorContextApply extends AIAgentBaseApply {
|
|
1031
|
+
/**
|
|
1032
|
+
* Method to get the description of the command
|
|
1033
|
+
* @returns {string} The description of the command
|
|
1034
|
+
*/
|
|
1035
|
+
static getDescription() {
|
|
1036
|
+
return this.DESCRIPTION;
|
|
1037
|
+
}
|
|
963
1038
|
/**
|
|
964
1039
|
* Enable IDE detection for Cursor-specific contexts
|
|
965
1040
|
* @returns {boolean} True to enable IDE detection
|
|
@@ -984,17 +1059,21 @@ var init_apply = __esm({
|
|
|
984
1059
|
};
|
|
985
1060
|
}
|
|
986
1061
|
};
|
|
987
|
-
__name(
|
|
988
|
-
|
|
1062
|
+
__name(_CursorContextApply, "CursorContextApply");
|
|
1063
|
+
/**
|
|
1064
|
+
* Static command description
|
|
1065
|
+
*/
|
|
1066
|
+
_CursorContextApply.DESCRIPTION = "Apply contexts to your project (use --force or -f to overwrite existing)";
|
|
1067
|
+
CursorContextApply = _CursorContextApply;
|
|
989
1068
|
}
|
|
990
1069
|
});
|
|
991
1070
|
|
|
992
|
-
// src/commands/framework/command/
|
|
993
|
-
var
|
|
994
|
-
var
|
|
995
|
-
"src/commands/framework/command/
|
|
1071
|
+
// src/commands/framework/command/registry/index.ts
|
|
1072
|
+
var _CommandRegistry, CommandRegistry;
|
|
1073
|
+
var init_registry = __esm({
|
|
1074
|
+
"src/commands/framework/command/registry/index.ts"() {
|
|
996
1075
|
"use strict";
|
|
997
|
-
|
|
1076
|
+
_CommandRegistry = class _CommandRegistry {
|
|
998
1077
|
/**
|
|
999
1078
|
* Static method to get the commands - must be implemented by subclasses
|
|
1000
1079
|
*
|
|
@@ -1021,8 +1100,8 @@ var init_base_rules = __esm({
|
|
|
1021
1100
|
return await command2.execute(...args2);
|
|
1022
1101
|
}
|
|
1023
1102
|
};
|
|
1024
|
-
__name(
|
|
1025
|
-
|
|
1103
|
+
__name(_CommandRegistry, "CommandRegistry");
|
|
1104
|
+
CommandRegistry = _CommandRegistry;
|
|
1026
1105
|
}
|
|
1027
1106
|
});
|
|
1028
1107
|
|
|
@@ -1038,8 +1117,8 @@ var init_lib = __esm({
|
|
|
1038
1117
|
init_help();
|
|
1039
1118
|
init_check();
|
|
1040
1119
|
init_apply();
|
|
1041
|
-
|
|
1042
|
-
_CursorRules = class _CursorRules extends
|
|
1120
|
+
init_registry();
|
|
1121
|
+
_CursorRules = class _CursorRules extends CommandRegistry {
|
|
1043
1122
|
/**
|
|
1044
1123
|
* Static commands array
|
|
1045
1124
|
*
|
|
@@ -1048,19 +1127,19 @@ var init_lib = __esm({
|
|
|
1048
1127
|
static getCommands() {
|
|
1049
1128
|
return [
|
|
1050
1129
|
{
|
|
1051
|
-
name: CursorContextHelp.
|
|
1052
|
-
description: CursorContextHelp.
|
|
1130
|
+
name: CursorContextHelp.getName(),
|
|
1131
|
+
description: CursorContextHelp.getDescription(),
|
|
1053
1132
|
execute: CursorContextHelp.execute.bind(CursorContextHelp)
|
|
1054
1133
|
},
|
|
1055
1134
|
{
|
|
1056
|
-
name: CursorContextCheck.
|
|
1057
|
-
description: CursorContextCheck.
|
|
1135
|
+
name: CursorContextCheck.getName(),
|
|
1136
|
+
description: CursorContextCheck.getDescription(),
|
|
1058
1137
|
execute: CursorContextCheck.execute.bind(CursorContextCheck)
|
|
1059
1138
|
},
|
|
1060
1139
|
{
|
|
1061
|
-
name:
|
|
1062
|
-
description:
|
|
1063
|
-
execute:
|
|
1140
|
+
name: CursorContextApply.getName(),
|
|
1141
|
+
description: CursorContextApply.getDescription(),
|
|
1142
|
+
execute: CursorContextApply.execute.bind(CursorContextApply)
|
|
1064
1143
|
}
|
|
1065
1144
|
];
|
|
1066
1145
|
}
|