@nanoforge-dev/cli 1.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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright © 2026 NanoForge
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,111 @@
1
+ <div align="center">
2
+ <br />
3
+ <p>
4
+ <a href="https://github.com/NanoForge-dev"><img src="https://github.com/NanoForge-dev/CLI/blob/main/.github/logo.png" width="546" alt="NanoForge" /></a>
5
+ </p>
6
+ <br />
7
+ <p>
8
+ <a href="https://github.com/NanoForge-dev/CLI/actions"><img src="https://github.com/NanoForge-dev/CLI/actions/workflows/tests.yml/badge.svg" alt="Tests status" /></a>
9
+ <a href="https://github.com/NanoForge-dev/CLI/commits/main"><img src="https://img.shields.io/github/last-commit/NanoForge-dev/CLI.svg?logo=github&logoColor=ffffff" alt="Last commit." /></a>
10
+ <a href="https://github.com/NanoForge-dev/CLI/graphs/contributors"><img src="https://img.shields.io/github/contributors/NanoForge-dev/CLI.svg?maxAge=3600&logo=github&logoColor=fff&color=00c7be" alt="contributors" /></a>
11
+ <a href="https://github.com/NanoForge-dev/docs/actions/workflows/deploy.yml"><img src="https://github.com/NanoForge-dev/docs/actions/workflows/deploy.yml/badge.svg" alt="Documentation status" /></a>
12
+ </p>
13
+ </div>
14
+
15
+ ## About
16
+
17
+ This repository contains the CLI of NanoForge. Check [releases][github-releases] to see versions of the CLI. Nanoforge is a powerful game engine for web browser.
18
+
19
+ ## Usage
20
+
21
+ To use Nanoforge CLI, please refer to the [CLI documentation][cli-source] !
22
+
23
+ First, install the CLI :
24
+
25
+ ```bash
26
+ npm install -g @nanoforge-dev/cli
27
+ ```
28
+
29
+ And then create a new project :
30
+
31
+ ```bash
32
+ nf new
33
+ ```
34
+
35
+ ## Documentation
36
+
37
+ The documentation for nanoforge cli can be found at : [https://nanoforge-dev.github.io/docs/cli](https://nanoforge-dev.github.io/docs/cli)
38
+
39
+ ## Commands
40
+
41
+ The nanoforge client interface has multiple commands usable :
42
+
43
+ ```sh
44
+ nf [command] [options]
45
+ ```
46
+
47
+ ### `build`
48
+
49
+ Used to build your nanoforge project.
50
+
51
+ - `-d, --directory [directory]` specify the directory of the nanoforge project to build.
52
+ - `-c, --config [config]` path to the config file.
53
+ - `--client-outDir [clientDirectory]` specifies the client directory.
54
+ - `--server-outDir [serverDirectory]` specifies the server directory.
55
+
56
+ ### `generate`
57
+
58
+ Used to generate nanoforge project files from config
59
+
60
+ - `-d, --directory [directory]` specify the directory of the nanoforge project to build.
61
+ - `-c, --config [config]` path to the config file.
62
+
63
+ ### `install` or `add`
64
+
65
+ Used to add a nanoforge library to your project
66
+
67
+ - `-d, --directory [directory]` specify the directory of the nanoforge project to build.
68
+
69
+ ### `new`
70
+
71
+ Used to create a new nanoforge project
72
+
73
+ - `-d, --directory [directory]` specify the directory of your project
74
+ - `--name [name]` specify the name of your project
75
+ - `--path [path]` specify the path of your project
76
+ - `--package-manager [packageManager]` specify the package manager of your project
77
+ - `--language [language]` specify the language of your project
78
+ - `--strict` use strict mode
79
+ - `--no-strict` do not use strict mode
80
+ - `--server` create a server
81
+ - `--no-server` do not create a server
82
+ - `--init-functions` initialize functions
83
+ - `--no-init-functions` do not initialize functions
84
+ - `--skip-install` skip installing dependencies
85
+ - `--no-skip-install` do not skip installing dependencies
86
+
87
+ ### `start`
88
+
89
+ Used to start your nanoforge project
90
+
91
+ - `-d, --directory [directory]` specify the directory of your project
92
+ - `-c, --config [config]` path to the config file (default: "nanoforge.config.json")
93
+ - `-p, --client-port [clientPort]` specify the port of the loader (the website to load the game)
94
+ - `--game-exposure-port [gameExposurePort]` specify the port of the game exposure
95
+ - `--server-port [serverPort]` specify the port of the server
96
+
97
+ ## Contributing
98
+
99
+ Please read through our [contribution guidelines][contributing] before starting a pull request. We welcome contributions of all kinds, not just code! If you're stuck for ideas, look for the [good first issue][good-first-issue] label on issues in the repository. If you have any questions about the project, feel free to ask them on [Discussions][discussions]. Before creating your own issue or pull request, always check to see if one already exists! Don't rush contributions, take your time and ensure you're doing it correctly.
100
+
101
+ ## Help
102
+
103
+ If you don't understand something in the documentation, you are experiencing problems, or you just need a gentle nudge in the right direction, please ask on [Discussions][discussions].
104
+
105
+ [contributing]: https://github.com/NanoForge-dev/CLI/blob/main/.github/CONTRIBUTING.md
106
+ [discussions]: https://github.com/NanoForge-dev/CLI/discussions
107
+ [cli-source]: https://github.com/NanoForge-dev/CLI
108
+ [github-releases]: https://github.com/NanoForge-dev/CLI/releases
109
+ [good-first-issue]: https://github.com/NanoForge-dev/CLI/contribute
110
+
111
+ The config file schema can be found at : [https://nanoforge-dev.github.io/docs/cli/config-schema.json](https://nanoforge-dev.github.io/docs/cli/config-schema.json)
@@ -0,0 +1,8 @@
1
+ import { Command } from 'commander';
2
+
3
+ declare class CommandLoader {
4
+ static load(program: Command): Promise<void>;
5
+ private static handleInvalidCommand;
6
+ }
7
+
8
+ export { CommandLoader };