@helyx/cli 0.5.2 → 0.5.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 38c70f7: Ship maintained public documentation with the bot package and point newly generated self-host projects to its version-matched offline copy.
8
+
9
+ ## 0.5.3
10
+
11
+ ### Patch Changes
12
+
13
+ - Add per-server command registration, shared command families, command-management controls, and the supporting configuration and persistence contracts.
14
+ - Include the fail-closed command write scope and optional release identifier in generated self-host environment contracts.
15
+ - Include live Starboard, FAQ and Tags packages in the reviewed self-host catalogue.
16
+
3
17
  ## 0.5.2
4
18
 
5
19
  ### Patch Changes
package/README.md CHANGED
@@ -16,6 +16,10 @@ helyx self-host update --confirm
16
16
 
17
17
  `self-host init` retrieves the current reviewed catalogue from the fixed Helyx API endpoint, validates a downloaded build manifest against it, creates a new starter-project directory, pins the runtime and selected official modules, generates a lockfile with lifecycle scripts disabled, and writes checksums. The request has strict timeout, response-size, JSON-schema and official-package checks; no arbitrary catalogue URL or stale bundled fallback is accepted. Add `--install` only when the dependencies should also be installed locally. Unknown, unpublished, duplicated, stale or modified package selections fail closed.
18
18
 
19
+ Generated projects include `DOCUMENTATION.md`, which points to the
20
+ version-matched public documentation bundled with the installed `@helyx/bot`
21
+ package.
22
+
19
23
  `self-host update --check` reads the current project and the reviewed catalogue from `api.helyx.gg`, then reports the complete compatible release-set change without writing files. `--confirm` backs up the managed metadata under `.helyx/backups`, updates exact core, CLI and selected live-module versions together, refreshes and validates the lockfile with lifecycle scripts disabled, and restores the original metadata if generation fails. Run `npm ci` and `npm run doctor` after applying an update. The updater never changes `.env` or customer database data.
20
24
 
21
25
  The package is published under the Helyx Source Available Licence. Generated projects contain deployment configuration and exact public npm dependencies; they do not contain Helyx source code or credentials.
@@ -9,6 +9,7 @@ const generatedFileNames = [
9
9
  ".gitignore",
10
10
  ".npmrc",
11
11
  "Dockerfile",
12
+ "DOCUMENTATION.md",
12
13
  "compose.yaml",
13
14
  "README.md",
14
15
  ];
@@ -304,6 +305,11 @@ export const selfHostEnvironmentContract = {
304
305
  value: "900",
305
306
  optional: true,
306
307
  },
308
+ HELYX_GUILD_COMMAND_WRITES_ENABLED: { value: "false", optional: false },
309
+ HELYX_GUILD_COMMAND_WRITE_SCOPE: { value: "allowlist", optional: false },
310
+ HELYX_GUILD_COMMAND_RELEASE_ID: { value: "", optional: true },
311
+ HELYX_GLOBAL_COMMAND_MODE: { value: "legacy", optional: false },
312
+ HELYX_GUILD_COMMAND_WRITE_GUILD_IDS: { value: "", optional: true },
307
313
  HELYX_PRIVACY_ENABLED: { value: "false", optional: false },
308
314
  HELYX_GUILD_MEMBERS_ENABLED: { value: "false", optional: false },
309
315
  HELYX_PRIVACY_EXECUTOR_DATABASE_URL: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helyx/cli",
3
- "version": "0.5.2",
3
+ "version": "0.5.4",
4
4
  "description": "Command-line tools for running and generating self-hosted Helyx deployments.",
5
5
  "keywords": [
6
6
  "helyx",
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
- "catalogueVersion": 44,
3
+ "catalogueVersion": 47,
4
4
  "core": {
5
5
  "package": "@helyx/bot",
6
- "version": "0.4.37",
6
+ "version": "0.4.39",
7
7
  "availability": "published"
8
8
  },
9
9
  "generator": {
10
10
  "package": "@helyx/cli",
11
- "version": "0.5.2",
11
+ "version": "0.5.4",
12
12
  "command": "helyx",
13
13
  "availability": "published"
14
14
  },
@@ -16,7 +16,7 @@
16
16
  {
17
17
  "id": "helyx.feedback",
18
18
  "package": "@helyx/module-feedback",
19
- "version": "1.1.15",
19
+ "version": "1.1.17",
20
20
  "name": "Feedback",
21
21
  "description": "Collects simple feedback from Discord server members.",
22
22
  "category": "Community",
@@ -46,7 +46,7 @@
46
46
  {
47
47
  "id": "helyx.suggestions",
48
48
  "package": "@helyx/module-suggestions",
49
- "version": "1.1.15",
49
+ "version": "1.1.17",
50
50
  "name": "Suggestions",
51
51
  "description": "Collects community ideas with configurable reaction or button voting.",
52
52
  "category": "Community",
@@ -61,7 +61,7 @@
61
61
  {
62
62
  "id": "helyx.polls",
63
63
  "package": "@helyx/module-polls",
64
- "version": "1.0.13",
64
+ "version": "1.0.14",
65
65
  "name": "Polls",
66
66
  "description": "Run clear single or multiple-choice polls.",
67
67
  "category": "Community",
@@ -76,12 +76,12 @@
76
76
  {
77
77
  "id": "helyx.starboard",
78
78
  "package": "@helyx/module-starboard",
79
- "version": "1.0.1",
79
+ "version": "1.0.3",
80
80
  "name": "Starboard",
81
81
  "description": "Highlight messages your community values.",
82
82
  "category": "Community",
83
- "availability": "unpublished",
84
- "releaseStatus": "testing",
83
+ "availability": "published",
84
+ "releaseStatus": "live",
85
85
  "dependencies": [],
86
86
  "moduleKind": "customer_feature",
87
87
  "customerSelectable": true,
@@ -91,7 +91,7 @@
91
91
  {
92
92
  "id": "helyx.levels",
93
93
  "package": "@helyx/module-levels",
94
- "version": "1.0.11",
94
+ "version": "1.0.12",
95
95
  "name": "Levels",
96
96
  "description": "Optional participation levels and rewards.",
97
97
  "category": "Community",
@@ -211,7 +211,7 @@
211
211
  {
212
212
  "id": "helyx.account-gate",
213
213
  "package": "@helyx/module-account-gate",
214
- "version": "1.0.12",
214
+ "version": "1.0.14",
215
215
  "name": "Access Control",
216
216
  "description": "Require new members to complete configurable Discord interaction checks before gaining access.",
217
217
  "category": "Safety",
@@ -256,7 +256,7 @@
256
256
  {
257
257
  "id": "helyx.forms",
258
258
  "package": "@helyx/module-forms",
259
- "version": "1.0.5",
259
+ "version": "1.0.6",
260
260
  "name": "Forms",
261
261
  "description": "Collect reusable structured responses through Discord modals.",
262
262
  "category": "Support & Staff",
@@ -271,12 +271,12 @@
271
271
  {
272
272
  "id": "helyx.faq",
273
273
  "package": "@helyx/module-faq",
274
- "version": null,
275
- "name": "Knowledge base",
276
- "description": "Answer common questions with maintained server guidance.",
274
+ "version": "1.0.2",
275
+ "name": "FAQ",
276
+ "description": "Create reusable server answers with exact text triggers.",
277
277
  "category": "Support & Staff",
278
- "availability": "planned",
279
- "releaseStatus": "planned",
278
+ "availability": "published",
279
+ "releaseStatus": "live",
280
280
  "dependencies": [],
281
281
  "moduleKind": "customer_feature",
282
282
  "customerSelectable": true,
@@ -436,7 +436,7 @@
436
436
  {
437
437
  "id": "helyx.reactionroles",
438
438
  "package": "@helyx/module-reactionroles",
439
- "version": "1.0.12",
439
+ "version": "1.0.14",
440
440
  "name": "Reaction Roles",
441
441
  "description": "Let members select approved roles themselves.",
442
442
  "category": "Automation",
@@ -511,12 +511,12 @@
511
511
  {
512
512
  "id": "helyx.tags",
513
513
  "package": "@helyx/module-tags",
514
- "version": "1.0.1",
514
+ "version": "1.0.2",
515
515
  "name": "Tags",
516
516
  "description": "Save and share short server snippets.",
517
517
  "category": "Automation",
518
- "availability": "unpublished",
519
- "releaseStatus": "testing",
518
+ "availability": "published",
519
+ "releaseStatus": "live",
520
520
  "dependencies": [],
521
521
  "moduleKind": "customer_feature",
522
522
  "customerSelectable": true,
@@ -586,7 +586,7 @@
586
586
  {
587
587
  "id": "helyx.giveaways",
588
588
  "package": "@helyx/module-giveaways",
589
- "version": "1.0.13",
589
+ "version": "1.0.15",
590
590
  "name": "Giveaways",
591
591
  "description": "Run auditable giveaways with eligibility rules.",
592
592
  "category": "Engagement",
@@ -616,7 +616,7 @@
616
616
  {
617
617
  "id": "helyx.counting",
618
618
  "package": "@helyx/module-counting",
619
- "version": "1.0.3",
619
+ "version": "1.0.4",
620
620
  "name": "Counting",
621
621
  "description": "A focused, server-scoped Discord counting game.",
622
622
  "category": "Gaming",
@@ -631,7 +631,7 @@
631
631
  {
632
632
  "id": "helyx.trivia",
633
633
  "package": "@helyx/module-trivia",
634
- "version": "1.0.3",
634
+ "version": "1.0.4",
635
635
  "name": "Trivia",
636
636
  "description": "Play private trivia rounds from a saved question catalogue.",
637
637
  "category": "Gaming",
@@ -721,7 +721,7 @@
721
721
  {
722
722
  "id": "helyx.achievements",
723
723
  "package": "@helyx/module-achievements",
724
- "version": "1.0.4",
724
+ "version": "1.0.7",
725
725
  "name": "Achievements",
726
726
  "description": "Configurable member milestones, scores and optional rewards.",
727
727
  "category": "Gaming",
@@ -796,7 +796,7 @@
796
796
  {
797
797
  "id": "helyx.health",
798
798
  "package": "@helyx/module-health",
799
- "version": "1.0.1",
799
+ "version": "1.0.3",
800
800
  "name": "Server Health",
801
801
  "description": "Scan your Discord server for configuration, safety and capacity issues.",
802
802
  "category": "Insights",
@@ -871,7 +871,7 @@
871
871
  {
872
872
  "id": "helyx.nexus-core",
873
873
  "package": "@helyx/module-nexus-core",
874
- "version": "1.0.1",
874
+ "version": "1.0.3",
875
875
  "name": "Nexus Core",
876
876
  "description": "Provides the shared Nexus balance, ledger, terminology and command namespace.",
877
877
  "category": "Gaming",
@@ -886,7 +886,7 @@
886
886
  {
887
887
  "id": "helyx.nexus-rewards",
888
888
  "package": "@helyx/module-nexus-rewards",
889
- "version": "1.0.1",
889
+ "version": "1.0.2",
890
890
  "name": "Nexus Rewards",
891
891
  "description": "Configure Daily Claim and approved ways members earn Nexus units.",
892
892
  "category": "Community",
@@ -906,7 +906,7 @@
906
906
  {
907
907
  "id": "helyx.nexus-economy",
908
908
  "package": "@helyx/module-nexus-economy",
909
- "version": "1.0.1",
909
+ "version": "1.0.3",
910
910
  "name": "Nexus Economy",
911
911
  "description": "Run a Nexus Exchange with server rewards and member inventory.",
912
912
  "category": "Gaming",
@@ -66,6 +66,13 @@ HELYX_SHARD_MODE=off
66
66
  # HELYX_BOT_CONTROL_PORT=3001
67
67
  # HELYX_GUILD_RECONCILIATION_INTERVAL_SECONDS=900
68
68
 
69
+ # Guild command writes remain off until explicitly enabled for known guild IDs.
70
+ HELYX_GUILD_COMMAND_WRITES_ENABLED=false
71
+ HELYX_GUILD_COMMAND_WRITE_SCOPE=allowlist
72
+ # HELYX_GUILD_COMMAND_RELEASE_ID=
73
+ HELYX_GLOBAL_COMMAND_MODE=legacy
74
+ # HELYX_GUILD_COMMAND_WRITE_GUILD_IDS=
75
+
69
76
  # Privacy tooling ships with self-hosted Helyx but stays disabled until the
70
77
  # dedicated least-privilege executor connection has been configured.
71
78
  HELYX_PRIVACY_ENABLED=false
@@ -0,0 +1,15 @@
1
+ # Helyx documentation
2
+
3
+ The public documentation matching this installed Helyx runtime ships inside
4
+ `@helyx/bot`. Run `npm ci` first, then open:
5
+
6
+ [`node_modules/@helyx/bot/documentation/README.md`](node_modules/@helyx/bot/documentation/README.md)
7
+
8
+ That directory contains self-hosting guides, environment reference material,
9
+ operator runbooks, and module-authoring instructions. It is replaced when the
10
+ bot package is updated, so keep deployment-specific notes outside
11
+ `node_modules`.
12
+
13
+ The generated project's `.env.example` is the active configuration template.
14
+ Never add the real `.env` file, credentials, database dumps, or private logs to
15
+ a support bundle or source repository.
@@ -8,6 +8,9 @@ This self-host starter was generated from the reviewed Helyx catalogue. It conta
8
8
 
9
9
  Package installation and module activation are separate. Installed feature modules start disabled for every Discord server. Enable and configure them only after the bot is running.
10
10
 
11
+ The matching offline operator and module-author documentation is listed in
12
+ [`DOCUMENTATION.md`](DOCUMENTATION.md) after the project has been generated.
13
+
11
14
  ## Requirements
12
15
 
13
16
  - A Discord application and bot token