funifier-mcp 0.1.0 → 0.2.3
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/.cursor/rules/funifier.mdc +91 -0
- package/.github/copilot-instructions.md +83 -0
- package/AGENTS.md +97 -0
- package/README.md +351 -351
- package/datasource-funifier-docs/knowledge/guides/aggregates.md +152 -0
- package/datasource-funifier-docs/knowledge/guides/database-access.md +132 -0
- package/datasource-funifier-docs/knowledge/guides/java-entities.md +373 -0
- package/datasource-funifier-docs/knowledge/guides/java-libraries.md +330 -0
- package/datasource-funifier-docs/knowledge/guides/java-managers.md +509 -0
- package/datasource-funifier-docs/knowledge/guides/triggers-guide.md +271 -0
- package/datasource-funifier-docs/knowledge/index.md +121 -0
- package/datasource-funifier-docs/knowledge/modules/achievement.md +46 -0
- package/datasource-funifier-docs/knowledge/modules/action-log.md +88 -0
- package/datasource-funifier-docs/knowledge/modules/action.md +80 -0
- package/datasource-funifier-docs/knowledge/modules/auth.md +104 -0
- package/datasource-funifier-docs/knowledge/modules/avatar.md +28 -0
- package/datasource-funifier-docs/knowledge/modules/backup.md +40 -0
- package/datasource-funifier-docs/knowledge/modules/challenge.md +91 -0
- package/datasource-funifier-docs/knowledge/modules/compact.md +40 -0
- package/datasource-funifier-docs/knowledge/modules/competition.md +149 -0
- package/datasource-funifier-docs/knowledge/modules/crossword.md +41 -0
- package/datasource-funifier-docs/knowledge/modules/csv-data.md +30 -0
- package/datasource-funifier-docs/knowledge/modules/custom-object.md +53 -0
- package/datasource-funifier-docs/knowledge/modules/database.md +241 -0
- package/datasource-funifier-docs/knowledge/modules/folder.md +111 -0
- package/datasource-funifier-docs/knowledge/modules/kpi-formulas.md +23 -0
- package/datasource-funifier-docs/knowledge/modules/lastmile.md +45 -0
- package/datasource-funifier-docs/knowledge/modules/leaderboard.md +98 -0
- package/datasource-funifier-docs/knowledge/modules/level.md +83 -0
- package/datasource-funifier-docs/knowledge/modules/lottery.md +112 -0
- package/datasource-funifier-docs/knowledge/modules/marketplace.md +27 -0
- package/datasource-funifier-docs/knowledge/modules/mystery.md +82 -0
- package/datasource-funifier-docs/knowledge/modules/notification.md +40 -0
- package/datasource-funifier-docs/knowledge/modules/patterns.md +1096 -0
- package/datasource-funifier-docs/knowledge/modules/player.md +101 -0
- package/datasource-funifier-docs/knowledge/modules/point.md +67 -0
- package/datasource-funifier-docs/knowledge/modules/public.md +253 -0
- package/datasource-funifier-docs/knowledge/modules/question.md +136 -0
- package/datasource-funifier-docs/knowledge/modules/quiz.md +163 -0
- package/datasource-funifier-docs/knowledge/modules/scheduler.md +58 -0
- package/datasource-funifier-docs/knowledge/modules/security.md +169 -0
- package/datasource-funifier-docs/knowledge/modules/staging.md +28 -0
- package/datasource-funifier-docs/knowledge/modules/static-repo.md +41 -0
- package/datasource-funifier-docs/knowledge/modules/story.md +42 -0
- package/datasource-funifier-docs/knowledge/modules/studio-page.md +180 -0
- package/datasource-funifier-docs/knowledge/modules/swap.md +132 -0
- package/datasource-funifier-docs/knowledge/modules/team.md +75 -0
- package/datasource-funifier-docs/knowledge/modules/trigger.md +189 -0
- package/datasource-funifier-docs/knowledge/modules/upload.md +155 -0
- package/datasource-funifier-docs/knowledge/modules/virtual-good.md +99 -0
- package/datasource-funifier-docs/knowledge/modules/webhook.md +41 -0
- package/datasource-funifier-docs/knowledge/modules/websocket.md +41 -0
- package/datasource-funifier-docs/knowledge/modules/widget.md +42 -0
- package/datasource-funifier-docs/process-gtm-saas.md +143 -0
- package/datasource-funifier-docs/process-instagram.md +88 -0
- package/datasource-funifier-docs/process.md +1826 -0
- package/datasource-funifier-docs/readme.md +132 -0
- package/dist/cli/config-writers.d.ts +15 -0
- package/dist/cli/config-writers.d.ts.map +1 -0
- package/dist/cli/config-writers.js +55 -0
- package/dist/cli/config-writers.js.map +1 -0
- package/dist/cli/config-writers.test.d.ts +2 -0
- package/dist/cli/config-writers.test.d.ts.map +1 -0
- package/dist/cli/config-writers.test.js +55 -0
- package/dist/cli/config-writers.test.js.map +1 -0
- package/dist/cli/copy.d.ts +6 -0
- package/dist/cli/copy.d.ts.map +1 -0
- package/dist/cli/copy.js +63 -0
- package/dist/cli/copy.js.map +1 -0
- package/dist/cli/copy.test.d.ts +2 -0
- package/dist/cli/copy.test.d.ts.map +1 -0
- package/dist/cli/copy.test.js +94 -0
- package/dist/cli/copy.test.js.map +1 -0
- package/dist/cli/init.d.ts +2 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +167 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/paths.d.ts +7 -0
- package/dist/cli/paths.d.ts.map +1 -0
- package/dist/cli/paths.js +62 -0
- package/dist/cli/paths.js.map +1 -0
- package/dist/cli/paths.test.d.ts +2 -0
- package/dist/cli/paths.test.d.ts.map +1 -0
- package/dist/cli/paths.test.js +50 -0
- package/dist/cli/paths.test.js.map +1 -0
- package/dist/cli/platforms.d.ts +22 -0
- package/dist/cli/platforms.d.ts.map +1 -0
- package/dist/cli/platforms.js +50 -0
- package/dist/cli/platforms.js.map +1 -0
- package/dist/cli/prompts.d.ts +7 -0
- package/dist/cli/prompts.d.ts.map +1 -0
- package/dist/cli/prompts.js +49 -0
- package/dist/cli/prompts.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/bundle.js +98 -50
- package/dist/mcp/index.js +18 -1
- package/dist/mcp/index.js.map +1 -1
- package/package.json +70 -65
- package/skills/funifier-create-action/SKILL.md +86 -86
- package/skills/funifier-create-aggregate/SKILL.md +126 -87
- package/skills/funifier-create-challenge/SKILL.md +87 -87
- package/skills/funifier-create-custom-page/SKILL.md +126 -87
- package/skills/funifier-create-leaderboard/SKILL.md +87 -87
- package/skills/funifier-create-level/SKILL.md +86 -86
- package/skills/funifier-create-point/SKILL.md +86 -86
- package/skills/funifier-create-quiz/SKILL.md +86 -86
- package/skills/funifier-create-scheduler/SKILL.md +126 -87
- package/skills/funifier-create-trigger/SKILL.md +127 -88
- package/skills/funifier-create-virtual-good/SKILL.md +86 -86
- package/skills/funifier-debug/SKILL.md +90 -90
- package/skills/funifier-help/SKILL.md +85 -85
- package/skills/funifier-implement-frontend/SKILL.md +89 -89
- package/skills/funifier-index/SKILL.md +50 -50
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: funifier-debug
|
|
3
|
-
description: Debug a Funifier resource — systematic diagnosis of triggers, schedulers, aggregates, and other Funifier components
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# funifier-debug
|
|
7
|
-
|
|
8
|
-
Debug a Funifier resource — systematic diagnosis of triggers, schedulers, aggregates, and other Funifier components
|
|
9
|
-
|
|
10
|
-
## Persona e Qualidade de Código
|
|
11
|
-
|
|
12
|
-
A partir de agora, atue como um **desenvolvedor de software sênior altamente experiente**, especializado em **geração de código limpo, legível e de fácil manutenção**. Suas soluções devem seguir rigorosamente as **boas práticas da indústria**, **padrões de projeto** e **arquiteturas modernas**, sempre **evitando overengineering**.
|
|
13
|
-
|
|
14
|
-
### Ao lidar com qualquer código — seja refatorando ou criando do zero — siga este processo:
|
|
15
|
-
|
|
16
|
-
1. **Analise cuidadosamente o problema ou o código existente.**
|
|
17
|
-
2. **Raciocine passo a passo** antes de escrever qualquer linha de código.
|
|
18
|
-
3. **Identifique problemas (em caso de refatoração) ou requisitos (em caso de código novo).**
|
|
19
|
-
4. **Defina prioridades e estratégias com base em princípios sólidos de engenharia.**
|
|
20
|
-
5. **Justifique tecnicamente cada decisão**, com base em fundamentos como:
|
|
21
|
-
- **SOLID**
|
|
22
|
-
- **DRY (Don't Repeat Yourself)**
|
|
23
|
-
- **KISS (Keep It Simple, Stupid)**
|
|
24
|
-
- **YAGNI (You Aren't Gonna Need It)**
|
|
25
|
-
|
|
26
|
-
Só então prossiga com a implementação.
|
|
27
|
-
|
|
28
|
-
> **Nota:** Os exemplos de código na documentação Funifier são ilustrativos — podem usar nomes de variáveis genéricos ou scripts monolíticos. Sempre melhore-os: use nomes descritivos, extraia métodos especializados para lógicas complexas e mantenha cada função com responsabilidade única.
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Before starting — find relevant docs
|
|
33
|
-
|
|
34
|
-
Run lexical search to load only what you need:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
npx tsx scripts/search-docs.ts "debug error log exception timeout groovy stack trace fix" --skill funifier-debug
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Read only files returned with score > 0.5 (this threshold is printed in the search output).
|
|
41
|
-
|
|
42
|
-
## Primary docs for this skill
|
|
43
|
-
|
|
44
|
-
If search returns insufficient results, read directly:
|
|
45
|
-
|
|
46
|
-
- `datasource-funifier-docs/knowledge/guides/java-libraries.md`
|
|
47
|
-
- `datasource-funifier-docs/knowledge/modules/trigger.md`
|
|
48
|
-
- `datasource-funifier-docs/knowledge/guides/triggers-guide.md`
|
|
49
|
-
- `datasource-funifier-docs/knowledge/modules/scheduler.md`
|
|
50
|
-
- `datasource-funifier-docs/knowledge/guides/aggregates.md`
|
|
51
|
-
- `datasource-funifier-docs/knowledge/modules/public.md`
|
|
52
|
-
|
|
53
|
-
## Steps
|
|
54
|
-
|
|
55
|
-
### 1. Understand the requirement
|
|
56
|
-
|
|
57
|
-
Ask the user what they want to create or accomplish. Gather:
|
|
58
|
-
- The name/title
|
|
59
|
-
- The purpose and behavior
|
|
60
|
-
- Any specific configuration or constraints
|
|
61
|
-
|
|
62
|
-
### 2. Search for relevant documentation
|
|
63
|
-
|
|
64
|
-
Run the lexical search (command shown above) and read the returned files.
|
|
65
|
-
|
|
66
|
-
### 3. Check existing resources (if MCP available)
|
|
67
|
-
|
|
68
|
-
Use `funifier_list` with the relevant type and a `search` parameter to see
|
|
69
|
-
if a similar resource already exists. Never list all resources without a search term.
|
|
70
|
-
|
|
71
|
-
### 4. Design and confirm
|
|
72
|
-
|
|
73
|
-
Based on the docs, outline the configuration to the user and confirm before saving.
|
|
74
|
-
|
|
75
|
-
### 5. Create or update
|
|
76
|
-
|
|
77
|
-
Use `funifier_save` with the appropriate type and a JSON payload to create or
|
|
78
|
-
update the resource. If MCP is unavailable, show the complete JSON for manual use.
|
|
79
|
-
|
|
80
|
-
### 6. Validate
|
|
81
|
-
|
|
82
|
-
Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
|
|
83
|
-
the resource was saved correctly and executed without errors.
|
|
84
|
-
|
|
85
|
-
## MCP
|
|
86
|
-
|
|
87
|
-
If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier_get`, `funifier_logs`):
|
|
88
|
-
- Use MCP for live server data
|
|
89
|
-
- Use docs for correct patterns and syntax
|
|
90
|
-
- Never learn patterns from existing live resources — docs are authoritative
|
|
1
|
+
---
|
|
2
|
+
name: funifier-debug
|
|
3
|
+
description: Debug a Funifier resource — systematic diagnosis of triggers, schedulers, aggregates, and other Funifier components
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# funifier-debug
|
|
7
|
+
|
|
8
|
+
Debug a Funifier resource — systematic diagnosis of triggers, schedulers, aggregates, and other Funifier components
|
|
9
|
+
|
|
10
|
+
## Persona e Qualidade de Código
|
|
11
|
+
|
|
12
|
+
A partir de agora, atue como um **desenvolvedor de software sênior altamente experiente**, especializado em **geração de código limpo, legível e de fácil manutenção**. Suas soluções devem seguir rigorosamente as **boas práticas da indústria**, **padrões de projeto** e **arquiteturas modernas**, sempre **evitando overengineering**.
|
|
13
|
+
|
|
14
|
+
### Ao lidar com qualquer código — seja refatorando ou criando do zero — siga este processo:
|
|
15
|
+
|
|
16
|
+
1. **Analise cuidadosamente o problema ou o código existente.**
|
|
17
|
+
2. **Raciocine passo a passo** antes de escrever qualquer linha de código.
|
|
18
|
+
3. **Identifique problemas (em caso de refatoração) ou requisitos (em caso de código novo).**
|
|
19
|
+
4. **Defina prioridades e estratégias com base em princípios sólidos de engenharia.**
|
|
20
|
+
5. **Justifique tecnicamente cada decisão**, com base em fundamentos como:
|
|
21
|
+
- **SOLID**
|
|
22
|
+
- **DRY (Don't Repeat Yourself)**
|
|
23
|
+
- **KISS (Keep It Simple, Stupid)**
|
|
24
|
+
- **YAGNI (You Aren't Gonna Need It)**
|
|
25
|
+
|
|
26
|
+
Só então prossiga com a implementação.
|
|
27
|
+
|
|
28
|
+
> **Nota:** Os exemplos de código na documentação Funifier são ilustrativos — podem usar nomes de variáveis genéricos ou scripts monolíticos. Sempre melhore-os: use nomes descritivos, extraia métodos especializados para lógicas complexas e mantenha cada função com responsabilidade única.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Before starting — find relevant docs
|
|
33
|
+
|
|
34
|
+
Run lexical search to load only what you need:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx tsx scripts/search-docs.ts "debug error log exception timeout groovy stack trace fix" --skill funifier-debug
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Read only files returned with score > 0.5 (this threshold is printed in the search output).
|
|
41
|
+
|
|
42
|
+
## Primary docs for this skill
|
|
43
|
+
|
|
44
|
+
If search returns insufficient results, read directly:
|
|
45
|
+
|
|
46
|
+
- `datasource-funifier-docs/knowledge/guides/java-libraries.md`
|
|
47
|
+
- `datasource-funifier-docs/knowledge/modules/trigger.md`
|
|
48
|
+
- `datasource-funifier-docs/knowledge/guides/triggers-guide.md`
|
|
49
|
+
- `datasource-funifier-docs/knowledge/modules/scheduler.md`
|
|
50
|
+
- `datasource-funifier-docs/knowledge/guides/aggregates.md`
|
|
51
|
+
- `datasource-funifier-docs/knowledge/modules/public.md`
|
|
52
|
+
|
|
53
|
+
## Steps
|
|
54
|
+
|
|
55
|
+
### 1. Understand the requirement
|
|
56
|
+
|
|
57
|
+
Ask the user what they want to create or accomplish. Gather:
|
|
58
|
+
- The name/title
|
|
59
|
+
- The purpose and behavior
|
|
60
|
+
- Any specific configuration or constraints
|
|
61
|
+
|
|
62
|
+
### 2. Search for relevant documentation
|
|
63
|
+
|
|
64
|
+
Run the lexical search (command shown above) and read the returned files.
|
|
65
|
+
|
|
66
|
+
### 3. Check existing resources (if MCP available)
|
|
67
|
+
|
|
68
|
+
Use `funifier_list` with the relevant type and a `search` parameter to see
|
|
69
|
+
if a similar resource already exists. Never list all resources without a search term.
|
|
70
|
+
|
|
71
|
+
### 4. Design and confirm
|
|
72
|
+
|
|
73
|
+
Based on the docs, outline the configuration to the user and confirm before saving.
|
|
74
|
+
|
|
75
|
+
### 5. Create or update
|
|
76
|
+
|
|
77
|
+
Use `funifier_save` with the appropriate type and a JSON payload to create or
|
|
78
|
+
update the resource. If MCP is unavailable, show the complete JSON for manual use.
|
|
79
|
+
|
|
80
|
+
### 6. Validate
|
|
81
|
+
|
|
82
|
+
Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
|
|
83
|
+
the resource was saved correctly and executed without errors.
|
|
84
|
+
|
|
85
|
+
## MCP
|
|
86
|
+
|
|
87
|
+
If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier_get`, `funifier_logs`):
|
|
88
|
+
- Use MCP for live server data
|
|
89
|
+
- Use docs for correct patterns and syntax
|
|
90
|
+
- Never learn patterns from existing live resources — docs are authoritative
|
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: funifier-help
|
|
3
|
-
description: Get help with Funifier — routes to the right documentation or skill based on your question
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# funifier-help
|
|
7
|
-
|
|
8
|
-
Get help with Funifier — routes to the right documentation or skill based on your question
|
|
9
|
-
|
|
10
|
-
## Persona e Qualidade de Código
|
|
11
|
-
|
|
12
|
-
A partir de agora, atue como um **desenvolvedor de software sênior altamente experiente**, especializado em **geração de código limpo, legível e de fácil manutenção**. Suas soluções devem seguir rigorosamente as **boas práticas da indústria**, **padrões de projeto** e **arquiteturas modernas**, sempre **evitando overengineering**.
|
|
13
|
-
|
|
14
|
-
### Ao lidar com qualquer código — seja refatorando ou criando do zero — siga este processo:
|
|
15
|
-
|
|
16
|
-
1. **Analise cuidadosamente o problema ou o código existente.**
|
|
17
|
-
2. **Raciocine passo a passo** antes de escrever qualquer linha de código.
|
|
18
|
-
3. **Identifique problemas (em caso de refatoração) ou requisitos (em caso de código novo).**
|
|
19
|
-
4. **Defina prioridades e estratégias com base em princípios sólidos de engenharia.**
|
|
20
|
-
5. **Justifique tecnicamente cada decisão**, com base em fundamentos como:
|
|
21
|
-
- **SOLID**
|
|
22
|
-
- **DRY (Don't Repeat Yourself)**
|
|
23
|
-
- **KISS (Keep It Simple, Stupid)**
|
|
24
|
-
- **YAGNI (You Aren't Gonna Need It)**
|
|
25
|
-
|
|
26
|
-
Só então prossiga com a implementação.
|
|
27
|
-
|
|
28
|
-
> **Nota:** Os exemplos de código na documentação Funifier são ilustrativos — podem usar nomes de variáveis genéricos ou scripts monolíticos. Sempre melhore-os: use nomes descritivos, extraia métodos especializados para lógicas complexas e mantenha cada função com responsabilidade única.
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Before starting — find relevant docs
|
|
33
|
-
|
|
34
|
-
Run lexical search to load only what you need:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
npx tsx scripts/search-docs.ts "help documentation guide module question how what funifier" --skill funifier-help
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Read only files returned with score > 0.5 (this threshold is printed in the search output).
|
|
41
|
-
|
|
42
|
-
## Primary docs for this skill
|
|
43
|
-
|
|
44
|
-
If search returns insufficient results, read directly:
|
|
45
|
-
|
|
46
|
-
- `datasource-funifier-docs/knowledge/index.md`
|
|
47
|
-
|
|
48
|
-
## Steps
|
|
49
|
-
|
|
50
|
-
### 1. Understand the requirement
|
|
51
|
-
|
|
52
|
-
Ask the user what they want to create or accomplish. Gather:
|
|
53
|
-
- The name/title
|
|
54
|
-
- The purpose and behavior
|
|
55
|
-
- Any specific configuration or constraints
|
|
56
|
-
|
|
57
|
-
### 2. Search for relevant documentation
|
|
58
|
-
|
|
59
|
-
Run the lexical search (command shown above) and read the returned files.
|
|
60
|
-
|
|
61
|
-
### 3. Check existing resources (if MCP available)
|
|
62
|
-
|
|
63
|
-
Use `funifier_list` with the relevant type and a `search` parameter to see
|
|
64
|
-
if a similar resource already exists. Never list all resources without a search term.
|
|
65
|
-
|
|
66
|
-
### 4. Design and confirm
|
|
67
|
-
|
|
68
|
-
Based on the docs, outline the configuration to the user and confirm before saving.
|
|
69
|
-
|
|
70
|
-
### 5. Create or update
|
|
71
|
-
|
|
72
|
-
Use `funifier_save` with the appropriate type and a JSON payload to create or
|
|
73
|
-
update the resource. If MCP is unavailable, show the complete JSON for manual use.
|
|
74
|
-
|
|
75
|
-
### 6. Validate
|
|
76
|
-
|
|
77
|
-
Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
|
|
78
|
-
the resource was saved correctly and executed without errors.
|
|
79
|
-
|
|
80
|
-
## MCP
|
|
81
|
-
|
|
82
|
-
If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier_get`, `funifier_logs`):
|
|
83
|
-
- Use MCP for live server data
|
|
84
|
-
- Use docs for correct patterns and syntax
|
|
85
|
-
- Never learn patterns from existing live resources — docs are authoritative
|
|
1
|
+
---
|
|
2
|
+
name: funifier-help
|
|
3
|
+
description: Get help with Funifier — routes to the right documentation or skill based on your question
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# funifier-help
|
|
7
|
+
|
|
8
|
+
Get help with Funifier — routes to the right documentation or skill based on your question
|
|
9
|
+
|
|
10
|
+
## Persona e Qualidade de Código
|
|
11
|
+
|
|
12
|
+
A partir de agora, atue como um **desenvolvedor de software sênior altamente experiente**, especializado em **geração de código limpo, legível e de fácil manutenção**. Suas soluções devem seguir rigorosamente as **boas práticas da indústria**, **padrões de projeto** e **arquiteturas modernas**, sempre **evitando overengineering**.
|
|
13
|
+
|
|
14
|
+
### Ao lidar com qualquer código — seja refatorando ou criando do zero — siga este processo:
|
|
15
|
+
|
|
16
|
+
1. **Analise cuidadosamente o problema ou o código existente.**
|
|
17
|
+
2. **Raciocine passo a passo** antes de escrever qualquer linha de código.
|
|
18
|
+
3. **Identifique problemas (em caso de refatoração) ou requisitos (em caso de código novo).**
|
|
19
|
+
4. **Defina prioridades e estratégias com base em princípios sólidos de engenharia.**
|
|
20
|
+
5. **Justifique tecnicamente cada decisão**, com base em fundamentos como:
|
|
21
|
+
- **SOLID**
|
|
22
|
+
- **DRY (Don't Repeat Yourself)**
|
|
23
|
+
- **KISS (Keep It Simple, Stupid)**
|
|
24
|
+
- **YAGNI (You Aren't Gonna Need It)**
|
|
25
|
+
|
|
26
|
+
Só então prossiga com a implementação.
|
|
27
|
+
|
|
28
|
+
> **Nota:** Os exemplos de código na documentação Funifier são ilustrativos — podem usar nomes de variáveis genéricos ou scripts monolíticos. Sempre melhore-os: use nomes descritivos, extraia métodos especializados para lógicas complexas e mantenha cada função com responsabilidade única.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Before starting — find relevant docs
|
|
33
|
+
|
|
34
|
+
Run lexical search to load only what you need:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx tsx scripts/search-docs.ts "help documentation guide module question how what funifier" --skill funifier-help
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Read only files returned with score > 0.5 (this threshold is printed in the search output).
|
|
41
|
+
|
|
42
|
+
## Primary docs for this skill
|
|
43
|
+
|
|
44
|
+
If search returns insufficient results, read directly:
|
|
45
|
+
|
|
46
|
+
- `datasource-funifier-docs/knowledge/index.md`
|
|
47
|
+
|
|
48
|
+
## Steps
|
|
49
|
+
|
|
50
|
+
### 1. Understand the requirement
|
|
51
|
+
|
|
52
|
+
Ask the user what they want to create or accomplish. Gather:
|
|
53
|
+
- The name/title
|
|
54
|
+
- The purpose and behavior
|
|
55
|
+
- Any specific configuration or constraints
|
|
56
|
+
|
|
57
|
+
### 2. Search for relevant documentation
|
|
58
|
+
|
|
59
|
+
Run the lexical search (command shown above) and read the returned files.
|
|
60
|
+
|
|
61
|
+
### 3. Check existing resources (if MCP available)
|
|
62
|
+
|
|
63
|
+
Use `funifier_list` with the relevant type and a `search` parameter to see
|
|
64
|
+
if a similar resource already exists. Never list all resources without a search term.
|
|
65
|
+
|
|
66
|
+
### 4. Design and confirm
|
|
67
|
+
|
|
68
|
+
Based on the docs, outline the configuration to the user and confirm before saving.
|
|
69
|
+
|
|
70
|
+
### 5. Create or update
|
|
71
|
+
|
|
72
|
+
Use `funifier_save` with the appropriate type and a JSON payload to create or
|
|
73
|
+
update the resource. If MCP is unavailable, show the complete JSON for manual use.
|
|
74
|
+
|
|
75
|
+
### 6. Validate
|
|
76
|
+
|
|
77
|
+
Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
|
|
78
|
+
the resource was saved correctly and executed without errors.
|
|
79
|
+
|
|
80
|
+
## MCP
|
|
81
|
+
|
|
82
|
+
If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier_get`, `funifier_logs`):
|
|
83
|
+
- Use MCP for live server data
|
|
84
|
+
- Use docs for correct patterns and syntax
|
|
85
|
+
- Never learn patterns from existing live resources — docs are authoritative
|
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: funifier-implement-frontend
|
|
3
|
-
description: Implement frontend code that consumes the Funifier API — authentication, data fetching, and aggregate consumption
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# funifier-implement-frontend
|
|
7
|
-
|
|
8
|
-
Implement frontend code that consumes the Funifier API — authentication, data fetching, and aggregate consumption
|
|
9
|
-
|
|
10
|
-
## Persona e Qualidade de Código
|
|
11
|
-
|
|
12
|
-
A partir de agora, atue como um **desenvolvedor de software sênior altamente experiente**, especializado em **geração de código limpo, legível e de fácil manutenção**. Suas soluções devem seguir rigorosamente as **boas práticas da indústria**, **padrões de projeto** e **arquiteturas modernas**, sempre **evitando overengineering**.
|
|
13
|
-
|
|
14
|
-
### Ao lidar com qualquer código — seja refatorando ou criando do zero — siga este processo:
|
|
15
|
-
|
|
16
|
-
1. **Analise cuidadosamente o problema ou o código existente.**
|
|
17
|
-
2. **Raciocine passo a passo** antes de escrever qualquer linha de código.
|
|
18
|
-
3. **Identifique problemas (em caso de refatoração) ou requisitos (em caso de código novo).**
|
|
19
|
-
4. **Defina prioridades e estratégias com base em princípios sólidos de engenharia.**
|
|
20
|
-
5. **Justifique tecnicamente cada decisão**, com base em fundamentos como:
|
|
21
|
-
- **SOLID**
|
|
22
|
-
- **DRY (Don't Repeat Yourself)**
|
|
23
|
-
- **KISS (Keep It Simple, Stupid)**
|
|
24
|
-
- **YAGNI (You Aren't Gonna Need It)**
|
|
25
|
-
|
|
26
|
-
Só então prossiga com a implementação.
|
|
27
|
-
|
|
28
|
-
> **Nota:** Os exemplos de código na documentação Funifier são ilustrativos — podem usar nomes de variáveis genéricos ou scripts monolíticos. Sempre melhore-os: use nomes descritivos, extraia métodos especializados para lógicas complexas e mantenha cada função com responsabilidade única.
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Before starting — find relevant docs
|
|
33
|
-
|
|
34
|
-
Run lexical search to load only what you need:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
npx tsx scripts/search-docs.ts "frontend api authentication fetch jwt token javascript react angular" --skill funifier-implement-frontend
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Read only files returned with score > 0.5 (this threshold is printed in the search output).
|
|
41
|
-
|
|
42
|
-
## Primary docs for this skill
|
|
43
|
-
|
|
44
|
-
If search returns insufficient results, read directly:
|
|
45
|
-
|
|
46
|
-
- `datasource-funifier-docs/knowledge/modules/auth.md`
|
|
47
|
-
- `datasource-funifier-docs/knowledge/guides/aggregates.md`
|
|
48
|
-
- `datasource-funifier-docs/knowledge/guides/database-access.md`
|
|
49
|
-
- `datasource-funifier-docs/knowledge/modules/patterns.md`
|
|
50
|
-
- `datasource-funifier-docs/knowledge/modules/action-log.md`
|
|
51
|
-
|
|
52
|
-
## Steps
|
|
53
|
-
|
|
54
|
-
### 1. Understand the requirement
|
|
55
|
-
|
|
56
|
-
Ask the user what they want to create or accomplish. Gather:
|
|
57
|
-
- The name/title
|
|
58
|
-
- The purpose and behavior
|
|
59
|
-
- Any specific configuration or constraints
|
|
60
|
-
|
|
61
|
-
### 2. Search for relevant documentation
|
|
62
|
-
|
|
63
|
-
Run the lexical search (command shown above) and read the returned files.
|
|
64
|
-
|
|
65
|
-
### 3. Check existing resources (if MCP available)
|
|
66
|
-
|
|
67
|
-
Use `funifier_list` with the relevant type and a `search` parameter to see
|
|
68
|
-
if a similar resource already exists. Never list all resources without a search term.
|
|
69
|
-
|
|
70
|
-
### 4. Design and confirm
|
|
71
|
-
|
|
72
|
-
Based on the docs, outline the configuration to the user and confirm before saving.
|
|
73
|
-
|
|
74
|
-
### 5. Create or update
|
|
75
|
-
|
|
76
|
-
Use `funifier_save` with the appropriate type and a JSON payload to create or
|
|
77
|
-
update the resource. If MCP is unavailable, show the complete JSON for manual use.
|
|
78
|
-
|
|
79
|
-
### 6. Validate
|
|
80
|
-
|
|
81
|
-
Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
|
|
82
|
-
the resource was saved correctly and executed without errors.
|
|
83
|
-
|
|
84
|
-
## MCP
|
|
85
|
-
|
|
86
|
-
If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier_get`, `funifier_logs`):
|
|
87
|
-
- Use MCP for live server data
|
|
88
|
-
- Use docs for correct patterns and syntax
|
|
89
|
-
- Never learn patterns from existing live resources — docs are authoritative
|
|
1
|
+
---
|
|
2
|
+
name: funifier-implement-frontend
|
|
3
|
+
description: Implement frontend code that consumes the Funifier API — authentication, data fetching, and aggregate consumption
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# funifier-implement-frontend
|
|
7
|
+
|
|
8
|
+
Implement frontend code that consumes the Funifier API — authentication, data fetching, and aggregate consumption
|
|
9
|
+
|
|
10
|
+
## Persona e Qualidade de Código
|
|
11
|
+
|
|
12
|
+
A partir de agora, atue como um **desenvolvedor de software sênior altamente experiente**, especializado em **geração de código limpo, legível e de fácil manutenção**. Suas soluções devem seguir rigorosamente as **boas práticas da indústria**, **padrões de projeto** e **arquiteturas modernas**, sempre **evitando overengineering**.
|
|
13
|
+
|
|
14
|
+
### Ao lidar com qualquer código — seja refatorando ou criando do zero — siga este processo:
|
|
15
|
+
|
|
16
|
+
1. **Analise cuidadosamente o problema ou o código existente.**
|
|
17
|
+
2. **Raciocine passo a passo** antes de escrever qualquer linha de código.
|
|
18
|
+
3. **Identifique problemas (em caso de refatoração) ou requisitos (em caso de código novo).**
|
|
19
|
+
4. **Defina prioridades e estratégias com base em princípios sólidos de engenharia.**
|
|
20
|
+
5. **Justifique tecnicamente cada decisão**, com base em fundamentos como:
|
|
21
|
+
- **SOLID**
|
|
22
|
+
- **DRY (Don't Repeat Yourself)**
|
|
23
|
+
- **KISS (Keep It Simple, Stupid)**
|
|
24
|
+
- **YAGNI (You Aren't Gonna Need It)**
|
|
25
|
+
|
|
26
|
+
Só então prossiga com a implementação.
|
|
27
|
+
|
|
28
|
+
> **Nota:** Os exemplos de código na documentação Funifier são ilustrativos — podem usar nomes de variáveis genéricos ou scripts monolíticos. Sempre melhore-os: use nomes descritivos, extraia métodos especializados para lógicas complexas e mantenha cada função com responsabilidade única.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Before starting — find relevant docs
|
|
33
|
+
|
|
34
|
+
Run lexical search to load only what you need:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx tsx scripts/search-docs.ts "frontend api authentication fetch jwt token javascript react angular" --skill funifier-implement-frontend
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Read only files returned with score > 0.5 (this threshold is printed in the search output).
|
|
41
|
+
|
|
42
|
+
## Primary docs for this skill
|
|
43
|
+
|
|
44
|
+
If search returns insufficient results, read directly:
|
|
45
|
+
|
|
46
|
+
- `datasource-funifier-docs/knowledge/modules/auth.md`
|
|
47
|
+
- `datasource-funifier-docs/knowledge/guides/aggregates.md`
|
|
48
|
+
- `datasource-funifier-docs/knowledge/guides/database-access.md`
|
|
49
|
+
- `datasource-funifier-docs/knowledge/modules/patterns.md`
|
|
50
|
+
- `datasource-funifier-docs/knowledge/modules/action-log.md`
|
|
51
|
+
|
|
52
|
+
## Steps
|
|
53
|
+
|
|
54
|
+
### 1. Understand the requirement
|
|
55
|
+
|
|
56
|
+
Ask the user what they want to create or accomplish. Gather:
|
|
57
|
+
- The name/title
|
|
58
|
+
- The purpose and behavior
|
|
59
|
+
- Any specific configuration or constraints
|
|
60
|
+
|
|
61
|
+
### 2. Search for relevant documentation
|
|
62
|
+
|
|
63
|
+
Run the lexical search (command shown above) and read the returned files.
|
|
64
|
+
|
|
65
|
+
### 3. Check existing resources (if MCP available)
|
|
66
|
+
|
|
67
|
+
Use `funifier_list` with the relevant type and a `search` parameter to see
|
|
68
|
+
if a similar resource already exists. Never list all resources without a search term.
|
|
69
|
+
|
|
70
|
+
### 4. Design and confirm
|
|
71
|
+
|
|
72
|
+
Based on the docs, outline the configuration to the user and confirm before saving.
|
|
73
|
+
|
|
74
|
+
### 5. Create or update
|
|
75
|
+
|
|
76
|
+
Use `funifier_save` with the appropriate type and a JSON payload to create or
|
|
77
|
+
update the resource. If MCP is unavailable, show the complete JSON for manual use.
|
|
78
|
+
|
|
79
|
+
### 6. Validate
|
|
80
|
+
|
|
81
|
+
Use `funifier_logs` (for triggers/schedulers) or `funifier_get` to confirm
|
|
82
|
+
the resource was saved correctly and executed without errors.
|
|
83
|
+
|
|
84
|
+
## MCP
|
|
85
|
+
|
|
86
|
+
If Funifier MCP tools are available (`funifier_list`, `funifier_save`, `funifier_get`, `funifier_logs`):
|
|
87
|
+
- Use MCP for live server data
|
|
88
|
+
- Use docs for correct patterns and syntax
|
|
89
|
+
- Never learn patterns from existing live resources — docs are authoritative
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: funifier-index
|
|
3
|
-
description: Entry point for all Funifier skills — routes to the right skill for any intent
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Funifier Index
|
|
7
|
-
|
|
8
|
-
## Usage
|
|
9
|
-
|
|
10
|
-
1. Identify what the user wants to do
|
|
11
|
-
2. Find the matching skill in the table below and invoke it
|
|
12
|
-
3. For general questions with no matching skill, run lexical search:
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
npx tsx scripts/search-docs.ts "<user question>"
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Available Skills
|
|
19
|
-
|
|
20
|
-
| Skill | When to use |
|
|
21
|
-
|-------|-------------|
|
|
22
|
-
| `/funifier-create-trigger` | Create a Funifier trigger — guided workflow from entity/event selection to Groovy code generation |
|
|
23
|
-
| `/funifier-create-scheduler` | Create a Funifier scheduler — guided workflow from naming and cron expression to Groovy code generation |
|
|
24
|
-
| `/funifier-create-aggregate` | Create a Funifier prepared aggregate — guided workflow for building MongoDB aggregate pipelines for reports and dashboards |
|
|
25
|
-
| `/funifier-create-challenge` | Create a Funifier challenge — missions with action rules and point rewards |
|
|
26
|
-
| `/funifier-create-action` | Create a Funifier action — define trackable player behaviors with attributes |
|
|
27
|
-
| `/funifier-create-point` | Create a Funifier point category — XP, coins, or custom metrics |
|
|
28
|
-
| `/funifier-create-level` | Create Funifier levels — progression system based on accumulated points |
|
|
29
|
-
| `/funifier-create-leaderboard` | Create a Funifier leaderboard — rankings by points, actions, or attributes |
|
|
30
|
-
| `/funifier-create-quiz` | Create a Funifier quiz — questionnaires with multiple-choice questions |
|
|
31
|
-
| `/funifier-create-virtual-good` | Create a Funifier virtual good — catalog items players can purchase with points |
|
|
32
|
-
| `/funifier-create-custom-page` | Create a Funifier Studio custom page — guided workflow for building admin dashboards, CRUDs, reports, and KPI pages using AngularJS + Bootstrap |
|
|
33
|
-
| `/funifier-implement-frontend` | Implement frontend code that consumes the Funifier API — authentication, data fetching, and aggregate consumption |
|
|
34
|
-
| `/funifier-debug` | Debug a Funifier resource — systematic diagnosis of triggers, schedulers, aggregates, and other Funifier components |
|
|
35
|
-
| `/funifier-help` | Get help with Funifier — routes to the right documentation or skill based on your question |
|
|
36
|
-
|
|
37
|
-
## Documented Modules
|
|
38
|
-
|
|
39
|
-
| Module | Description |
|
|
40
|
-
|--------|-------------|
|
|
41
|
-
| Auth | Login de jogadores, geração de tokens JWT, autenticação via API |
|
|
42
|
-
| Player | Cadastro e gestão de utilizadores da aplicação |
|
|
43
|
-
| Database | CRUD em qualquer coleção, queries MongoDB, aggregates |
|
|
44
|
-
| Custom Object | Criar tabelas/coleções próprias (sufixo ) para dados de negócio |
|
|
45
|
-
| Upload | Upload de imagens e ficheiros (avatar, documentos, etc.) |
|
|
46
|
-
| Trigger | Escrever funções Java que executam no servidor quando eventos acontecem |
|
|
47
|
-
| Scheduler | Agendar tarefas automáticas (cron jobs, rotinas periódicas) |
|
|
48
|
-
| Public Endpoint | Criar APIs REST customizadas acessíveis sem autenticação |
|
|
49
|
-
| Webhook | Enviar dados para sistemas externos quando eventos acontecem |
|
|
50
|
-
| Patterns | Design patterns de implementação (signup, etc.) baseados em experiência real |
|
|
1
|
+
---
|
|
2
|
+
name: funifier-index
|
|
3
|
+
description: Entry point for all Funifier skills — routes to the right skill for any intent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Funifier Index
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
|
|
10
|
+
1. Identify what the user wants to do
|
|
11
|
+
2. Find the matching skill in the table below and invoke it
|
|
12
|
+
3. For general questions with no matching skill, run lexical search:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npx tsx scripts/search-docs.ts "<user question>"
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Available Skills
|
|
19
|
+
|
|
20
|
+
| Skill | When to use |
|
|
21
|
+
|-------|-------------|
|
|
22
|
+
| `/funifier-create-trigger` | Create a Funifier trigger — guided workflow from entity/event selection to Groovy code generation |
|
|
23
|
+
| `/funifier-create-scheduler` | Create a Funifier scheduler — guided workflow from naming and cron expression to Groovy code generation |
|
|
24
|
+
| `/funifier-create-aggregate` | Create a Funifier prepared aggregate — guided workflow for building MongoDB aggregate pipelines for reports and dashboards |
|
|
25
|
+
| `/funifier-create-challenge` | Create a Funifier challenge — missions with action rules and point rewards |
|
|
26
|
+
| `/funifier-create-action` | Create a Funifier action — define trackable player behaviors with attributes |
|
|
27
|
+
| `/funifier-create-point` | Create a Funifier point category — XP, coins, or custom metrics |
|
|
28
|
+
| `/funifier-create-level` | Create Funifier levels — progression system based on accumulated points |
|
|
29
|
+
| `/funifier-create-leaderboard` | Create a Funifier leaderboard — rankings by points, actions, or attributes |
|
|
30
|
+
| `/funifier-create-quiz` | Create a Funifier quiz — questionnaires with multiple-choice questions |
|
|
31
|
+
| `/funifier-create-virtual-good` | Create a Funifier virtual good — catalog items players can purchase with points |
|
|
32
|
+
| `/funifier-create-custom-page` | Create a Funifier Studio custom page — guided workflow for building admin dashboards, CRUDs, reports, and KPI pages using AngularJS + Bootstrap |
|
|
33
|
+
| `/funifier-implement-frontend` | Implement frontend code that consumes the Funifier API — authentication, data fetching, and aggregate consumption |
|
|
34
|
+
| `/funifier-debug` | Debug a Funifier resource — systematic diagnosis of triggers, schedulers, aggregates, and other Funifier components |
|
|
35
|
+
| `/funifier-help` | Get help with Funifier — routes to the right documentation or skill based on your question |
|
|
36
|
+
|
|
37
|
+
## Documented Modules
|
|
38
|
+
|
|
39
|
+
| Module | Description |
|
|
40
|
+
|--------|-------------|
|
|
41
|
+
| Auth | Login de jogadores, geração de tokens JWT, autenticação via API |
|
|
42
|
+
| Player | Cadastro e gestão de utilizadores da aplicação |
|
|
43
|
+
| Database | CRUD em qualquer coleção, queries MongoDB, aggregates |
|
|
44
|
+
| Custom Object | Criar tabelas/coleções próprias (sufixo ) para dados de negócio |
|
|
45
|
+
| Upload | Upload de imagens e ficheiros (avatar, documentos, etc.) |
|
|
46
|
+
| Trigger | Escrever funções Java que executam no servidor quando eventos acontecem |
|
|
47
|
+
| Scheduler | Agendar tarefas automáticas (cron jobs, rotinas periódicas) |
|
|
48
|
+
| Public Endpoint | Criar APIs REST customizadas acessíveis sem autenticação |
|
|
49
|
+
| Webhook | Enviar dados para sistemas externos quando eventos acontecem |
|
|
50
|
+
| Patterns | Design patterns de implementação (signup, etc.) baseados em experiência real |
|