nexocord 1.2.1 → 2.0.0

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.
Files changed (257) hide show
  1. package/{LICENCE → LICENSE} +3 -3
  2. package/README.md +193 -58
  3. package/dist/bin/cli.js +4382 -2903
  4. package/dist/cli/commands/build.command.d.ts +3 -0
  5. package/dist/cli/commands/build.command.d.ts.map +1 -0
  6. package/dist/cli/commands/create.command.d.ts +3 -0
  7. package/dist/cli/commands/create.command.d.ts.map +1 -0
  8. package/dist/cli/commands/dev.command.d.ts +3 -0
  9. package/dist/cli/commands/dev.command.d.ts.map +1 -0
  10. package/dist/cli/commands/doctor.command.d.ts +3 -0
  11. package/dist/cli/commands/doctor.command.d.ts.map +1 -0
  12. package/dist/cli/commands/info.command.d.ts +3 -0
  13. package/dist/cli/commands/info.command.d.ts.map +1 -0
  14. package/dist/cli/commands/init.command.d.ts +3 -0
  15. package/dist/cli/commands/init.command.d.ts.map +1 -0
  16. package/dist/cli/commands/start.command.d.ts +3 -0
  17. package/dist/cli/commands/start.command.d.ts.map +1 -0
  18. package/dist/cli/commands/update.command.d.ts +3 -0
  19. package/dist/cli/commands/update.command.d.ts.map +1 -0
  20. package/dist/cli/create/flow.d.ts +7 -0
  21. package/dist/cli/create/flow.d.ts.map +1 -0
  22. package/dist/cli/create/install.d.ts +1 -1
  23. package/dist/cli/create/install.d.ts.map +1 -1
  24. package/dist/cli/create/prompts.d.ts +4 -4
  25. package/dist/cli/create/prompts.d.ts.map +1 -1
  26. package/dist/cli/errors.d.ts +7 -0
  27. package/dist/cli/errors.d.ts.map +1 -0
  28. package/dist/cli/logger.d.ts +8 -5
  29. package/dist/cli/logger.d.ts.map +1 -1
  30. package/dist/cli/runner.d.ts +3 -3
  31. package/dist/cli/runner.d.ts.map +1 -1
  32. package/dist/cli/runtime.d.ts +3 -2
  33. package/dist/cli/runtime.d.ts.map +1 -1
  34. package/dist/cli/services/build/flow.d.ts +2 -0
  35. package/dist/cli/services/build/flow.d.ts.map +1 -0
  36. package/dist/cli/services/create/flow.d.ts +2 -0
  37. package/dist/cli/services/create/flow.d.ts.map +1 -0
  38. package/dist/cli/services/create/generator.d.ts +14 -0
  39. package/dist/cli/services/create/generator.d.ts.map +1 -0
  40. package/dist/cli/services/create/install.d.ts +3 -0
  41. package/dist/cli/services/create/install.d.ts.map +1 -0
  42. package/dist/cli/services/create/prompts.d.ts +12 -0
  43. package/dist/cli/services/create/prompts.d.ts.map +1 -0
  44. package/dist/{create/templates/bun-ts → cli/services/create/templates/bun-js}/README.md +7 -7
  45. package/dist/cli/services/create/templates/bun-js/src/commands/utils/ping.tpl +10 -0
  46. package/dist/cli/services/create/templates/bun-js/src/events/ready.tpl +9 -0
  47. package/dist/cli/services/create/templates/bun-js/src/index.tpl +12 -0
  48. package/dist/{create/templates/bun-js → cli/services/create/templates/bun-ts}/README.md +7 -7
  49. package/dist/{create/templates/node-js → cli/services/create/templates/bun-ts}/src/commands/utils/ping.tpl +9 -9
  50. package/dist/cli/services/create/templates/bun-ts/src/events/ready.tpl +9 -0
  51. package/dist/cli/services/create/templates/bun-ts/src/index.tpl +12 -0
  52. package/dist/{create/templates/node-ts → cli/services/create/templates/node-js}/README.md +7 -7
  53. package/dist/cli/services/create/templates/node-js/src/commands/utils/ping.tpl +10 -0
  54. package/dist/cli/services/create/templates/node-js/src/events/ready.tpl +9 -0
  55. package/dist/cli/services/create/templates/node-js/src/index.tpl +12 -0
  56. package/dist/{create/templates/node-js → cli/services/create/templates/node-ts}/README.md +7 -7
  57. package/dist/{create → cli/services/create}/templates/node-ts/src/commands/utils/ping.tpl +9 -9
  58. package/dist/cli/services/create/templates/node-ts/src/events/ready.tpl +9 -0
  59. package/dist/cli/services/create/templates/node-ts/src/index.tpl +12 -0
  60. package/dist/cli/services/dev/flow.d.ts +5 -0
  61. package/dist/cli/services/dev/flow.d.ts.map +1 -0
  62. package/dist/cli/services/doctor/flow.d.ts +2 -0
  63. package/dist/cli/services/doctor/flow.d.ts.map +1 -0
  64. package/dist/cli/services/info/flow.d.ts +2 -0
  65. package/dist/cli/services/info/flow.d.ts.map +1 -0
  66. package/dist/cli/services/init/flow.d.ts +4 -0
  67. package/dist/cli/services/init/flow.d.ts.map +1 -0
  68. package/dist/cli/services/init/project.d.ts +15 -0
  69. package/dist/cli/services/init/project.d.ts.map +1 -0
  70. package/dist/cli/services/init/types.d.ts +20 -0
  71. package/dist/cli/services/init/types.d.ts.map +1 -0
  72. package/dist/cli/services/start/flow.d.ts +2 -0
  73. package/dist/cli/services/start/flow.d.ts.map +1 -0
  74. package/dist/cli/services/update/flow.d.ts +2 -0
  75. package/dist/cli/services/update/flow.d.ts.map +1 -0
  76. package/dist/cli/utils.d.ts +17 -3
  77. package/dist/cli/utils.d.ts.map +1 -1
  78. package/dist/core/app.d.ts +1 -1
  79. package/dist/core/app.d.ts.map +1 -1
  80. package/dist/core/client/ExtendedClient.d.ts +3 -3
  81. package/dist/core/client/ExtendedClient.d.ts.map +1 -1
  82. package/dist/core/client/Interactions/autocomplete.d.ts +2 -1
  83. package/dist/core/client/Interactions/autocomplete.d.ts.map +1 -1
  84. package/dist/core/client/Interactions/command.d.ts +2 -1
  85. package/dist/core/client/Interactions/command.d.ts.map +1 -1
  86. package/dist/core/client/Interactions/index.d.ts +2 -1
  87. package/dist/core/client/Interactions/index.d.ts.map +1 -1
  88. package/dist/core/client/Interactions/responder.d.ts +2 -1
  89. package/dist/core/client/Interactions/responder.d.ts.map +1 -1
  90. package/dist/core/client/bootstrap.d.ts.map +1 -1
  91. package/dist/core/creators/command.d.ts +3 -0
  92. package/dist/core/creators/command.d.ts.map +1 -0
  93. package/dist/core/creators/context.d.ts +16 -0
  94. package/dist/core/creators/context.d.ts.map +1 -0
  95. package/dist/core/creators/events.d.ts +4 -0
  96. package/dist/core/creators/events.d.ts.map +1 -0
  97. package/dist/core/creators/index.d.ts +7 -0
  98. package/dist/core/creators/index.d.ts.map +1 -0
  99. package/dist/core/creators/option.d.ts +132 -0
  100. package/dist/core/creators/option.d.ts.map +1 -0
  101. package/dist/core/creators/responder.d.ts +3 -0
  102. package/dist/core/creators/responder.d.ts.map +1 -0
  103. package/dist/core/creators/subcommand.d.ts +2 -0
  104. package/dist/core/creators/subcommand.d.ts.map +1 -0
  105. package/dist/core/index.d.ts +5 -4
  106. package/dist/core/index.d.ts.map +1 -1
  107. package/dist/core/modules/Responders/manager.d.ts.map +1 -1
  108. package/dist/core/modules/Responders/route.d.ts.map +1 -1
  109. package/dist/core/modules/Responders/session.d.ts.map +1 -1
  110. package/dist/core/modules/commands/context.d.ts +14 -0
  111. package/dist/core/modules/commands/context.d.ts.map +1 -0
  112. package/dist/core/modules/commands/handler.d.ts +5 -5
  113. package/dist/core/modules/commands/handler.d.ts.map +1 -1
  114. package/dist/core/modules/commands/manager.d.ts +1 -1
  115. package/dist/core/modules/commands/manager.d.ts.map +1 -1
  116. package/dist/core/modules/events/handler.d.ts +4 -4
  117. package/dist/core/modules/events/handler.d.ts.map +1 -1
  118. package/dist/core/modules/events/manager.d.ts +1 -1
  119. package/dist/core/modules/events/manager.d.ts.map +1 -1
  120. package/dist/core/modules/index.d.ts +1 -1
  121. package/dist/core/modules/responders/manager.d.ts +8 -0
  122. package/dist/core/modules/responders/manager.d.ts.map +1 -0
  123. package/dist/core/modules/responders/route.d.ts +13 -0
  124. package/dist/core/modules/responders/route.d.ts.map +1 -0
  125. package/dist/core/modules/responders/session.d.ts +9 -0
  126. package/dist/core/modules/responders/session.d.ts.map +1 -0
  127. package/dist/core/settings.d.ts +1 -1
  128. package/dist/core/settings.d.ts.map +1 -1
  129. package/dist/core/types/Command.d.ts +2 -2
  130. package/dist/core/types/Command.d.ts.map +1 -1
  131. package/dist/core/types/Event.d.ts +2 -2
  132. package/dist/core/types/Responder.d.ts +8 -6
  133. package/dist/core/types/Responder.d.ts.map +1 -1
  134. package/dist/core/types/Run.d.ts +6 -5
  135. package/dist/core/types/Run.d.ts.map +1 -1
  136. package/dist/core/types/Settings.d.ts +3 -3
  137. package/dist/core/types/Settings.d.ts.map +1 -1
  138. package/dist/core/types/Ui.d.ts +91 -12
  139. package/dist/core/types/Ui.d.ts.map +1 -1
  140. package/dist/core/types/index.js +1042 -446
  141. package/dist/core/ui/builders.d.ts +76 -0
  142. package/dist/core/ui/builders.d.ts.map +1 -0
  143. package/dist/core/ui/index.d.ts +1 -4
  144. package/dist/core/ui/index.d.ts.map +1 -1
  145. package/dist/core/ui/index.js +1465 -1080
  146. package/dist/core/ui/normalize.d.ts +13 -0
  147. package/dist/core/ui/normalize.d.ts.map +1 -0
  148. package/dist/core/ui/validate.d.ts +14 -0
  149. package/dist/core/ui/validate.d.ts.map +1 -0
  150. package/dist/core/utils/Cooldown.d.ts.map +1 -1
  151. package/dist/core/utils/Responder.d.ts +4 -4
  152. package/dist/core/utils/Responder.d.ts.map +1 -1
  153. package/dist/core/utils/cooldown.d.ts +9 -0
  154. package/dist/core/utils/cooldown.d.ts.map +1 -0
  155. package/dist/core/utils/extensions.d.ts +1 -1
  156. package/dist/core/utils/extensions.d.ts.map +1 -1
  157. package/dist/core/utils/index.d.ts +1 -1
  158. package/dist/core/utils/index.js +148 -89
  159. package/dist/core/utils/logger.d.ts +12 -0
  160. package/dist/core/utils/logger.d.ts.map +1 -0
  161. package/dist/core/utils/responder.d.ts +5 -0
  162. package/dist/core/utils/responder.d.ts.map +1 -0
  163. package/dist/index.cjs +3638 -2078
  164. package/dist/index.d.ts +7 -6
  165. package/dist/index.d.ts.map +1 -1
  166. package/dist/index.js +3600 -2026
  167. package/package.json +13 -18
  168. package/dist/cli/create/create.d.ts +0 -2
  169. package/dist/cli/create/create.d.ts.map +0 -1
  170. package/dist/cli/create/index.d.ts +0 -2
  171. package/dist/cli/create/index.d.ts.map +0 -1
  172. package/dist/commands/create.command.d.ts +0 -3
  173. package/dist/commands/create.command.d.ts.map +0 -1
  174. package/dist/commands/dev.command.d.ts +0 -3
  175. package/dist/commands/dev.command.d.ts.map +0 -1
  176. package/dist/commands/start.command.d.ts +0 -3
  177. package/dist/commands/start.command.d.ts.map +0 -1
  178. package/dist/core/creators.d.ts +0 -4
  179. package/dist/core/creators.d.ts.map +0 -1
  180. package/dist/core/ui/builders/container.d.ts +0 -44
  181. package/dist/core/ui/builders/container.d.ts.map +0 -1
  182. package/dist/core/ui/builders/index.d.ts +0 -41
  183. package/dist/core/ui/builders/index.d.ts.map +0 -1
  184. package/dist/core/ui/builders/primitives.d.ts +0 -134
  185. package/dist/core/ui/builders/primitives.d.ts.map +0 -1
  186. package/dist/core/ui/builders/select.d.ts +0 -61
  187. package/dist/core/ui/builders/select.d.ts.map +0 -1
  188. package/dist/core/ui/constants/index.d.ts +0 -4
  189. package/dist/core/ui/constants/index.d.ts.map +0 -1
  190. package/dist/core/ui/constants/limits.d.ts +0 -19
  191. package/dist/core/ui/constants/limits.d.ts.map +0 -1
  192. package/dist/core/ui/constants/patterns.d.ts +0 -7
  193. package/dist/core/ui/constants/patterns.d.ts.map +0 -1
  194. package/dist/core/ui/constants/symbols.d.ts +0 -7
  195. package/dist/core/ui/constants/symbols.d.ts.map +0 -1
  196. package/dist/core/ui/normalizers/button.d.ts +0 -26
  197. package/dist/core/ui/normalizers/button.d.ts.map +0 -1
  198. package/dist/core/ui/normalizers/container.d.ts +0 -68
  199. package/dist/core/ui/normalizers/container.d.ts.map +0 -1
  200. package/dist/core/ui/normalizers/index.d.ts +0 -6
  201. package/dist/core/ui/normalizers/index.d.ts.map +0 -1
  202. package/dist/core/ui/normalizers/media.d.ts +0 -17
  203. package/dist/core/ui/normalizers/media.d.ts.map +0 -1
  204. package/dist/core/ui/normalizers/select.d.ts +0 -45
  205. package/dist/core/ui/normalizers/select.d.ts.map +0 -1
  206. package/dist/core/ui/types/button.d.ts +0 -19
  207. package/dist/core/ui/types/button.d.ts.map +0 -1
  208. package/dist/core/ui/types/container.d.ts +0 -53
  209. package/dist/core/ui/types/container.d.ts.map +0 -1
  210. package/dist/core/ui/types/index.d.ts +0 -8
  211. package/dist/core/ui/types/index.d.ts.map +0 -1
  212. package/dist/core/ui/types/media.d.ts +0 -29
  213. package/dist/core/ui/types/media.d.ts.map +0 -1
  214. package/dist/core/ui/types/message.d.ts +0 -15
  215. package/dist/core/ui/types/message.d.ts.map +0 -1
  216. package/dist/core/ui/types/render.d.ts +0 -7
  217. package/dist/core/ui/types/render.d.ts.map +0 -1
  218. package/dist/core/ui/types/row.d.ts +0 -10
  219. package/dist/core/ui/types/row.d.ts.map +0 -1
  220. package/dist/core/ui/types/select.d.ts +0 -42
  221. package/dist/core/ui/types/select.d.ts.map +0 -1
  222. package/dist/core/ui/utils/applySelectBase.d.ts +0 -21
  223. package/dist/core/ui/utils/applySelectBase.d.ts.map +0 -1
  224. package/dist/core/ui/utils/formatList.d.ts +0 -12
  225. package/dist/core/ui/utils/formatList.d.ts.map +0 -1
  226. package/dist/core/ui/utils/formatText.d.ts +0 -46
  227. package/dist/core/ui/utils/formatText.d.ts.map +0 -1
  228. package/dist/core/ui/utils/getAttachmentName.d.ts +0 -8
  229. package/dist/core/ui/utils/getAttachmentName.d.ts.map +0 -1
  230. package/dist/core/ui/utils/index.d.ts +0 -7
  231. package/dist/core/ui/utils/index.d.ts.map +0 -1
  232. package/dist/core/ui/utils/resolveSelectBase.d.ts +0 -16
  233. package/dist/core/ui/utils/resolveSelectBase.d.ts.map +0 -1
  234. package/dist/core/ui/utils/splitContainerArgs.d.ts +0 -12
  235. package/dist/core/ui/utils/splitContainerArgs.d.ts.map +0 -1
  236. package/dist/core/ui/validators/button.d.ts +0 -8
  237. package/dist/core/ui/validators/button.d.ts.map +0 -1
  238. package/dist/core/ui/validators/container.d.ts +0 -51
  239. package/dist/core/ui/validators/container.d.ts.map +0 -1
  240. package/dist/core/ui/validators/index.d.ts +0 -18
  241. package/dist/core/ui/validators/index.d.ts.map +0 -1
  242. package/dist/core/ui/validators/select.d.ts +0 -8
  243. package/dist/core/ui/validators/select.d.ts.map +0 -1
  244. package/dist/create/generator.d.ts +0 -10
  245. package/dist/create/generator.d.ts.map +0 -1
  246. package/dist/create/prompts.d.ts +0 -8
  247. package/dist/create/prompts.d.ts.map +0 -1
  248. package/dist/create/templates/bun-js/src/commands/utils/ping.tpl +0 -10
  249. package/dist/create/templates/bun-js/src/events/ready.tpl +0 -10
  250. package/dist/create/templates/bun-js/src/index.tpl +0 -11
  251. package/dist/create/templates/bun-ts/src/commands/utils/ping.tpl +0 -10
  252. package/dist/create/templates/bun-ts/src/events/ready.tpl +0 -10
  253. package/dist/create/templates/bun-ts/src/index.tpl +0 -11
  254. package/dist/create/templates/node-js/src/events/ready.tpl +0 -10
  255. package/dist/create/templates/node-js/src/index.tpl +0 -11
  256. package/dist/create/templates/node-ts/src/events/ready.tpl +0 -10
  257. package/dist/create/templates/node-ts/src/index.tpl +0 -11
@@ -9,8 +9,8 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
9
  copies of the Software, and to permit persons to whom the Software is
10
10
  furnished to do so, subject to the following conditions:
11
11
 
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
14
 
15
15
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
16
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,98 +1,233 @@
1
1
  # Nexocord
2
- ![npm](https://img.shields.io/npm/v/nexocord)
3
- ![downloads](https://img.shields.io/npm/dm/nexocord)
4
- ![license](https://img.shields.io/npm/nexocord)
5
- ![types](https://img.shields.io/npm/types/nexocord)
6
2
 
7
- Nexocord é um framework para criação de bots Discord modernos usando TypeScript ou JavaScript, focado em organização, produtividade e escalabilidade desde o primeiro arquivo.
3
+ <div align="center">
8
4
 
9
- ## 📚 Documentação
10
- - Site oficial: https://nexocord.vercel.app/
11
- - Repositório: https://github.com/mitsukiie/NexoCord
5
+ # ⚡ NEXOCORD
6
+
7
+ ### **V2.0.0**
8
+
9
+ **Build better Discord bots.**
10
+
11
+ Um framework moderno para criar bots Discord com TypeScript ou JavaScript, projetado para oferecer uma experiência de desenvolvimento organizada, tipada e escalável.
12
+
13
+ [📚 Documentação](https://nexocord.vercel.app/) · [📦 npm](https://www.npmjs.com/package/nexocord) · [🐛 Reportar problema](https://github.com/mitsukiie/NexoCord/issues)
12
14
 
13
- ## ✨ Features
14
- - ⚡ Setup em segundos
15
- - 📂 Auto carregamento de comandos e eventos
16
- - 🧠 API tipada
17
- - 🧰 CLI integrada
18
- - 🔄 Compatível com Node.js e Bun
19
- - 📦 Suporte a ESM e CommonJS
15
+ <br />
20
16
 
21
- ## 🤔 Por que usar Nexocord?
17
+ ![npm version](https://img.shields.io/npm/v/nexocord?style=for-the-badge&logo=npm&color=cb3837)
18
+ ![npm downloads](https://img.shields.io/npm/dm/nexocord?style=for-the-badge&logo=npm)
19
+ ![license](https://img.shields.io/npm/l/nexocord?style=for-the-badge)
20
+ ![types](https://img.shields.io/npm/types/nexocord?style=for-the-badge&logo=typescript)
22
21
 
23
- Criar bots apenas com discord.js exige estrutura manual,
24
- carregamento de arquivos e muito boilerplate.
22
+ </div>
25
23
 
26
- O Nexocord resolve isso oferecendo:
24
+ ---
27
25
 
28
- - estrutura pronta
29
- - carregamento automático
30
- - padrão escalável
31
- - experiência moderna de desenvolvimento
26
+ ## 🚀 Sobre o projeto
32
27
 
28
+ O **Nexocord** é um framework construído sobre o [discord.js](https://discord.js.org/) para tornar o desenvolvimento de bots Discord mais organizado e produtivo.
33
29
 
30
+ Em vez de configurar manualmente toda a estrutura do projeto, você conta com uma arquitetura modular, carregamento automático de comandos e eventos, uma CLI própria e ferramentas para simplificar o desenvolvimento.
31
+
32
+ A proposta é simples: menos código repetitivo, mais foco na lógica do seu bot.
33
+
34
+ ## ✨ Recursos
35
+
36
+ | Recurso | Descrição |
37
+ | --- | --- |
38
+ | ⚡ **CLI integrada** | Crie projetos e execute tarefas diretamente pelo terminal. |
39
+ | 📂 **Carregamento automático** | Organize comandos e eventos em arquivos separados. |
40
+ | 🧠 **TypeScript-first** | Tipagem para uma experiência de desenvolvimento mais segura. |
41
+ | 🧩 **Components V2** | Construa interfaces interativas para suas mensagens Discord. |
42
+ | 🔄 **Node.js e Bun** | Escolha o runtime que combina com seu projeto. |
43
+ | 📦 **ESM e CommonJS** | Suporte aos formatos de módulos disponibilizados pelo pacote. |
44
+ | 🛠️ **Ferramentas de desenvolvimento** | Execute, compile e diagnostique seu projeto usando a CLI. |
34
45
 
35
46
  ## 📦 Instalação
36
47
 
48
+ Requisitos: **Node.js 20 ou superior** ou um ambiente Bun compatível com o seu projeto.
49
+
50
+ Para instalar o Nexocord em um projeto existente:
51
+
37
52
  ```bash
38
53
  npm install nexocord discord.js
39
54
  ```
40
55
 
41
- ## ⚡ Primeiro bot com CLI
56
+ Para instalar a CLI globalmente:
42
57
 
43
58
  ```bash
44
- npx nexo create meu-bot
45
- cd meu-bot
46
- npx nexo dev
59
+ npm install --global nexocord
47
60
  ```
48
61
 
49
- Esse fluxo já cria a base inicial do projeto para você começar sem montar estrutura manualmente.
62
+ Você também pode utilizar o gerenciador de pacotes e o runtime de sua preferência.
50
63
 
51
- ## ⚙️ Configuração
52
- Crie um arquivo .env:
53
- ```txt
54
- TOKEN=seu_token_aqui
64
+ ## ⚡ Comece em segundos
65
+
66
+ Crie seu primeiro projeto com a CLI:
67
+
68
+ ```bash
69
+ nexo create meu-bot
70
+ cd meu-bot
71
+ nexo dev
55
72
  ```
56
73
 
74
+ Pronto! A CLI prepara a estrutura inicial para você começar a desenvolver.
75
+
57
76
  ## 🧰 CLI
58
- O Nexocord inclui uma CLI própria.
77
+
78
+ O Nexocord inclui comandos para acompanhar todo o ciclo de desenvolvimento.
79
+
80
+ | Comando | Descrição |
81
+ | --- | --- |
82
+ | `nexo create <nome>` | Cria um novo projeto. |
83
+ | `nexo init` | Adiciona o Nexocord a um projeto existente. |
84
+ | `nexo dev` | Executa o projeto em desenvolvimento. |
85
+ | `nexo build` | Compila o projeto para produção. |
86
+ | `nexo start` | Executa o projeto preparado para produção. |
87
+ | `nexo doctor` | Verifica possíveis problemas na configuração. |
88
+ | `nexo info` | Exibe informações do ambiente e do projeto. |
89
+ | `nexo update` | Executa o fluxo de atualização disponibilizado pela CLI. |
90
+
91
+ ### Configure o projeto com `nexo init`
92
+
93
+ O comando `init` permite selecionar interativamente a linguagem e o runtime, além de detectar configurações existentes.
94
+
95
+ Você também pode informar as opções diretamente:
59
96
 
60
97
  ```bash
61
- # criar projeto
62
- npx nexo create meu-bot
98
+ nexo init --language ts --runtime node
99
+ nexo init --language js --runtime bun
100
+ ```
101
+
102
+ Opções disponíveis:
63
103
 
64
- # desenvolvimento
65
- npx nexo dev
104
+ - `--language ts`: TypeScript.
105
+ - `--language js`: JavaScript.
106
+ - `--runtime node`: Node.js.
107
+ - `--runtime bun`: Bun.
66
108
 
67
- # arquivo customizado
68
- npx nexo dev src/index.ts
109
+ O comando procura preservar arquivos e scripts existentes e evita sobrescrever arquivos de projeto sem necessidade.
69
110
 
70
- # watch mode
71
- npx nexo dev --watch
111
+ ### Desenvolvimento e produção
72
112
 
73
- # produção
74
- npx nexo start dist/bot.js
113
+ ```bash
114
+ # Desenvolvimento
115
+ nexo dev
116
+
117
+ # Desenvolvimento com watch mode
118
+ nexo dev --watch
119
+
120
+ # Compilação
121
+ nexo build
122
+
123
+ # Execução em produção
124
+ nexo start
75
125
  ```
76
126
 
77
- ## 📂 Estrutura criada pelo template
127
+ O comportamento de compilação e execução depende da linguagem, do runtime e da configuração do projeto.
128
+
129
+ ## 🧩 Components V2
130
+
131
+ O Nexocord oferece uma API de construção de interfaces baseada nos Components V2 do Discord, permitindo compor mensagens com elementos como textos, divisores, botões, seções e outros componentes suportados pela biblioteca.
132
+
133
+ Exemplo ilustrativo:
134
+
135
+ ```ts
136
+ const components = [
137
+ ui.text("## Meu painel"),
138
+ ui.divider(),
139
+ ];
78
140
 
141
+ await ctx.reply({ components });
79
142
  ```
80
- 📂 meu-bot/
81
- ┣ 📂 src/
82
- ┃ ┣ 📂 commands/
83
- ┃ ┃ ┗ 📂 utils/
84
- ┃ ┃ ┗ 📜 ping.ts
85
- ┃ ┣ 📂 events/
86
- ┃ ┃ ┗ 📜 ready.ts
87
- ┃ ┗ 📜 index.ts
88
- ┗ 📜 package.json
143
+
144
+ A API de Components V2 do Nexocord é própria do framework. Consulte a documentação para conhecer as assinaturas, opções e limitações de cada componente.
145
+
146
+ 📚 **[Ver documentação de Components V2](https://nexocord.vercel.app/docs/components-v2)**
147
+
148
+ ## ⚙️ Configuração
149
+
150
+ Crie um arquivo `.env` na raiz do projeto:
151
+
152
+ ```env
153
+ TOKEN=seu_token_aqui
154
+ ```
155
+
156
+ Mantenha seu token privado. Nunca publique credenciais no GitHub nem as inclua diretamente no código-fonte.
157
+
158
+ Adicione arquivos de ambiente ao `.gitignore`:
159
+
160
+ ```gitignore
161
+ .env
162
+ .env.*
163
+ !.env.example
164
+ ```
165
+
166
+ ## 📂 Organização do projeto
167
+
168
+ Um projeto criado pelo template pode seguir uma estrutura modular como esta:
169
+
170
+ ```text
171
+ meu-bot/
172
+ ├── src/
173
+ │ ├── commands/
174
+ │ │ └── utils/
175
+ │ │ └── ping.ts
176
+ │ ├── events/
177
+ │ │ └── ready.ts
178
+ │ └── index.ts
179
+ ├── package.json
180
+ └── .env
89
181
  ```
90
182
 
91
- ## 🚧 Status do projeto
183
+ - **`commands/`** — comandos do bot.
184
+ - **`events/`** — eventos do Discord.
185
+ - **`index.ts`** — ponto de entrada do projeto.
186
+
187
+ A extensão dos arquivos depende da linguagem escolhida durante a configuração.
188
+
189
+ ## 🔥 O que esperar da V2.0.0?
190
+
191
+ A versão **2.0.0** marca uma nova etapa para o Nexocord, com mudanças importantes na forma de criar comandos e construir interfaces com Components V2.
192
+
193
+ Por envolver mudanças na API, exemplos e implementações feitos para versões anteriores podem precisar de ajustes.
194
+
195
+ Antes de atualizar um projeto existente, consulte a documentação correspondente à versão instalada e as notas de migração.
196
+
197
+ > **Atenção:** a versão 2.0.0 deve ser tratada como uma atualização potencialmente incompatível (*breaking change*). Publique as notas definitivas de migração junto com a versão oficial.
198
+
199
+ ## 📚 Documentação
200
+
201
+ Aprenda a instalar, configurar e utilizar os recursos do framework.
202
+
203
+ - 🌐 **Site oficial:** [nexocord.vercel.app](https://nexocord.vercel.app/)
204
+ - 📦 **Pacote npm:** [npmjs.com/package/nexocord](https://www.npmjs.com/package/nexocord)
205
+ - 💻 **Código-fonte:** [github.com/mitsukiie/NexoCord](https://github.com/mitsukiie/NexoCord)
206
+ - 🐛 **Problemas e sugestões:** [GitHub Issues](https://github.com/mitsukiie/NexoCord/issues)
207
+
208
+ ## 🤝 Contribuindo
209
+
210
+ Sugestões, correções e contribuições são bem-vindas!
211
+
212
+ 1. Faça um fork do repositório.
213
+ 2. Crie uma branch para sua alteração.
214
+ 3. Implemente e teste suas mudanças.
215
+ 4. Abra um Pull Request com uma descrição clara.
216
+
217
+ Para relatar um problema, utilize a seção de [Issues](https://github.com/mitsukiie/NexoCord/issues).
218
+
219
+ ## 📄 Licença
220
+
221
+ O Nexocord é distribuído sob a licença [MIT](LICENSE).
222
+
223
+ Você pode utilizar, modificar e redistribuir o projeto de acordo com os termos da licença.
224
+
225
+ ---
226
+
227
+ <div align="center">
92
228
 
93
- O Nexocord está em desenvolvimento ativo.
94
- Feedbacks e contribuições são bem-vindos!
229
+ **Nexocord — Menos boilerplate. Mais possibilidades. ⚡**
95
230
 
96
- ## Licença
231
+ Feito com dedicação por [Mitsuki](https://github.com/mitsukiie).
97
232
 
98
- MIT. Veja o arquivo `LICENSE`.
233
+ </div>