spawnpack 0.1.25 → 0.2.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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 veedy-dev
3
+ Copyright (c) 2026 ve3dy
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -2,25 +2,22 @@
2
2
 
3
3
  Spawnpack is a Bun-powered CLI for scaffolding Minecraft Bedrock add-on projects with a guided terminal wizard.
4
4
 
5
- It generates BP/RP structure, optional Script API setup, optional rgl integration, marketplace-ready namespaced content folders, and optional AI tooling files.
5
+ It generates a paired behavior pack and resource pack, an optional TypeScript script setup built with [rgl](https://github.com/ink0rr/rgl), marketplace-ready resource pack folders, and optional AI agent instructions.
6
6
 
7
7
  ## Features
8
8
 
9
9
  - Inline wizard built with `@clack/prompts`
10
- - Behavior Pack and Resource Pack scaffold
11
- - Scripting options: None, JavaScript, TypeScript
12
- - Optional packages:
10
+ - Behavior Pack and Resource Pack scaffold with paired manifests
11
+ - Scripting options: None, TypeScript (always built with rgl)
12
+ - Optional Script API packages:
13
13
  - `@minecraft/server`
14
14
  - `@minecraft/server-ui`
15
15
  - `@minecraft/vanilla-data`
16
16
  - `@minecraft/math`
17
- - Optional `rgl` setup for faster Bedrock builds
18
- - Optional marketplace add-on structure using nested `namespace/projectId` folders in BP/RP content directories
19
- - Optional Rockide recommendation during setup
20
- - Optional AI setup:
21
- - `CLAUDE.md` for Claude
22
- - `AGENTS.md` for Other
23
- - `.mcp.json` with keyless MCP servers
17
+ - Marketplace structure that nests resource pack `textures/` and `sounds/` under `publisher_id/project_id`
18
+ - Optional `AGENTS.md` for AI coding agents
19
+ - Rockide and dprint recommendations in `.vscode/extensions.json`
20
+ - Generated `.gitattributes` with LF normalization and binary rules for pack assets
24
21
 
25
22
  ## Runtime Requirement
26
23
 
@@ -74,56 +71,47 @@ The wizard walks through:
74
71
  1. Project name and author
75
72
  2. Marketplace add-on structure toggle
76
73
  3. Destination folder
77
- 4. Script API setup
74
+ 4. Script API setup (`None` or `TypeScript`)
78
75
  5. Publisher ID and Project ID when needed
79
- 6. Script packages
80
- 7. `rgl` toggle
81
- 8. Rockide toggle
82
- 9. AI setup choice (`None`, `Claude`, or `Other`)
83
- 10. Review screen and generation
84
-
85
- ## Generated project options
76
+ 6. Script packages when scripting is enabled
77
+ 7. `AGENTS.md` confirmation
78
+ 8. Review screen with the planned file tree, then generation
79
+
80
+ ## Generated project
81
+
82
+ Every project gets:
83
+
84
+ - `packs/BP/manifest.json` and `packs/RP/manifest.json` with paired UUIDs
85
+ - `packs/BP/texts/{en_US.lang,languages.json}` and `packs/RP/texts/{en_US.lang,languages.json}`
86
+ - `packs/RP/blocks.json`, `sounds.json`, `sounds/sound_definitions.json`
87
+ - `packs/RP/textures/{item_texture,terrain_texture,flipbook_textures}.json`
88
+ - Empty content folders for blocks, entities, items, loot tables, recipes, spawn rules, structures, trading, animations, particles, models, UI, and textures
89
+ - `.gitignore`
90
+ - `.gitattributes`
91
+ - `.vscode/extensions.json`
92
+ - `README.md`
93
+ - `AGENTS.md` when requested
86
94
 
87
- Depending on your choices, Spawnpack can generate:
95
+ Projects with TypeScript also get:
88
96
 
89
- - `packs/BP`
90
- - `packs/RP`
91
- - `data/scripts/main.ts`
92
- - `packs/BP/scripts/<publisher-id>/<project-id>/main.js`
93
- - `package.json`
94
- - `tsconfig.json`
97
+ - `data/scripts/main.ts` and `data/scripts/tsconfig.json`, plus empty `lib/` and `modules/` folders
98
+ - `package.json` with `typecheck` and `format` scripts
95
99
  - `dprint.json`
96
- - `config.json` for `rgl`
97
- - `CLAUDE.md`
98
- - `AGENTS.md`
99
- - `.mcp.json`
100
-
101
- ## AI MCP setup
102
-
103
- When AI setup is enabled, Spawnpack generates an `.mcp.json` that works out of the box without API keys.
104
-
105
- Generated MCP servers currently include:
106
-
107
- - Exa hosted MCP (`https://mcp.exa.ai/mcp`) for free, rate-limited web/documentation search
108
- - `grep_app` for code search
109
- - `context7` for library documentation context
110
-
111
- You can add your own Exa API key later if you need higher Exa limits, but it is not required for the generated scaffold.
100
+ - `config.json` for rgl
101
+ - `filters/typegen/` and `filters/rolldown/`
112
102
 
113
103
  ## Marketplace structure mode
114
104
 
115
- When enabled, Spawnpack creates marketplace-style nested folders under many BP/RP content directories.
116
-
117
- Example:
105
+ When enabled, resource pack assets that Minecraft resolves by bare path are grouped under the publisher and project IDs:
118
106
 
119
107
  ```text
120
- packs/BP/animation_controllers/publisher/sample/
121
- packs/BP/entities/publisher/sample/
122
- packs/RP/animation_controllers/publisher/sample/
123
- packs/RP/textures/items/publisher/sample/
108
+ packs/RP/textures/publisher/sample/blocks/
109
+ packs/RP/textures/publisher/sample/entity/
110
+ packs/RP/textures/publisher/sample/items/
111
+ packs/RP/sounds/publisher/sample/
124
112
  ```
125
113
 
126
- This helps multiple add-ons coexist more safely in the same world by reducing content path collisions.
114
+ Behavior pack content stays flat. Resource pack JSON still references these assets with paths relative to `packs/RP/`.
127
115
 
128
116
  ## Script dependency versions
129
117
 
@@ -134,7 +122,7 @@ Spawnpack fetches the latest stable npm versions for:
134
122
  - `@minecraft/vanilla-data`
135
123
  - `@minecraft/math`
136
124
 
137
- If version lookup fails, it falls back to baked stable defaults.
125
+ If version lookup fails, it falls back to baked stable defaults. `min_engine_version` in both manifests follows `@minecraft/vanilla-data`.
138
126
 
139
127
  Only runtime Script API modules, currently `@minecraft/server` and `@minecraft/server-ui`, are written to the behavior pack manifest. npm-side libraries such as `@minecraft/vanilla-data` and `@minecraft/math` stay in the generated `package.json` for imports and bundling.
140
128
 
@@ -146,13 +134,14 @@ bun run typecheck
146
134
  bun run build
147
135
  ```
148
136
 
137
+ `templates/AGENTS.md` and `templates/filters/typegen/main.js` are embedded into `dist/spawnpack.js` at build time, so the published bundle needs no runtime template files.
138
+
149
139
  ## Publish notes
150
140
 
151
141
  The npm package is configured to publish only:
152
142
 
153
143
  - `dist/spawnpack.js`
154
144
  - `bin/spawnpack.js`
155
- - `templates/AGENTS.md`
156
145
  - `README.md`
157
146
  - `LICENSE`
158
147
  - `package.json`