funifier-mcp 0.2.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 +247 -78
- package/datasource-funifier-docs/knowledge/guides/aggregates.md +152 -152
- package/datasource-funifier-docs/knowledge/guides/database-access.md +132 -132
- package/datasource-funifier-docs/knowledge/guides/java-entities.md +373 -373
- package/datasource-funifier-docs/knowledge/guides/java-libraries.md +330 -330
- package/datasource-funifier-docs/knowledge/guides/java-managers.md +509 -509
- package/datasource-funifier-docs/knowledge/guides/triggers-guide.md +271 -271
- package/datasource-funifier-docs/knowledge/index.md +121 -121
- package/datasource-funifier-docs/knowledge/modules/achievement.md +46 -46
- package/datasource-funifier-docs/knowledge/modules/action-log.md +88 -88
- package/datasource-funifier-docs/knowledge/modules/action.md +80 -80
- package/datasource-funifier-docs/knowledge/modules/auth.md +104 -104
- package/datasource-funifier-docs/knowledge/modules/avatar.md +28 -28
- package/datasource-funifier-docs/knowledge/modules/backup.md +40 -40
- package/datasource-funifier-docs/knowledge/modules/challenge.md +91 -91
- package/datasource-funifier-docs/knowledge/modules/compact.md +40 -40
- package/datasource-funifier-docs/knowledge/modules/competition.md +149 -149
- package/datasource-funifier-docs/knowledge/modules/crossword.md +41 -41
- package/datasource-funifier-docs/knowledge/modules/csv-data.md +30 -30
- package/datasource-funifier-docs/knowledge/modules/custom-object.md +53 -53
- package/datasource-funifier-docs/knowledge/modules/database.md +241 -241
- package/datasource-funifier-docs/knowledge/modules/folder.md +111 -111
- package/datasource-funifier-docs/knowledge/modules/kpi-formulas.md +23 -23
- package/datasource-funifier-docs/knowledge/modules/lastmile.md +45 -45
- package/datasource-funifier-docs/knowledge/modules/leaderboard.md +98 -98
- package/datasource-funifier-docs/knowledge/modules/level.md +83 -83
- package/datasource-funifier-docs/knowledge/modules/lottery.md +112 -112
- package/datasource-funifier-docs/knowledge/modules/marketplace.md +27 -27
- package/datasource-funifier-docs/knowledge/modules/mystery.md +82 -82
- package/datasource-funifier-docs/knowledge/modules/notification.md +40 -40
- package/datasource-funifier-docs/knowledge/modules/patterns.md +1096 -1096
- package/datasource-funifier-docs/knowledge/modules/player.md +101 -101
- package/datasource-funifier-docs/knowledge/modules/point.md +67 -67
- package/datasource-funifier-docs/knowledge/modules/public.md +253 -253
- package/datasource-funifier-docs/knowledge/modules/question.md +136 -136
- package/datasource-funifier-docs/knowledge/modules/quiz.md +163 -163
- package/datasource-funifier-docs/knowledge/modules/scheduler.md +58 -58
- package/datasource-funifier-docs/knowledge/modules/security.md +169 -169
- package/datasource-funifier-docs/knowledge/modules/staging.md +28 -28
- package/datasource-funifier-docs/knowledge/modules/static-repo.md +41 -41
- package/datasource-funifier-docs/knowledge/modules/story.md +42 -42
- package/datasource-funifier-docs/knowledge/modules/studio-page.md +180 -180
- package/datasource-funifier-docs/knowledge/modules/swap.md +132 -132
- package/datasource-funifier-docs/knowledge/modules/team.md +75 -75
- package/datasource-funifier-docs/knowledge/modules/trigger.md +189 -189
- package/datasource-funifier-docs/knowledge/modules/upload.md +155 -155
- package/datasource-funifier-docs/knowledge/modules/virtual-good.md +99 -99
- package/datasource-funifier-docs/knowledge/modules/webhook.md +41 -41
- package/datasource-funifier-docs/knowledge/modules/websocket.md +41 -41
- package/datasource-funifier-docs/knowledge/modules/widget.md +42 -42
- package/datasource-funifier-docs/process-gtm-saas.md +143 -143
- package/datasource-funifier-docs/process-instagram.md +88 -88
- package/datasource-funifier-docs/process.md +1826 -1826
- package/datasource-funifier-docs/readme.md +132 -132
- package/dist/cli/config-writers.js +11 -11
- package/dist/mcp/bundle.js +55 -52
- package/package.json +70 -67
- package/skills/funifier-create-aggregate/SKILL.md +126 -126
- package/skills/funifier-create-custom-page/SKILL.md +126 -126
- package/skills/funifier-create-scheduler/SKILL.md +126 -126
- package/skills/funifier-create-trigger/SKILL.md +127 -127
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
# Player (Jogador)
|
|
2
|
-
|
|
3
|
-
**Acesso Studio:** `/studio/player`
|
|
4
|
-
**API Endpoint:** `/v3/player`
|
|
5
|
-
|
|
6
|
-
## O que é
|
|
7
|
-
|
|
8
|
-
Cadastro e gerenciamento dos participantes da gamificação. Permite cadastrar e detalhar cada jogador, incluindo nome, login, email, equipes, amigos, foto, avatar e informações adicionais como telefone, integração com redes sociais e data de aniversário. Também é possível definir senha para cada jogador.
|
|
9
|
-
|
|
10
|
-
## Quando usar
|
|
11
|
-
|
|
12
|
-
- Em todo projeto de gamificação (obrigatório)
|
|
13
|
-
- Para cadastrar participantes da gamificação
|
|
14
|
-
- Para associar jogadores a equipes
|
|
15
|
-
- Para armazenar informações extras (departamento, cargo, etc.)
|
|
16
|
-
|
|
17
|
-
## Checklist de Configuração no Studio
|
|
18
|
-
|
|
19
|
-
- [ ] Definir o _id do jogador (login)
|
|
20
|
-
- [ ] Definir nome do jogador
|
|
21
|
-
- [ ] Definir email (se necessário para notificações)
|
|
22
|
-
- [ ] Associar a equipes (se aplicável)
|
|
23
|
-
- [ ] Definir campos extras no campo "extra" (departamento, cargo, etc.)
|
|
24
|
-
- [ ] Definir senha (se autenticação for necessária)
|
|
25
|
-
|
|
26
|
-
## API Endpoints
|
|
27
|
-
|
|
28
|
-
### Listar Jogadores
|
|
29
|
-
**Método:** GET
|
|
30
|
-
**Endpoint:** `/v3/player`
|
|
31
|
-
**Descrição:** Retorna todos os jogadores cadastrados.
|
|
32
|
-
|
|
33
|
-
**Exemplo de Resposta:**
|
|
34
|
-
```json
|
|
35
|
-
[
|
|
36
|
-
{
|
|
37
|
-
"_id": "jerry",
|
|
38
|
-
"name": "Jerry",
|
|
39
|
-
"email": "jerry@yourdomain.com",
|
|
40
|
-
"extra": { "company": "Tom & Jerry Inc." },
|
|
41
|
-
"created": 1694990893810,
|
|
42
|
-
"updated": 1694990893880
|
|
43
|
-
}
|
|
44
|
-
]
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Criar e Atualizar Jogador
|
|
48
|
-
**Método:** POST
|
|
49
|
-
**Endpoint:** `/v3/player`
|
|
50
|
-
**Descrição:** Cria um novo jogador com atributos personalizados ou atualiza um jogador existente.
|
|
51
|
-
|
|
52
|
-
**Exemplo de Body:**
|
|
53
|
-
```json
|
|
54
|
-
{
|
|
55
|
-
"_id": "jerry",
|
|
56
|
-
"name": "Jerry",
|
|
57
|
-
"email": "jerry@yourdomain.com",
|
|
58
|
-
"image": {
|
|
59
|
-
"small": { "url": "https://my.funifier.com/images/funny.png" },
|
|
60
|
-
"medium": { "url": "https://my.funifier.com/images/funny.png" },
|
|
61
|
-
"original": { "url": "https://my.funifier.com/images/funny.png" }
|
|
62
|
-
},
|
|
63
|
-
"teams": ["cartoon"],
|
|
64
|
-
"friends": ["tom", "spike"],
|
|
65
|
-
"extra": {
|
|
66
|
-
"country": "USA",
|
|
67
|
-
"company": "Tom & Jerry Inc."
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### Excluir Jogador
|
|
73
|
-
**Método:** DELETE
|
|
74
|
-
**Endpoint:** `/v3/player/:id`
|
|
75
|
-
**Descrição:** Remove o jogador e todas as suas informações.
|
|
76
|
-
|
|
77
|
-
### Consultar Status do Jogador
|
|
78
|
-
**Método:** GET
|
|
79
|
-
**Endpoint:** `/v3/player/:id/status`
|
|
80
|
-
**Descrição:** Retorna estatísticas do jogador (pontos, nível, desafios, itens).
|
|
81
|
-
|
|
82
|
-
**Exemplo de Resposta:**
|
|
83
|
-
```json
|
|
84
|
-
{
|
|
85
|
-
"name": "Jerry",
|
|
86
|
-
"total_challenges": 0,
|
|
87
|
-
"total_points": 0,
|
|
88
|
-
"level_progress": {
|
|
89
|
-
"percent_completed": 0,
|
|
90
|
-
"next_level": { "level": "Apprentice", "minPoints": 10 }
|
|
91
|
-
},
|
|
92
|
-
"_id": "jerry"
|
|
93
|
-
}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
## Validações e Testes
|
|
97
|
-
|
|
98
|
-
- [ ] Jogador aparece na lista GET /v3/player
|
|
99
|
-
- [ ] Status do jogador retorna dados corretos via GET /v3/player/:id/status
|
|
100
|
-
- [ ] Campos extras estão acessíveis no objeto "extra"
|
|
101
|
-
- [ ] Equipes do jogador estão corretas no array "teams"
|
|
1
|
+
# Player (Jogador)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/studio/player`
|
|
4
|
+
**API Endpoint:** `/v3/player`
|
|
5
|
+
|
|
6
|
+
## O que é
|
|
7
|
+
|
|
8
|
+
Cadastro e gerenciamento dos participantes da gamificação. Permite cadastrar e detalhar cada jogador, incluindo nome, login, email, equipes, amigos, foto, avatar e informações adicionais como telefone, integração com redes sociais e data de aniversário. Também é possível definir senha para cada jogador.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
- Em todo projeto de gamificação (obrigatório)
|
|
13
|
+
- Para cadastrar participantes da gamificação
|
|
14
|
+
- Para associar jogadores a equipes
|
|
15
|
+
- Para armazenar informações extras (departamento, cargo, etc.)
|
|
16
|
+
|
|
17
|
+
## Checklist de Configuração no Studio
|
|
18
|
+
|
|
19
|
+
- [ ] Definir o _id do jogador (login)
|
|
20
|
+
- [ ] Definir nome do jogador
|
|
21
|
+
- [ ] Definir email (se necessário para notificações)
|
|
22
|
+
- [ ] Associar a equipes (se aplicável)
|
|
23
|
+
- [ ] Definir campos extras no campo "extra" (departamento, cargo, etc.)
|
|
24
|
+
- [ ] Definir senha (se autenticação for necessária)
|
|
25
|
+
|
|
26
|
+
## API Endpoints
|
|
27
|
+
|
|
28
|
+
### Listar Jogadores
|
|
29
|
+
**Método:** GET
|
|
30
|
+
**Endpoint:** `/v3/player`
|
|
31
|
+
**Descrição:** Retorna todos os jogadores cadastrados.
|
|
32
|
+
|
|
33
|
+
**Exemplo de Resposta:**
|
|
34
|
+
```json
|
|
35
|
+
[
|
|
36
|
+
{
|
|
37
|
+
"_id": "jerry",
|
|
38
|
+
"name": "Jerry",
|
|
39
|
+
"email": "jerry@yourdomain.com",
|
|
40
|
+
"extra": { "company": "Tom & Jerry Inc." },
|
|
41
|
+
"created": 1694990893810,
|
|
42
|
+
"updated": 1694990893880
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Criar e Atualizar Jogador
|
|
48
|
+
**Método:** POST
|
|
49
|
+
**Endpoint:** `/v3/player`
|
|
50
|
+
**Descrição:** Cria um novo jogador com atributos personalizados ou atualiza um jogador existente.
|
|
51
|
+
|
|
52
|
+
**Exemplo de Body:**
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"_id": "jerry",
|
|
56
|
+
"name": "Jerry",
|
|
57
|
+
"email": "jerry@yourdomain.com",
|
|
58
|
+
"image": {
|
|
59
|
+
"small": { "url": "https://my.funifier.com/images/funny.png" },
|
|
60
|
+
"medium": { "url": "https://my.funifier.com/images/funny.png" },
|
|
61
|
+
"original": { "url": "https://my.funifier.com/images/funny.png" }
|
|
62
|
+
},
|
|
63
|
+
"teams": ["cartoon"],
|
|
64
|
+
"friends": ["tom", "spike"],
|
|
65
|
+
"extra": {
|
|
66
|
+
"country": "USA",
|
|
67
|
+
"company": "Tom & Jerry Inc."
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Excluir Jogador
|
|
73
|
+
**Método:** DELETE
|
|
74
|
+
**Endpoint:** `/v3/player/:id`
|
|
75
|
+
**Descrição:** Remove o jogador e todas as suas informações.
|
|
76
|
+
|
|
77
|
+
### Consultar Status do Jogador
|
|
78
|
+
**Método:** GET
|
|
79
|
+
**Endpoint:** `/v3/player/:id/status`
|
|
80
|
+
**Descrição:** Retorna estatísticas do jogador (pontos, nível, desafios, itens).
|
|
81
|
+
|
|
82
|
+
**Exemplo de Resposta:**
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"name": "Jerry",
|
|
86
|
+
"total_challenges": 0,
|
|
87
|
+
"total_points": 0,
|
|
88
|
+
"level_progress": {
|
|
89
|
+
"percent_completed": 0,
|
|
90
|
+
"next_level": { "level": "Apprentice", "minPoints": 10 }
|
|
91
|
+
},
|
|
92
|
+
"_id": "jerry"
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Validações e Testes
|
|
97
|
+
|
|
98
|
+
- [ ] Jogador aparece na lista GET /v3/player
|
|
99
|
+
- [ ] Status do jogador retorna dados corretos via GET /v3/player/:id/status
|
|
100
|
+
- [ ] Campos extras estão acessíveis no objeto "extra"
|
|
101
|
+
- [ ] Equipes do jogador estão corretas no array "teams"
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
# Point (Ponto)
|
|
2
|
-
|
|
3
|
-
**Acesso Studio:** `/studio/point`
|
|
4
|
-
**API Endpoint:** `/v3/point`
|
|
5
|
-
|
|
6
|
-
## O que é
|
|
7
|
-
|
|
8
|
-
Configuração dos diferentes tipos de pontuação que os jogadores podem conquistar. Permite criar e personalizar unidades de medida de progresso, como XP, moedas virtuais, pontos de conhecimento ou métricas customizadas. Os pontos são fundamentais para recompensar ações, mensurar desempenho e alimentar outros módulos como rankings, lojas virtuais e desafios.
|
|
9
|
-
|
|
10
|
-
## Quando usar
|
|
11
|
-
|
|
12
|
-
- Em todo projeto de gamificação (obrigatório)
|
|
13
|
-
- Para criar moedas virtuais de troca (ex: coins)
|
|
14
|
-
- Para criar pontos de experiência (ex: XP)
|
|
15
|
-
- Para criar métricas customizadas (ex: karma, conhecimento)
|
|
16
|
-
|
|
17
|
-
## Checklist de Configuração no Studio
|
|
18
|
-
|
|
19
|
-
- [ ] Definir _id do ponto (letras minúsculas, ex: xp, coin, karma)
|
|
20
|
-
- [ ] Definir category (nome amigável, ex: "Experience Points")
|
|
21
|
-
- [ ] Definir shortName (abreviação, ex: "XP")
|
|
22
|
-
- [ ] Configurar antes dos Challenges (Points são dependência)
|
|
23
|
-
|
|
24
|
-
## API Endpoints
|
|
25
|
-
|
|
26
|
-
### Listar Pontos
|
|
27
|
-
**Método:** GET
|
|
28
|
-
**Endpoint:** `/v3/point`
|
|
29
|
-
|
|
30
|
-
**Exemplo de Resposta:**
|
|
31
|
-
```json
|
|
32
|
-
[
|
|
33
|
-
{
|
|
34
|
-
"category": "Exchangeable Coins",
|
|
35
|
-
"shortName": "Coins",
|
|
36
|
-
"extra": {},
|
|
37
|
-
"techniques": ["GT75"],
|
|
38
|
-
"_id": "coin"
|
|
39
|
-
}
|
|
40
|
-
]
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Criar Ponto
|
|
44
|
-
**Método:** POST
|
|
45
|
-
**Endpoint:** `/v3/point`
|
|
46
|
-
|
|
47
|
-
**Exemplo de Body:**
|
|
48
|
-
```json
|
|
49
|
-
{
|
|
50
|
-
"_id": "xp",
|
|
51
|
-
"category": "Experience Points",
|
|
52
|
-
"shortName": "XP",
|
|
53
|
-
"extra": {},
|
|
54
|
-
"techniques": ["GT01"]
|
|
55
|
-
}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### Excluir Ponto
|
|
59
|
-
**Método:** DELETE
|
|
60
|
-
**Endpoint:** `/v3/point/:id`
|
|
61
|
-
|
|
62
|
-
## Validações e Testes
|
|
63
|
-
|
|
64
|
-
- [ ] Ponto aparece na lista GET /v3/point
|
|
65
|
-
- [ ] _id é único e sem caracteres especiais
|
|
66
|
-
- [ ] shortName está curto e representativo
|
|
67
|
-
- [ ] Ponto é criado ANTES de challenges que o referenciam
|
|
1
|
+
# Point (Ponto)
|
|
2
|
+
|
|
3
|
+
**Acesso Studio:** `/studio/point`
|
|
4
|
+
**API Endpoint:** `/v3/point`
|
|
5
|
+
|
|
6
|
+
## O que é
|
|
7
|
+
|
|
8
|
+
Configuração dos diferentes tipos de pontuação que os jogadores podem conquistar. Permite criar e personalizar unidades de medida de progresso, como XP, moedas virtuais, pontos de conhecimento ou métricas customizadas. Os pontos são fundamentais para recompensar ações, mensurar desempenho e alimentar outros módulos como rankings, lojas virtuais e desafios.
|
|
9
|
+
|
|
10
|
+
## Quando usar
|
|
11
|
+
|
|
12
|
+
- Em todo projeto de gamificação (obrigatório)
|
|
13
|
+
- Para criar moedas virtuais de troca (ex: coins)
|
|
14
|
+
- Para criar pontos de experiência (ex: XP)
|
|
15
|
+
- Para criar métricas customizadas (ex: karma, conhecimento)
|
|
16
|
+
|
|
17
|
+
## Checklist de Configuração no Studio
|
|
18
|
+
|
|
19
|
+
- [ ] Definir _id do ponto (letras minúsculas, ex: xp, coin, karma)
|
|
20
|
+
- [ ] Definir category (nome amigável, ex: "Experience Points")
|
|
21
|
+
- [ ] Definir shortName (abreviação, ex: "XP")
|
|
22
|
+
- [ ] Configurar antes dos Challenges (Points são dependência)
|
|
23
|
+
|
|
24
|
+
## API Endpoints
|
|
25
|
+
|
|
26
|
+
### Listar Pontos
|
|
27
|
+
**Método:** GET
|
|
28
|
+
**Endpoint:** `/v3/point`
|
|
29
|
+
|
|
30
|
+
**Exemplo de Resposta:**
|
|
31
|
+
```json
|
|
32
|
+
[
|
|
33
|
+
{
|
|
34
|
+
"category": "Exchangeable Coins",
|
|
35
|
+
"shortName": "Coins",
|
|
36
|
+
"extra": {},
|
|
37
|
+
"techniques": ["GT75"],
|
|
38
|
+
"_id": "coin"
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Criar Ponto
|
|
44
|
+
**Método:** POST
|
|
45
|
+
**Endpoint:** `/v3/point`
|
|
46
|
+
|
|
47
|
+
**Exemplo de Body:**
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"_id": "xp",
|
|
51
|
+
"category": "Experience Points",
|
|
52
|
+
"shortName": "XP",
|
|
53
|
+
"extra": {},
|
|
54
|
+
"techniques": ["GT01"]
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Excluir Ponto
|
|
59
|
+
**Método:** DELETE
|
|
60
|
+
**Endpoint:** `/v3/point/:id`
|
|
61
|
+
|
|
62
|
+
## Validações e Testes
|
|
63
|
+
|
|
64
|
+
- [ ] Ponto aparece na lista GET /v3/point
|
|
65
|
+
- [ ] _id é único e sem caracteres especiais
|
|
66
|
+
- [ ] shortName está curto e representativo
|
|
67
|
+
- [ ] Ponto é criado ANTES de challenges que o referenciam
|