Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
"interface": {
"displayName": "Freshworks App Development",
"shortDescription": "Platform 3.0 apps: manifest, requests, OAuth, serverless, and UI.",
"longDescription": "Enforces Platform 3.0 patterns (modules, request templates, engines), Crayons UI, validation workflows, and slash commands /fdk-fix, /fdk-migrate, /fdk-refactor, /fdk-review. Does not install FDK or Node — pair with fw-setup."
"longDescription": "Enforces Platform 3.0 patterns (modules, request templates, engines), Crayons UI, validation workflows, and slash commands /fdk-fix, /fdk-migrate, /fdk-refactor. For structured pre-submission review, use fw-review skill. Does not install FDK or Node — pair with fw-setup."
}
},
{
Expand Down
2 changes: 1 addition & 1 deletion .cursor-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
"interface": {
"displayName": "Freshworks App Development",
"shortDescription": "Platform 3.0 apps: manifest, requests, OAuth, serverless, and UI.",
"longDescription": "Enforces Platform 3.0 patterns (modules, request templates, engines), Crayons UI, validation workflows, and slash commands /fdk-fix, /fdk-migrate, /fdk-refactor, /fdk-review. Does not install FDK or Node — pair with fw-setup."
"longDescription": "Enforces Platform 3.0 patterns (modules, request templates, engines), Crayons UI, validation workflows, and slash commands /fdk-fix, /fdk-migrate, /fdk-refactor. For structured pre-submission review, use fw-review skill. Does not install FDK or Node — pair with fw-setup."
}
},
{
Expand Down
4 changes: 1 addition & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ This repository **bundles MCP config at the root**: **`.mcp.json`** (`fw-dev-mcp

If **toolchain + app + publish** apply: **fw-setup** first, then **fw-app-dev** or **fw-ai-actions-app** (by task), **MANDATORY fw-review** before submission, then **fw-publish** when publishing.

**End-to-end reference (cold machine → ship):** **fw-setup** (FDK/Node) → **fw-app-dev** (full UI app) and/or **fw-ai-actions-app** (`actions.json` / SMI) → **MANDATORY fw-review** (structured audit; not the same as **fw-app-dev** `/fdk-review`) → **fw-publish** (MCP upload/submit). Humans: expanded narrative under **`README.md`** *From toolchain to marketplace (lifecycle)*; agents: tables above plus per-skill `SKILL.md`.
**End-to-end reference (cold machine → ship):** **fw-setup** (FDK/Node) → **fw-app-dev** (full UI app) and/or **fw-ai-actions-app** (`actions.json` / SMI) → **MANDATORY fw-review** (structured audit) → **fw-publish** (MCP upload/submit). Humans: expanded narrative under **`README.md`** *From toolchain to marketplace (lifecycle)*; agents: tables above plus per-skill `SKILL.md`.

## Non-negotiables (app work)

Expand All @@ -69,7 +69,6 @@ When generating or editing **Freshworks apps** (not this repo’s markdown), **`
- **`skills/fw-review/scripts/*.js`** — deterministic SC-* checks (not slash commands); mapped from `skills/fw-review/rules/script-check-rules.md`
- **`skills/*/references/**`** — load **on demand** (API, errors, events, playbooks); index: `skills/fw-app-dev/references/skill-advanced-topics.md`
- **`skills/*/assets/templates/**`** — app skeletons
- **`skills/fw-publish/subagents/**`** — optional deep-dive prompts (no `rules/` or `commands/` trees in that skill)
- **`.mcp.json`** (repository root) — canonical **`fw-dev-mcp`** MCP server URL + `Authorization` header shape; see **`skills/fw-publish/SKILL.md`** for Cursor vs Claude setup notes
- **`.claude/`** (repository root) — **not versioned**; create local Claude Code project settings if needed (MCP server id should match **`.mcp.json`** when configuring publish)
- **`.claude-plugin/marketplace.json`**, **`.cursor-plugin/marketplace.json`** — multi-skill registries (`name`: **`freshworks-dev-tools`**; **`displayName`**: **Freshworks Agentic Developer Toolkit**; optional **`logo`** → **`assets/fw-logo.svg`**); each plugin lists `author`, `license`, `category`, `strict`, `version`, optional `interface` (same pattern as [Salesforce B2C marketplace.json](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/main/.claude-plugin/marketplace.json)).
Expand Down Expand Up @@ -104,7 +103,6 @@ Use this list when adding or renaming files so **`.cursor-plugin/marketplace.jso
| `/fdk-fix` | `commands/fdk-fix.md` |
| `/fdk-migrate` | `commands/fdk-migrate.md` |
| `/fdk-refactor` | `commands/fdk-refactor.md` |
| `/fdk-review` | `commands/fdk-review.md` |

**Rules (`.mdc`):** `app-building-blocking-gates.mdc`, `app-templates.mdc`, `async-patterns.mdc`, `complexity-reduction.mdc`, `confusion.mdc`, `freshworks-platform3.mdc`, `platform3-modules-locations.mdc`, `prerequisites-check.mdc`, `smart-prerequisites-check.mdc`, `security.mdc`, `validation-workflow.mdc`

Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,6 @@ Scaffold and develop a Platform 3.0 app with Crayons UI, OAuth, and serverless f
|---------|-------------|
| `/fdk-fix` | Fix `fdk validate` errors automatically |
| `/fdk-migrate` | Upgrade a legacy 2.x app to Platform 3.0 |
| `/fdk-review` | Full app audit before submission |

> **Validation order:** fw-setup first (when Node/FDK is wrong) → `/fdk-migrate` (legacy apps) → `fdk validate`

Expand Down
1 change: 0 additions & 1 deletion TROUBLESHOOTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,6 @@ ls ~/.cursor/skills/fw-app-dev/commands/*.md
fdk-fix.md
fdk-migrate.md
fdk-refactor.md
fdk-review.md
```

**If you see NO .md files or they're in wrong location:**
Expand Down
3 changes: 1 addition & 2 deletions skills/fw-ai-actions-app/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,7 @@ claude plugin install fw-ai-actions-app@freshworks-developers
- **agents/** — Integration scoper, scope implementer, AI action integration validator
- **rules/** — Scoped `.mdc` rules (platform, schemas, server, requests, validation, test data, README, API docs). Full table in repo [`AGENTS.md`](../../AGENTS.md) (*Rules and slash commands* → **fw-ai-actions-app**).
- **references/** — `ai-actions-guide.md`, quick reference, core constraints
- **scripts/ai-actions-skeleton/** — Minimal starter files
- **assets/templates/ai-actions-skeleton/** — Fuller template (manifest, sample actions)
- **assets/templates/ai-actions-skeleton/** — Fuller template (manifest, sample actions, server handlers, test data)

## Requirements

Expand Down
5 changes: 2 additions & 3 deletions skills/fw-ai-actions-app/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,9 @@ app-root/

---

## Skeleton templates
## Skeleton template

- **`scripts/ai-actions-skeleton/`** — minimal starter (actions, config, server stub).
- **`assets/templates/ai-actions-skeleton/`** — fuller example (e.g. manifest, sample actions).
- **`assets/templates/ai-actions-skeleton/`** — Fuller template with manifest, sample actions (`getResource`, `createResource`), request templates, server handlers with error sanitization, and test data.

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"display_name": "API Base URL",
"description": "Base URL for the API (e.g., api.example.com)",
"type": "text",
"required": true
"required": true,
"default_value": "api.example.com"
}
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
/**
* AI Actions - Server Methods
*
* CRITICAL RULES:
* 1. Function name MUST match actions.json key exactly (case-sensitive)
* 2. Parameters MUST be flat (no nested objects/arrays in actions.json)
* 3. Construct nested structures HERE, not in actions.json
* 4. Use renderData(null, data) for success
* 5. Use renderData({ status, message }) for errors
* 6. Use $request.invokeTemplate() for external API calls
* 7. Keep complexity low (max 7) - extract helpers if needed
*/

// Sanitize before `renderData`: vendor error payloads may contain internal URLs, stack traces,
// tokens, or other sensitive data. Strip or map them to short, user-safe strings for the
// `message` passed to `renderData`; log the full error server-side only.
Expand Down
36 changes: 0 additions & 36 deletions skills/fw-ai-actions-app/scripts/ai-actions-skeleton/actions.json

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

9 changes: 2 additions & 7 deletions skills/fw-app-dev/.cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "fw-app-dev",
"displayName": "Freshworks App Development",
"version": "1.0.0",
"description": "Expert-level development skill for building, debugging, reviewing, and migrating Freshworks Platform 3.0 custom apps. Provides /fdk-fix, /fdk-migrate, /fdk-refactor, /fdk-review commands.",
"description": "Expert-level development skill for building, debugging, and migrating Freshworks Platform 3.0 custom apps. Provides /fdk-fix, /fdk-migrate, /fdk-refactor commands.",
"author": {
"name": "Freshworks Developers",
"email": "skills@dev-assist.freshservice.com"
Expand All @@ -22,7 +22,7 @@
"interface": {
"displayName": "Freshworks App Development",
"shortDescription": "Platform 3.0 apps: manifest, requests, OAuth, serverless, and Crayons UI.",
"longDescription": "Enforces Platform 3.0 patterns with slash commands /fdk-fix, /fdk-migrate, /fdk-refactor, /fdk-review. Does not install FDK or Node — use the fw-setup skill for the toolchain."
"longDescription": "Enforces Platform 3.0 patterns with slash commands /fdk-fix, /fdk-migrate, /fdk-refactor. For structured pre-submission review, use the fw-review skill. Does not install FDK or Node — use the fw-setup skill for the toolchain."
},
"category": "developer-tools",
"tags": [
Expand All @@ -47,11 +47,6 @@
"name": "fdk-refactor",
"description": "Reduce function complexity to meet cyclomatic complexity ≤ 7",
"file": "commands/fdk-refactor.md"
},
{
"name": "fdk-review",
"description": "Review app using multiple rounds of fdk validate",
"file": "commands/fdk-review.md"
}
]
}
1 change: 0 additions & 1 deletion skills/fw-app-dev/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ The plugin should appear in Cursor Settings → Plugins → Installed Plugins.
- `/fdk-fix` — `commands/fdk-fix.md` — Fix platform and lint errors
- `/fdk-migrate` — `commands/fdk-migrate.md` — Migrate **Platform 2.3** (2.x), **FDK 9.x**, **Node 18** → **Platform 3.0**, **FDK 10.0.1**, **Node 24**
- `/fdk-refactor` — `commands/fdk-refactor.md` — Reduce function complexity (≤ 7)
- `/fdk-review` — `commands/fdk-review.md` — Run 3 rounds of `fdk validate`

**References:**
- Progressive disclosure documentation (140+ files)
Expand Down
Loading