@cashfreepayments/agent-skills 0.0.1
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 +214 -0
- package/bin/cashfree.js +2 -0
- package/dist/config.d.ts +50 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +24 -0
- package/dist/config.js.map +1 -0
- package/dist/generators/index.d.ts +2 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +2 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/utils.d.ts +14 -0
- package/dist/generators/utils.d.ts.map +1 -0
- package/dist/generators/utils.js +34 -0
- package/dist/generators/utils.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +156 -0
- package/dist/index.js.map +1 -0
- package/dist/templates/crossBorder.d.ts +5 -0
- package/dist/templates/crossBorder.d.ts.map +1 -0
- package/dist/templates/crossBorder.js +10 -0
- package/dist/templates/crossBorder.js.map +1 -0
- package/dist/templates/crossBorder.md +264 -0
- package/dist/templates/payouts.d.ts +5 -0
- package/dist/templates/payouts.d.ts.map +1 -0
- package/dist/templates/payouts.js +10 -0
- package/dist/templates/payouts.js.map +1 -0
- package/dist/templates/payouts.md +332 -0
- package/dist/templates/pg.d.ts +5 -0
- package/dist/templates/pg.d.ts.map +1 -0
- package/dist/templates/pg.js +10 -0
- package/dist/templates/pg.js.map +1 -0
- package/dist/templates/pg.md +501 -0
- package/dist/templates/secure-id.d.ts +5 -0
- package/dist/templates/secure-id.d.ts.map +1 -0
- package/dist/templates/secure-id.js +10 -0
- package/dist/templates/secure-id.js.map +1 -0
- package/dist/templates/secure-id.md +215 -0
- package/dist/templates/subscriptions.d.ts +5 -0
- package/dist/templates/subscriptions.d.ts.map +1 -0
- package/dist/templates/subscriptions.js +10 -0
- package/dist/templates/subscriptions.js.map +1 -0
- package/dist/templates/subscriptions.md +193 -0
- package/package.json +49 -0
package/README.md
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# Cashfree Agent Skills CLI
|
|
2
|
+
|
|
3
|
+
Add Cashfree Payments product-specific skills to your AI coding assistant projects.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Add Payment Gateway skills
|
|
9
|
+
npx @cashfreepayments/agent-skills add pg
|
|
10
|
+
|
|
11
|
+
# Add Secure ID skills
|
|
12
|
+
npx @cashfreepayments/agent-skills add secure-id
|
|
13
|
+
|
|
14
|
+
# Add Subscriptions skills
|
|
15
|
+
npx @cashfreepayments/agent-skills add subscriptions
|
|
16
|
+
|
|
17
|
+
# Add Cross Border skills
|
|
18
|
+
npx @cashfreepayments/agent-skills add cross-border
|
|
19
|
+
|
|
20
|
+
# Add Payouts skills
|
|
21
|
+
npx @cashfreepayments/agent-skills add payouts
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+

|
|
25
|
+
|
|
26
|
+
This will prompt you to select which AI coding assistants to configure:
|
|
27
|
+
- **Cursor** - Creates `.cursor/skills/cashfree/<product>.md`
|
|
28
|
+
- **Claude Code** - Creates `.claude/skills/cashfree/<product>.md`
|
|
29
|
+
- **OpenCode** - Creates `.opencode/skills/cashfree/<product>.md`
|
|
30
|
+
- **VS Code Copilot** - Creates `.github/skills/cashfree/<product>.md`
|
|
31
|
+
- **Gemini CLI** - Creates `.gemini/skills/cashfree/<product>.md`
|
|
32
|
+
- **Antigravity** - Creates `.agent/skills/cashfree/<product>.md`
|
|
33
|
+
- **GitHub Copilot CLI** - Creates `.github/skills/cashfree/<product>.md`
|
|
34
|
+
- **OpenAI Codex CLI** - Creates `.codex/skills/cashfree/<product>.md`
|
|
35
|
+
|
|
36
|
+
## Products
|
|
37
|
+
|
|
38
|
+
### Payment Gateway (PG)
|
|
39
|
+
Payment gateway integration, order creation, refunds, payment links, and webhooks.
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npx @cashfreepayments/agent-skills add pg
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Secure ID
|
|
46
|
+
Bank account verification, penny drop, UPI verification, and settlement reconciliation.
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
npx @cashfreepayments/agent-skills add secure-id
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Subscriptions
|
|
53
|
+
Recurring payments, subscription plans, authorization, and customer management.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx @cashfreepayments/agent-skills add subscriptions
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Cross Border
|
|
60
|
+
International payments, currency conversion, and cross-border transactions.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx @cashfreepayments/agent-skills add cross-border
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Payouts
|
|
67
|
+
Bulk payouts, vendor payments, and disbursement management.
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx @cashfreepayments/agent-skills add payouts
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Usage
|
|
74
|
+
|
|
75
|
+
### Interactive Mode
|
|
76
|
+
```bash
|
|
77
|
+
npx @cashfreepayments/agent-skills add pg
|
|
78
|
+
```
|
|
79
|
+
You'll be prompted to select which AI assistants to configure.
|
|
80
|
+
|
|
81
|
+
### Specify Frameworks
|
|
82
|
+
```bash
|
|
83
|
+
npx @cashfreepayments/agent-skills add pg --frameworks cursor,claude-code,gemini-cli
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Custom Project Path
|
|
87
|
+
```bash
|
|
88
|
+
npx @cashfreepayments/agent-skills add secure-id --path /path/to/project
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Add Multiple Products
|
|
92
|
+
```bash
|
|
93
|
+
npx @cashfreepayments/agent-skills add pg
|
|
94
|
+
npx @cashfreepayments/agent-skills add secure-id
|
|
95
|
+
npx @cashfreepayments/agent-skills add subscriptions
|
|
96
|
+
npx @cashfreepayments/agent-skills add cross-border
|
|
97
|
+
npx @cashfreepayments/agent-skills add payouts
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## What Gets Created
|
|
101
|
+
|
|
102
|
+
For each product and framework combination, a skill file is created:
|
|
103
|
+
|
|
104
|
+
### Example: Gemini CLI + Payment Gateway
|
|
105
|
+
```
|
|
106
|
+
.gemini/skills/cashfree/pg.md
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Example: Cursor + All Products
|
|
110
|
+
```
|
|
111
|
+
.cursor/skills/cashfree/pg.md
|
|
112
|
+
.cursor/skills/cashfree/secure-id.md
|
|
113
|
+
.cursor/skills/cashfree/subscriptions.md
|
|
114
|
+
.cursor/skills/cashfree/cross-border.md
|
|
115
|
+
.cursor/skills/cashfree/payouts.md
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Skill Files
|
|
119
|
+
|
|
120
|
+
Each skill file contains:
|
|
121
|
+
- Product-specific documentation references
|
|
122
|
+
- Common API patterns and use cases
|
|
123
|
+
- Example queries for the AI assistant
|
|
124
|
+
- Best practices for integration
|
|
125
|
+
|
|
126
|
+
### Payment Gateway (pg.md)
|
|
127
|
+
Guides your AI assistant on:
|
|
128
|
+
- Creating orders and processing payments
|
|
129
|
+
- Handling refunds and settlements
|
|
130
|
+
- Payment links and QR codes
|
|
131
|
+
- Webhook integration
|
|
132
|
+
|
|
133
|
+
### secure-id (secure-id.md)
|
|
134
|
+
Guides your AI assistant on:
|
|
135
|
+
- Bank account verification APIs
|
|
136
|
+
- Penny drop verification
|
|
137
|
+
- UPI ID verification
|
|
138
|
+
- Transaction reconciliation
|
|
139
|
+
|
|
140
|
+
### Subscriptions (subscriptions.md)
|
|
141
|
+
Guides your AI assistant on:
|
|
142
|
+
- Creating subscription plans
|
|
143
|
+
- Managing recurring payments
|
|
144
|
+
- Subscription authorization flows
|
|
145
|
+
- Customer subscription lifecycle
|
|
146
|
+
|
|
147
|
+
### Cross Border (cross-border.md)
|
|
148
|
+
Guides your AI assistant on:
|
|
149
|
+
- International payment processing
|
|
150
|
+
- Currency conversion and rates
|
|
151
|
+
- Cross-border compliance
|
|
152
|
+
- Multi-currency transactions
|
|
153
|
+
|
|
154
|
+
### Payouts (payouts.md)
|
|
155
|
+
Guides your AI assistant on:
|
|
156
|
+
- Bulk payout processing
|
|
157
|
+
- Vendor payment management
|
|
158
|
+
- Disbursement APIs
|
|
159
|
+
- Payout status tracking
|
|
160
|
+
|
|
161
|
+
## Framework-Specific Locations
|
|
162
|
+
|
|
163
|
+
| Framework | Skill Location |
|
|
164
|
+
|-----------|----------------|
|
|
165
|
+
| Cursor | `.cursor/skills/cashfree/` |
|
|
166
|
+
| Claude Code | `.claude/skills/cashfree/` |
|
|
167
|
+
| OpenCode | `.opencode/skills/cashfree/` |
|
|
168
|
+
| VS Code Copilot | `.github/skills/cashfree/` |
|
|
169
|
+
| Gemini CLI | `.gemini/skills/cashfree/` |
|
|
170
|
+
| Antigravity | `.agent/skills/cashfree/` |
|
|
171
|
+
| GitHub Copilot CLI | `.github/skills/cashfree/` |
|
|
172
|
+
| OpenAI Codex CLI | `.codex/skills/cashfree/` |
|
|
173
|
+
|
|
174
|
+
## How AI Assistants Use Skills
|
|
175
|
+
|
|
176
|
+
When you ask your AI coding assistant about Cashfree integration:
|
|
177
|
+
|
|
178
|
+
1. The assistant reads the relevant skill file
|
|
179
|
+
2. Uses the guidance to understand your product context
|
|
180
|
+
3. Provides accurate, product-specific code examples
|
|
181
|
+
4. References correct API endpoints and parameters
|
|
182
|
+
|
|
183
|
+
### Example Interactions
|
|
184
|
+
|
|
185
|
+
**With PG skill:**
|
|
186
|
+
```
|
|
187
|
+
You: "How do I create a payment order?"
|
|
188
|
+
AI: *reads pg.md skill* → Provides order creation API code
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**With secure-id skill:**
|
|
192
|
+
```
|
|
193
|
+
You: "Verify a bank account"
|
|
194
|
+
AI: *reads secure-id.md skill* → Provides bank verification API code
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**With Subscriptions skill:**
|
|
198
|
+
```
|
|
199
|
+
You: "Set up a monthly subscription"
|
|
200
|
+
AI: *reads subscriptions.md skill* → Provides subscription plan creation code
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**With Cross Border skill:**
|
|
204
|
+
```
|
|
205
|
+
You: "How do I process an international payment?"
|
|
206
|
+
AI: *reads cross-border.md skill* → Provides cross-border payment API code
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**With Payouts skill:**
|
|
210
|
+
```
|
|
211
|
+
You: "How do I send bulk payouts?"
|
|
212
|
+
AI: *reads payouts.md skill* → Provides bulk payout API code
|
|
213
|
+
```
|
|
214
|
+
|
package/bin/cashfree.js
ADDED
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supported frameworks
|
|
3
|
+
*/
|
|
4
|
+
export declare const FRAMEWORKS: readonly [{
|
|
5
|
+
readonly name: "Cursor";
|
|
6
|
+
readonly value: "cursor";
|
|
7
|
+
}, {
|
|
8
|
+
readonly name: "Claude Code";
|
|
9
|
+
readonly value: "claude-code";
|
|
10
|
+
}, {
|
|
11
|
+
readonly name: "OpenCode";
|
|
12
|
+
readonly value: "opencode";
|
|
13
|
+
}, {
|
|
14
|
+
readonly name: "VS Code Copilot";
|
|
15
|
+
readonly value: "vscode-copilot";
|
|
16
|
+
}, {
|
|
17
|
+
readonly name: "Gemini CLI";
|
|
18
|
+
readonly value: "gemini-cli";
|
|
19
|
+
}, {
|
|
20
|
+
readonly name: "Antigravity";
|
|
21
|
+
readonly value: "antigravity";
|
|
22
|
+
}, {
|
|
23
|
+
readonly name: "GitHub Copilot CLI";
|
|
24
|
+
readonly value: "copilot-cli";
|
|
25
|
+
}, {
|
|
26
|
+
readonly name: "OpenAI Codex CLI";
|
|
27
|
+
readonly value: "codex";
|
|
28
|
+
}];
|
|
29
|
+
export type Framework = typeof FRAMEWORKS[number]['value'];
|
|
30
|
+
/**
|
|
31
|
+
* Supported Cashfree products
|
|
32
|
+
*/
|
|
33
|
+
export declare const PRODUCTS: readonly [{
|
|
34
|
+
readonly name: "Payment Gateway (PG)";
|
|
35
|
+
readonly value: "pg";
|
|
36
|
+
}, {
|
|
37
|
+
readonly name: "Secure ID";
|
|
38
|
+
readonly value: "secure-id";
|
|
39
|
+
}, {
|
|
40
|
+
readonly name: "Subscriptions";
|
|
41
|
+
readonly value: "subscriptions";
|
|
42
|
+
}, {
|
|
43
|
+
readonly name: "Cross Border";
|
|
44
|
+
readonly value: "cross-border";
|
|
45
|
+
}, {
|
|
46
|
+
readonly name: "Payouts";
|
|
47
|
+
readonly value: "payouts";
|
|
48
|
+
}];
|
|
49
|
+
export type Product = typeof PRODUCTS[number]['value'];
|
|
50
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;EASb,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;EAMX,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supported frameworks
|
|
3
|
+
*/
|
|
4
|
+
export const FRAMEWORKS = [
|
|
5
|
+
{ name: 'Cursor', value: 'cursor' },
|
|
6
|
+
{ name: 'Claude Code', value: 'claude-code' },
|
|
7
|
+
{ name: 'OpenCode', value: 'opencode' },
|
|
8
|
+
{ name: 'VS Code Copilot', value: 'vscode-copilot' },
|
|
9
|
+
{ name: 'Gemini CLI', value: 'gemini-cli' },
|
|
10
|
+
{ name: 'Antigravity', value: 'antigravity' },
|
|
11
|
+
{ name: 'GitHub Copilot CLI', value: 'copilot-cli' },
|
|
12
|
+
{ name: 'OpenAI Codex CLI', value: 'codex' }
|
|
13
|
+
];
|
|
14
|
+
/**
|
|
15
|
+
* Supported Cashfree products
|
|
16
|
+
*/
|
|
17
|
+
export const PRODUCTS = [
|
|
18
|
+
{ name: 'Payment Gateway (PG)', value: 'pg' },
|
|
19
|
+
{ name: 'Secure ID', value: 'secure-id' },
|
|
20
|
+
{ name: 'Subscriptions', value: 'subscriptions' },
|
|
21
|
+
{ name: 'Cross Border', value: 'cross-border' },
|
|
22
|
+
{ name: 'Payouts', value: 'payouts' },
|
|
23
|
+
];
|
|
24
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACnC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IAC7C,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACvC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACpD,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;IAC3C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IAC7C,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,EAAE;IACpD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE;CACtC,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE;IAC7C,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IACzC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;IACjD,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;IAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;CAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface GeneratorResult {
|
|
2
|
+
success: boolean;
|
|
3
|
+
files: string[];
|
|
4
|
+
message?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Base generator utilities
|
|
8
|
+
*/
|
|
9
|
+
export declare function ensureDir(dirPath: string): Promise<void>;
|
|
10
|
+
export declare function writeTextFile(filePath: string, content: string, overwrite?: boolean): Promise<boolean>;
|
|
11
|
+
export declare function logCreated(file: string): void;
|
|
12
|
+
export declare function logUpdated(file: string): void;
|
|
13
|
+
export declare function createSkillFile(projectPath: string, baseDir: string, productName: string, getTemplate: () => string): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/generators/utils.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,wBAAsB,aAAa,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,UAAQ,GAClB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAsB,eAAe,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
/**
|
|
4
|
+
* Base generator utilities
|
|
5
|
+
*/
|
|
6
|
+
export async function ensureDir(dirPath) {
|
|
7
|
+
await fs.ensureDir(dirPath);
|
|
8
|
+
}
|
|
9
|
+
export async function writeTextFile(filePath, content, overwrite = false) {
|
|
10
|
+
const exists = await fs.pathExists(filePath);
|
|
11
|
+
if (exists && !overwrite) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
await fs.writeFile(filePath, content);
|
|
15
|
+
return !exists;
|
|
16
|
+
}
|
|
17
|
+
export function logCreated(file) {
|
|
18
|
+
console.log(chalk.green(` Created ${file}`));
|
|
19
|
+
}
|
|
20
|
+
export function logUpdated(file) {
|
|
21
|
+
console.log(chalk.yellow(` Updated ${file}`));
|
|
22
|
+
}
|
|
23
|
+
export async function createSkillFile(projectPath, baseDir, productName, getTemplate) {
|
|
24
|
+
const path = await import('path');
|
|
25
|
+
const skillsDir = path.join(projectPath, baseDir, 'skills', 'cashfree');
|
|
26
|
+
const skillPath = path.join(skillsDir, `${productName}.md`);
|
|
27
|
+
await ensureDir(skillsDir);
|
|
28
|
+
const created = await writeTextFile(skillPath, getTemplate());
|
|
29
|
+
if (created) {
|
|
30
|
+
const relativePath = path.join(baseDir, 'skills', 'cashfree', `${productName}.md`);
|
|
31
|
+
logCreated(relativePath);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/generators/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe;IAC3C,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,QAAgB,EAChB,OAAe,EACf,SAAS,GAAG,KAAK;IAEjB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,MAAM,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,WAAmB,EACnB,OAAe,EACf,WAAmB,EACnB,WAAyB;IAEzB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,WAAW,KAAK,CAAC,CAAC;IAE5D,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAE3B,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9D,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,WAAW,KAAK,CAAC,CAAC;QACnF,UAAU,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import inquirer from "inquirer";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import path from "path";
|
|
5
|
+
import { readFileSync } from "node:fs";
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
7
|
+
import { FRAMEWORKS, PRODUCTS, } from "./config.js";
|
|
8
|
+
import { getPGSkillTemplate } from "./templates/pg.js";
|
|
9
|
+
import { getSecureIdSkillTemplate } from "./templates/secure-id.js";
|
|
10
|
+
import { getSubscriptionsSkillTemplate } from "./templates/subscriptions.js";
|
|
11
|
+
import { getCrossBorderSkillTemplate } from "./templates/crossBorder.js";
|
|
12
|
+
import { getPayoutsSkillTemplate } from "./templates/payouts.js";
|
|
13
|
+
import { createSkillFile } from "./generators/utils.js";
|
|
14
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
15
|
+
const pkg = JSON.parse(readFileSync(path.join(__dirname, "..", "package.json"), "utf-8"));
|
|
16
|
+
const program = new Command();
|
|
17
|
+
program
|
|
18
|
+
.name("cashfree")
|
|
19
|
+
.description("CLI to add Cashfree product skills to AI coding assistants")
|
|
20
|
+
.version(pkg.version);
|
|
21
|
+
program
|
|
22
|
+
.command("add")
|
|
23
|
+
.argument("<type>", "Type of product to add (pg, secure-id, subscriptions, cross-border, payouts)")
|
|
24
|
+
.description("Add Cashfree product skill configuration to your project")
|
|
25
|
+
.option("-p, --path <path>", "Project path", process.cwd())
|
|
26
|
+
.option("-f, --frameworks <frameworks>", "Comma-separated list of frameworks")
|
|
27
|
+
.action(async (type, options) => {
|
|
28
|
+
const validProducts = [
|
|
29
|
+
"pg",
|
|
30
|
+
"secure-id",
|
|
31
|
+
"subscriptions",
|
|
32
|
+
"cross-border",
|
|
33
|
+
"payouts",
|
|
34
|
+
];
|
|
35
|
+
if (!validProducts.includes(type)) {
|
|
36
|
+
console.error(chalk.red(`Error: Unknown product '${type}'. Valid options: pg, secure-id, subscriptions, cross-border, payouts`));
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
const product = type;
|
|
40
|
+
// Amazing branding banner
|
|
41
|
+
console.log("\n");
|
|
42
|
+
console.log(chalk.bold.hex("#10b981")(" ██████╗ █████╗ ███████╗██╗ ██╗███████╗██████╗ ███████╗███████╗"));
|
|
43
|
+
console.log(chalk.bold.hex("#10b981")(" ██╔════╝██╔══██╗██╔════╝██║ ██║██╔════╝██╔══██╗██╔════╝██╔════╝"));
|
|
44
|
+
console.log(chalk.bold.hex("#10b981")(" ██║ ███████║███████╗███████║█████╗ ██████╔╝█████╗ █████╗ "));
|
|
45
|
+
console.log(chalk.bold.hex("#10b981")(" ██║ ██╔══██║╚════██║██╔══██║██╔══╝ ██╔══██╗██╔══╝ ██╔══╝ "));
|
|
46
|
+
console.log(chalk.bold.hex("#10b981")(" ╚██████╗██║ ██║███████║██║ ██║██║ ██║ ██║███████╗███████╗"));
|
|
47
|
+
console.log(chalk.bold.hex("#10b981")(" ╚═════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝"));
|
|
48
|
+
console.log(chalk.bold.hex("#f59e0b")(" ██████╗ █████╗ ██╗ ██╗███╗ ███╗███████╗███╗ ██╗████████╗███████╗"));
|
|
49
|
+
console.log(chalk.bold.hex("#f59e0b")(" ██╔══██╗██╔══██╗╚██╗ ██╔╝████╗ ████║██╔════╝████╗ ██║╚══██╔══╝██╔════╝"));
|
|
50
|
+
console.log(chalk.bold.hex("#f59e0b")(" ██████╔╝███████║ ╚████╔╝ ██╔████╔██║█████╗ ██╔██╗ ██║ ██║ ███████╗"));
|
|
51
|
+
console.log(chalk.bold.hex("#f59e0b")(" ██╔═══╝ ██╔══██║ ╚██╔╝ ██║╚██╔╝██║██╔══╝ ██║╚██╗██║ ██║ ╚════██║"));
|
|
52
|
+
console.log(chalk.bold.hex("#f59e0b")(" ██║ ██║ ██║ ██║ ██║ ╚═╝ ██║███████╗██║ ╚████║ ██║ ███████║"));
|
|
53
|
+
console.log(chalk.bold.hex("#f59e0b")(" ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝"));
|
|
54
|
+
console.log("\n");
|
|
55
|
+
console.log(chalk.bold.cyan(" 🎯 Agent Skills Setup - Add Product Knowledge to AI Assistants\n"));
|
|
56
|
+
// Get the template function based on product type
|
|
57
|
+
const getTemplateForProduct = (product) => {
|
|
58
|
+
switch (product) {
|
|
59
|
+
case "pg":
|
|
60
|
+
return getPGSkillTemplate;
|
|
61
|
+
case "secure-id":
|
|
62
|
+
return getSecureIdSkillTemplate;
|
|
63
|
+
case "subscriptions":
|
|
64
|
+
return getSubscriptionsSkillTemplate;
|
|
65
|
+
case "cross-border":
|
|
66
|
+
return getCrossBorderSkillTemplate;
|
|
67
|
+
case "payouts":
|
|
68
|
+
return getPayoutsSkillTemplate;
|
|
69
|
+
default:
|
|
70
|
+
throw new Error(`No template found for product: ${product}`);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const productName = PRODUCTS.find((p) => p.value === product)?.name || product;
|
|
74
|
+
let selectedFrameworks;
|
|
75
|
+
if (options.frameworks) {
|
|
76
|
+
// Use provided frameworks
|
|
77
|
+
selectedFrameworks = options.frameworks
|
|
78
|
+
.split(",")
|
|
79
|
+
.map((f) => f.trim());
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
// Interactive selection
|
|
83
|
+
const answers = await inquirer.prompt([
|
|
84
|
+
{
|
|
85
|
+
type: "checkbox",
|
|
86
|
+
name: "frameworks",
|
|
87
|
+
message: `Select AI coding assistants to configure for ${productName}:`,
|
|
88
|
+
choices: FRAMEWORKS.map((f) => ({
|
|
89
|
+
name: f.name,
|
|
90
|
+
value: f.value,
|
|
91
|
+
checked: false,
|
|
92
|
+
})),
|
|
93
|
+
validate: (input) => {
|
|
94
|
+
if (input.length === 0) {
|
|
95
|
+
return "Please select at least one framework.";
|
|
96
|
+
}
|
|
97
|
+
return true;
|
|
98
|
+
},
|
|
99
|
+
pageSize: 10,
|
|
100
|
+
},
|
|
101
|
+
]);
|
|
102
|
+
selectedFrameworks = answers.frameworks;
|
|
103
|
+
}
|
|
104
|
+
const projectPath = path.resolve(options.path);
|
|
105
|
+
console.log(chalk.dim(`\nProject path: ${projectPath}`));
|
|
106
|
+
console.log(chalk.dim(`Product: ${productName}\n`));
|
|
107
|
+
// Generate configurations for each selected framework
|
|
108
|
+
for (const framework of selectedFrameworks) {
|
|
109
|
+
console.log(chalk.blue(`\n📦 Configuring ${getFrameworkName(framework)}...`));
|
|
110
|
+
try {
|
|
111
|
+
const baseDir = getFrameworkBaseDir(framework);
|
|
112
|
+
await createSkillFile(projectPath, baseDir, product, getTemplateForProduct(product));
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
console.log(chalk.red(` Error: ${error instanceof Error ? error.message : "Unknown error"}`));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
console.log(chalk.bold.green(`\n✅ Cashfree ${productName} configuration complete!\n`));
|
|
119
|
+
console.log(chalk.dim(`The skill files have been created for ${productName}.`));
|
|
120
|
+
console.log(chalk.dim("Use them to search for API references, code examples, and guides.\n"));
|
|
121
|
+
});
|
|
122
|
+
function getFrameworkName(framework) {
|
|
123
|
+
const found = FRAMEWORKS.find((f) => f.value === framework);
|
|
124
|
+
return found?.name || framework;
|
|
125
|
+
}
|
|
126
|
+
function getFrameworkBaseDir(framework) {
|
|
127
|
+
switch (framework) {
|
|
128
|
+
case "cursor":
|
|
129
|
+
return ".cursor";
|
|
130
|
+
case "claude-code":
|
|
131
|
+
return ".claude";
|
|
132
|
+
case "opencode":
|
|
133
|
+
return ".opencode";
|
|
134
|
+
case "vscode-copilot":
|
|
135
|
+
return ".github";
|
|
136
|
+
case "gemini-cli":
|
|
137
|
+
return ".gemini";
|
|
138
|
+
case "antigravity":
|
|
139
|
+
return ".agent";
|
|
140
|
+
case "copilot-cli":
|
|
141
|
+
return ".github";
|
|
142
|
+
case "codex":
|
|
143
|
+
return ".codex";
|
|
144
|
+
default:
|
|
145
|
+
return ".agent";
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
// Graceful shutdown
|
|
149
|
+
function handleSignal(signal) {
|
|
150
|
+
console.log(chalk.yellow(`\n\nReceived ${signal}. Exiting gracefully...`));
|
|
151
|
+
process.exit(0);
|
|
152
|
+
}
|
|
153
|
+
process.on("SIGINT", () => handleSignal("SIGINT"));
|
|
154
|
+
process.on("SIGTERM", () => handleSignal("SIGTERM"));
|
|
155
|
+
program.parse();
|
|
156
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crossBorder.d.ts","sourceRoot":"","sources":["../../src/templates/crossBorder.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAGpD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
import * as path from "path";
|
|
3
|
+
/**
|
|
4
|
+
* Cross Border skill template
|
|
5
|
+
*/
|
|
6
|
+
export function getCrossBorderSkillTemplate() {
|
|
7
|
+
const templatePath = path.join(__dirname, "crossBorder.md");
|
|
8
|
+
return fs.readFileSync(templatePath, "utf8");
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=crossBorder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crossBorder.js","sourceRoot":"","sources":["../../src/templates/crossBorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B;;GAEG;AACH,MAAM,UAAU,2BAA2B;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC5D,OAAO,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC"}
|