@botonic/create-workspace 2.23.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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,213 @@
1
+ ## 2.23.0 (2026-03-20)
2
+
3
+ ### šŸš€ Features
4
+
5
+ - **create-workspace:** package renamed from `@botonic/create-botonic-workspace` to `@botonic/create-workspace`; default install uses public npm (no CodeArtifact or global npm config).
6
+
7
+ ### 🩹 Fixes
8
+
9
+ - **create-workspace:** `--registry` remains supported for Verdaccio / custom registries.
10
+
11
+ ## 2.22.1 (2026-03-19)
12
+
13
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
14
+
15
+ ## 2.22.0 (2026-03-16)
16
+
17
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
18
+
19
+ ## 2.21.0 (2026-03-16)
20
+
21
+ ### šŸš€ Features
22
+
23
+ - **botonic-nx-plugin:** set prod as default serve config and improve first-run UX #BLT-2243 ([#735](https://github.com/metis-ai/hubtype-product/pull/735))
24
+
25
+ ### ā¤ļø Thank You
26
+
27
+ - David Hidalgo @Davidhidalgo
28
+
29
+ ## 2.20.0 (2026-03-13)
30
+
31
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
32
+
33
+ ## 2.19.0 (2026-03-12)
34
+
35
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
36
+
37
+ ## 2.18.0 (2026-03-04)
38
+
39
+ ### šŸš€ Features
40
+
41
+ - **publishing:** package fixes, lilara rename & token/reset unification #BLT-2205 #BLT-2221 #BLT-2206 ([#701](https://github.com/metis-ai/hubtype-product/pull/701))
42
+
43
+ ### ā¤ļø Thank You
44
+
45
+ - David Hidalgo @Davidhidalgo
46
+
47
+ ## 2.17.0 (2026-03-02)
48
+
49
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
50
+
51
+ ## 2.16.0 (2026-02-23)
52
+
53
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
54
+
55
+ ## 2.15.0 (2026-02-13)
56
+
57
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
58
+
59
+ ## 2.14.0 (2026-02-05)
60
+
61
+ ### šŸš€ Features
62
+
63
+ - **botonic:** add E2E publish flow testing with Verdaccio ([#577](https://github.com/metis-ai/hubtype-product/pull/577))
64
+
65
+ ### ā¤ļø Thank You
66
+
67
+ - Marc Rabat @vanbasten17
68
+
69
+ ## 2.13.4 (2026-02-02)
70
+
71
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
72
+
73
+ ## 2.13.3 (2026-01-30)
74
+
75
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
76
+
77
+ ## 2.13.2 (2026-01-30)
78
+
79
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
80
+
81
+ ## 2.13.1 (2026-01-30)
82
+
83
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
84
+
85
+ ## 2.13.0 (2026-01-29)
86
+
87
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
88
+
89
+ ## 2.12.0 (2026-01-28)
90
+
91
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
92
+
93
+ ## 2.11.5 (2026-01-28)
94
+
95
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
96
+
97
+ ## 2.11.4 (2026-01-28)
98
+
99
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
100
+
101
+ ## 2.11.3 (2026-01-28)
102
+
103
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
104
+
105
+ ## 2.11.2 (2026-01-21)
106
+
107
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
108
+
109
+ ## 2.11.1 (2026-01-21)
110
+
111
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
112
+
113
+ ## 2.11.0 (2026-01-21)
114
+
115
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
116
+
117
+ ## 2.10.1 (2026-01-19)
118
+
119
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
120
+
121
+ ## 2.10.0 (2026-01-18)
122
+
123
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
124
+
125
+ ## 2.9.1 (2026-01-17)
126
+
127
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
128
+
129
+ ## 2.9.0 (2026-01-17)
130
+
131
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
132
+
133
+ ## 2.8.1 (2026-01-16)
134
+
135
+ ### 🩹 Fixes
136
+
137
+ - streamline CodeArtifact plugin installation process by configuring npm registry directly ([#523](https://github.com/metis-ai/hubtype-product/pull/523))
138
+
139
+ ### ā¤ļø Thank You
140
+
141
+ - David Hidalgo @Davidhidalgo
142
+
143
+ ## 2.8.0 (2026-01-16)
144
+
145
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
146
+
147
+ ## 2.7.1 (2026-01-16)
148
+
149
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
150
+
151
+ ## 2.7.0 (2026-01-15)
152
+
153
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
154
+
155
+ ## 2.6.0 (2025-12-09)
156
+
157
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
158
+
159
+ ## 2.5.0 (2025-12-09)
160
+
161
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
162
+
163
+ ## 2.4.1 (2025-12-08)
164
+
165
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
166
+
167
+ ## 2.4.0 (2025-12-05)
168
+
169
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
170
+
171
+ ## 2.3.3 (2025-12-04)
172
+
173
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
174
+
175
+ ## 2.3.2 (2025-12-04)
176
+
177
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
178
+
179
+ ## 2.3.1 (2025-12-04)
180
+
181
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
182
+
183
+ ## 2.3.0 (2025-12-04)
184
+
185
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
186
+
187
+ ## 2.2.1 (2025-12-04)
188
+
189
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
190
+
191
+ ## 2.2.0 (2025-12-04)
192
+
193
+ ### šŸš€ Features
194
+
195
+ - fine tuning botonic release #BLT-2010 ([#428](https://github.com/metis-ai/hubtype-product/pull/428))
196
+
197
+ ### ā¤ļø Thank You
198
+
199
+ - David Hidalgo @Davidhidalgo
200
+
201
+ ## 2.1.0 (2025-12-02)
202
+
203
+ ### šŸš€ Features
204
+
205
+ - fine tuning botonic release #BLT-2010 ([#428](https://github.com/metis-ai/hubtype-product/pull/428))
206
+
207
+ ### ā¤ļø Thank You
208
+
209
+ - David Hidalgo @Davidhidalgo
210
+
211
+ ## 2.0.1-alpha.0 (2025-11-27)
212
+
213
+ This was a version bump only for @botonic/create-botonic-workspace to align it with other projects, there were no code changes.
package/README.md ADDED
@@ -0,0 +1,65 @@
1
+ # @botonic/create-workspace
2
+
3
+ A CLI tool to quickly create new workspaces for Botonic bot development.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ npx @botonic/create-workspace my-botonic-workspace
9
+ ```
10
+
11
+ ## Options
12
+
13
+ - `--packageManager, -pm` - Package manager to use (`npm`, `yarn`, `pnpm`)
14
+ - `--interactive, -i` - Run in interactive mode (default: true)
15
+ - `--registry, -r` - Custom npm registry (e.g. Verdaccio) for `@botonic/*` in the new workspace
16
+ - `--help, -h` - Show help
17
+ - `--version, -v` - Show version
18
+
19
+ ## Examples
20
+
21
+ ```bash
22
+ # Create a workspace with default settings
23
+ npx @botonic/create-workspace my-workspace
24
+
25
+ # Create a workspace with yarn
26
+ npx @botonic/create-workspace my-workspace --packageManager=yarn
27
+
28
+ # Create a workspace non-interactively
29
+ npx @botonic/create-workspace my-workspace --no-interactive
30
+ ```
31
+
32
+ ## What it creates
33
+
34
+ This tool creates a new Nx workspace configured for Botonic development with:
35
+
36
+ - Nx workspace configuration
37
+ - Botonic dependencies pre-installed
38
+ - Nx Botonic plugin configured
39
+ - Development and build scripts
40
+ - TypeScript configuration
41
+ - ESLint and Prettier setup
42
+
43
+ ## After creation
44
+
45
+ Once your workspace is created, you can:
46
+
47
+ ```bash
48
+ cd my-workspace
49
+
50
+ # Create a new bot
51
+ nx g @botonic/nx-plugin:bot-app my-bot
52
+
53
+ # Serve the bot for development
54
+ nx serve my-bot
55
+
56
+ # Build the bot
57
+ nx build my-bot
58
+
59
+ # Run tests
60
+ nx test my-bot
61
+ ```
62
+
63
+ ## License
64
+
65
+ MIT
@@ -0,0 +1,172 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { execSync } = require('child_process')
4
+ const yargs = require('yargs/yargs')
5
+ const { hideBin } = require('yargs/helpers')
6
+
7
+ const argv = yargs(hideBin(process.argv))
8
+ .usage('Usage: $0 <workspace-name> [options]')
9
+ .command('$0 <name>', 'Create a new Botonic workspace', yargs => {
10
+ return yargs
11
+ .positional('name', {
12
+ describe: 'Name of the workspace',
13
+ type: 'string',
14
+ })
15
+ .option('interactive', {
16
+ alias: 'i',
17
+ describe: 'Run in interactive mode',
18
+ type: 'boolean',
19
+ default: true,
20
+ })
21
+ .option('registry', {
22
+ alias: 'r',
23
+ describe:
24
+ 'Use a custom npm registry (e.g. Verdaccio); writes workspace .npmrc for @botonic scope',
25
+ type: 'string',
26
+ })
27
+ })
28
+ .help()
29
+ .alias('help', 'h')
30
+ .version()
31
+ .alias('version', 'v').argv
32
+
33
+ const workspaceName = argv.name
34
+ const interactive = argv.interactive
35
+ const registry = argv.registry
36
+
37
+ // Build exec options - use custom registry via env var if provided (session-only, no global config changes)
38
+ // Also clear NX_* env vars to avoid interference from parent workspace
39
+ const cleanEnv = { ...process.env }
40
+ delete cleanEnv.NX_WORKSPACE_ROOT_PATH
41
+ delete cleanEnv.NX_WORKSPACE_ROOT
42
+ delete cleanEnv.NX_DAEMON
43
+
44
+ const execOptions = {
45
+ stdio: 'inherit',
46
+ env: registry ? { ...cleanEnv, NPM_CONFIG_REGISTRY: registry } : cleanEnv,
47
+ }
48
+
49
+ console.log('šŸ¤– Creating Botonic workspace...')
50
+ console.log(`šŸ“ Workspace name: ${workspaceName}`)
51
+ if (registry) {
52
+ console.log(`šŸ“” Registry: ${registry}`)
53
+ }
54
+
55
+ try {
56
+ // Step 1: Create the workspace using create-nx-workspace with TypeScript preset
57
+ const createCommand = [
58
+ 'npx create-nx-workspace@latest',
59
+ workspaceName,
60
+ '--preset=ts',
61
+ '--packageManager=pnpm',
62
+ interactive ? '' : '--no-interactive',
63
+ ]
64
+ .filter(Boolean)
65
+ .join(' ')
66
+
67
+ console.log(
68
+ `\nšŸš€ Step 1: Creating TypeScript workspace with: ${createCommand}\n`
69
+ )
70
+
71
+ execSync(createCommand, {
72
+ ...execOptions,
73
+ cwd: process.cwd(),
74
+ })
75
+
76
+ console.log('\nāœ… Base workspace created!')
77
+ console.log('šŸ”§ Step 2: Installing Botonic plugin...')
78
+
79
+ const workspaceDir = `./${workspaceName}`
80
+
81
+ // Configure registry in the new workspace
82
+ if (registry) {
83
+ // Create .npmrc in new workspace for custom registry with fake auth token
84
+ // (local registries like Verdaccio with $all publish access accept any token)
85
+ // Also set @botonic:registry to override any user-level scoped registry config
86
+ const fs = require('fs')
87
+ const path = require('path')
88
+ const registryHost = registry.replace(/^https?:\/\//, '').replace(/\/$/, '')
89
+ const npmrcContent = [
90
+ `@botonic:registry=${registry}`,
91
+ `//${registryHost}/:_authToken=local-dev-token`,
92
+ '',
93
+ ].join('\n')
94
+ fs.writeFileSync(path.join(workspaceDir, '.npmrc'), npmrcContent)
95
+ console.log(`\nšŸ“ Created .npmrc with custom registry: ${registry}`)
96
+ }
97
+
98
+ const installPluginCommand = `pnpm add -D @botonic/nx-plugin`
99
+
100
+ console.log(
101
+ `\nšŸ“¦ Installing Botonic plugin from ${registry || 'public npm'}: ${installPluginCommand}`
102
+ )
103
+
104
+ execSync(installPluginCommand, {
105
+ ...execOptions,
106
+ cwd: workspaceDir,
107
+ })
108
+
109
+ console.log('šŸ”§ Step 3: Configuring Botonic workspace...')
110
+
111
+ // Step 3: Now run the generator (plugin is installed)
112
+ const configureBotonicCommand = [
113
+ 'npx nx g @botonic/nx-plugin:preset',
114
+ workspaceName,
115
+ '--packageManager=pnpm',
116
+ '--no-interactive',
117
+ ]
118
+ .filter(Boolean)
119
+ .join(' ')
120
+
121
+ console.log(`\nāš™ļø Configuring Botonic with: ${configureBotonicCommand}`)
122
+
123
+ execSync(configureBotonicCommand, {
124
+ ...execOptions,
125
+ cwd: workspaceDir,
126
+ })
127
+
128
+ // Restore custom registry .npmrc (preset generator may have overwritten it)
129
+ if (registry) {
130
+ const fs = require('fs')
131
+ const path = require('path')
132
+ const registryHost = registry.replace(/^https?:\/\//, '').replace(/\/$/, '')
133
+ const npmrcContent = [
134
+ `@botonic:registry=${registry}`,
135
+ `//${registryHost}/:_authToken=local-dev-token`,
136
+ '',
137
+ ].join('\n')
138
+ fs.writeFileSync(path.join(workspaceDir, '.npmrc'), npmrcContent)
139
+ console.log(`\nšŸ“ Restored .npmrc with custom registry: ${registry}`)
140
+ }
141
+
142
+ // Install dependencies added by preset (e.g. @nx/react) with --no-frozen-lockfile
143
+ // since the lockfile was created before these deps were added to package.json.
144
+ console.log('\nšŸ“¦ Step 4: Installing preset dependencies...')
145
+ const installDepsCommand = `pnpm install --no-frozen-lockfile`
146
+ execSync(installDepsCommand, {
147
+ ...execOptions,
148
+ cwd: workspaceDir,
149
+ })
150
+ console.log('\nāœ… All dependencies installed!')
151
+
152
+ console.log(`
153
+ šŸŽ‰ Botonic workspace configured successfully!
154
+
155
+ šŸ“¦ Dependencies installed:
156
+ • @nx/react - for React-based bot apps
157
+ • @botonic/nx-plugin - for Botonic generators
158
+
159
+ šŸ“ Next steps:
160
+
161
+ • Enter to the created project:
162
+ cd ${workspaceName}
163
+
164
+ • Create your first bot app with:
165
+ npx nx g @botonic/nx-plugin:bot-app my-bot
166
+
167
+ šŸ¤– Happy bot building!
168
+ `)
169
+ } catch (error) {
170
+ console.error('āŒ Failed to create Botonic workspace:', error.message)
171
+ process.exit(1)
172
+ }
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@botonic/create-workspace",
3
+ "version": "2.23.0",
4
+ "description": "Create a new workspace for Botonic bot development",
5
+ "main": "index.js",
6
+ "bin": {
7
+ "create-workspace": "./bin/create-workspace.js"
8
+ },
9
+ "keywords": [
10
+ "botonic",
11
+ "nx",
12
+ "workspace",
13
+ "create",
14
+ "generator",
15
+ "chatbot",
16
+ "hubtype"
17
+ ],
18
+ "author": "Hubtype",
19
+ "license": "MIT",
20
+ "dependencies": {
21
+ "create-nx-workspace": "^21.0.3",
22
+ "yargs": "^17.0.0"
23
+ },
24
+ "publishConfig": {
25
+ "access": "public"
26
+ }
27
+ }
package/project.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@botonic/create-workspace",
3
+ "$schema": "../../../node_modules/nx/schemas/project-schema.json",
4
+ "sourceRoot": "libs/botonic/create-workspace",
5
+ "projectType": "library",
6
+ "targets": {
7
+ "build": {
8
+ "executor": "nx:run-commands",
9
+ "outputs": ["{workspaceRoot}/dist/libs/botonic/create-workspace"],
10
+ "options": {
11
+ "commands": [
12
+ "mkdir -p dist/libs/botonic/create-workspace",
13
+ "cp -r libs/botonic/create-workspace/* dist/libs/botonic/create-workspace/"
14
+ ],
15
+ "parallel": false
16
+ }
17
+ },
18
+ "lint": {
19
+ "executor": "@nx/eslint:lint",
20
+ "outputs": ["{options.outputFile}"],
21
+ "options": {
22
+ "lintFilePatterns": ["libs/botonic/create-workspace/**/*.js"]
23
+ }
24
+ }
25
+ },
26
+ "tags": ["scope:botonic", "type:cli"]
27
+ }