Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ To get ready to work on the codebase, please do the following:
2. Run `pnpm install --frozen-lockfile` ([install](https://pnpm.io/installation))
3. Make your changes
4. Run `pnpm format && pnpm build && pnpm test:unit` to run ESLint/Prettier, build and tests
5. [Submit a pull request](https://github.com/NanoForge-dev/schematics/compare) (Make sure you follow the [conventional commit format](https://github.com/NanoForge-dev/CLI/blob/main/.github/COMMIT_CONVENTION.md))
5. [Submit a pull request](https://github.com/NanoForge-dev/schematics/compare) (Make sure you follow the [conventional commit format](https://github.com/NanoForge-dev/schematics/blob/main/.github/COMMIT_CONVENTION.md))
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/01-command_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ body:
- configuration
- part-base
- part-main
- other
validations:
required: true
- type: textarea
Expand Down
5 changes: 3 additions & 2 deletions .github/ISSUE_TEMPLATE/02-feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
name: Feature request
description: Request a new feature
labels: [enhancement request]
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
Thank you for submitting an idea !
- type: dropdown
id: application_or_schematics
id: schematics
attributes:
label: Which schematics is this feature request for?
options:
- application
- configuration
- part-base
- part-main
- other
validations:
required: true
- type: textarea
Expand Down
6 changes: 6 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,9 @@ schematics:part-main:
- any-glob-to-any-file:
- src/libs/part-main/*
- src/libs/part-main/**/*

documentation:
- changed-files:
- any-glob-to-any-file:
- docs/*
- docs/**/*
98 changes: 26 additions & 72 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
<div align="center">
<br />
<p>
<a href="https://github.com/NanoForge-dev"><img src="https://github.com/NanoForge-dev/schematics/blob/main/.github/logo.png" width="546" alt="NanoForge" /></a>
</p>
<br />
<p>
<a href="https://github.com/NanoForge-dev/schematics/actions"><img src="https://github.com/NanoForge-dev/schematics/actions/workflows/tests.yml/badge.svg" alt="Tests status" /></a>
<a href="https://github.com/NanoForge-dev/schematics/commits/main"><img src="https://img.shields.io/github/last-commit/NanoForge-dev/schematics.svg?logo=github&logoColor=ffffff" alt="Last commit." /></a>
<a href="https://github.com/NanoForge-dev/schematics/graphs/contributors"><img src="https://img.shields.io/github/contributors/NanoForge-dev/Schematics.svg?maxAge=3600&logo=github&logoColor=fff&color=00c7be" alt="contributors" /></a>
</p>
<br />
<p>
<a href="https://github.com/NanoForge-dev"><img src="https://github.com/NanoForge-dev/schematics/blob/main/.github/logo.png" width="546" alt="NanoForge" /></a>
</p>
<br />
<p>
<a href="https://www.npmjs.com/package/@nanoforge-dev/schematics"><img src="https://img.shields.io/npm/v/@nanoforge-dev/schematics.svg?maxAge=3600" alt="npm version" /></a>
<a href="https://www.npmjs.com/package/@nanoforge-dev/schematics"><img src="https://img.shields.io/npm/dt/@nanoforge-dev/schematics.svg?maxAge=3600" alt="npm downloads" /></a>
<a href="https://github.com/NanoForge-dev/schematics/actions/workflows/tests.yml"><img src="https://github.com/NanoForge-dev/schematics/actions/workflows/tests.yml/badge.svg" alt="Tests status" /></a>
<a href="https://github.com/NanoForge-dev/schematics/actions/workflows/push-docs.yml"><img src="https://github.com/NanoForge-dev/schematics/actions/workflows/push-docs.yml/badge.svg" alt="Documentation status" /></a>
<a href="https://github.com/NanoForge-dev/schematics/commits/main"><img src="https://img.shields.io/github/last-commit/NanoForge-dev/schematics.svg?logo=github&logoColor=ffffff" alt="Last commit" /></a>
<a href="https://github.com/NanoForge-dev/schematics/graphs/contributors"><img src="https://img.shields.io/github/contributors/NanoForge-dev/schematics.svg?maxAge=3600&logo=github&logoColor=fff&color=00c7be" alt="Contributors" /></a>
</p>
</div>

## About
Expand All @@ -17,9 +20,9 @@ This repository contains the Schematics of NanoForge. Check [releases][github-re

## Usage

To use Nanoforge Schematics, please refer to the [Schematics documentation][cli-source] !
To use Nanoforge Schematics, please refer to the [CLI documentation][cli-source] !

First, install the Schematics :
First, install the CLI :

```bash
npm install -g @nanoforge-dev/cli
Expand All @@ -31,63 +34,14 @@ And then create a new project :
nf new
```

## Commands
## Schematics

The nanoforge client interface has multiple commands usable :
This repository provide multiples schematics, usable with Angular Devkit schematics.

```sh
nf [command] [options]
```

### `build`

Used to build your nanoforge project.

`-d, --directory [directory]` specify the directory of the nanoforge project to build.
`-c, --config [config]` path to the config file.
`--client-outDir [clientDirectory]` specifies the client directory.
`--server-outDir [serverDirectory]` specifies the server directory.

### `generate`

Used to generate nanoforge project files from config

`-d, --directory [directory]` specify the directory of the nanoforge project to build.
`-c, --config [config]` path to the config file.

### `install` or `add`

Used to add a nanoforge library to your project

`-d, --directory [directory]` specify the directory of the nanoforge project to build.

### `new`

Used to create a new nanoforge project

`-d, --directory [directory]` specify the directory of your project
`--name [name]` specify the name of your project
`--path [path]` specify the path of your project
`--package-manager [packageManager]` specify the package manager of your project
`--language [language]` specify the language of your project
`--strict` use strict mode
`--no-strict` do not use strict mode
`--server` create a server
`--no-server` do not create a server
`--init-functions` initialize functions
`--no-init-functions` do not initialize functions
`--skip-install` skip installing dependencies
`--no-skip-install` do not skip installing dependencies

### `start`

Used to start your nanoforge project

`-d, --directory [directory]` specify the directory of your project
`-c, --config [config]` path to the config file (default: "nanoforge.config.json")
`-p, --client-port [clientPort]` specify the port of the loader (the website to load the game)
`--game-exposure-port [gameExposurePort]` specify the port of the game exposure
`--server-port [serverPort]` specify the port of the server
- `application` : Base of a Nanoforge app
- `configuration` : Template of `nanoforge.config.json` with premade fields
- `part-base` : Base of Nanoforge client or server
- `part-main` : Client or server `main.ts` from a config

## Contributing

Expand All @@ -97,8 +51,8 @@ Please read through our [contribution guidelines][contributing] before starting

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].

[contributing]: https://github.com/NanoForge-dev/Schematics/blob/main/.github/CONTRIBUTING.md
[discussions]: https://github.com/NanoForge-dev/Schematics/discussions
[cli-source]: https://github.com/NanoForge-dev/Schematics
[github-releases]: https://github.com/NanoForge-dev/Schematics/releases
[good-first-issue]: https://github.com/NanoForge-dev/Schematics/contribute
[contributing]: https://github.com/NanoForge-dev/schematics/blob/main/.github/CONTRIBUTING.md
[discussions]: https://github.com/NanoForge-dev/schematics/discussions
[cli-source]: https://github.com/NanoForge-dev/CLI
[github-releases]: https://github.com/NanoForge-dev/schematics/releases
[good-first-issue]: https://github.com/NanoForge-dev/schematics/contribute
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
"type": "git",
"url": "git+https://github.com/NanoForge-dev/schematics.git"
},
"funding": "",
"funding": "https://github.com/NanoForge-dev/schematics?sponsor",
"scripts": {
"build": "tsc --noEmit && tsup",
"postbuild": "pnpm run copy:collection && pnpm run copy:lib",
Expand Down Expand Up @@ -79,7 +79,6 @@
"husky": "^9.1.7",
"lint-staged": "^16.2.6",
"prettier": "^3.6.2",
"taze": "^19.9.0",
"tsup": "^8.5.1",
"typescript": "^5.9.3",
"typescript-eslint": "^8.46.2"
Expand Down