Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/the-finding-labs/snugger

CLI tool to create express API projects with typescript
https://github.com/the-finding-labs/snugger

backend-template cli command-line-tool express javscript typescript

Last synced: 18 days ago
JSON representation

CLI tool to create express API projects with typescript

Awesome Lists containing this project

README

        


snugger logo

##



npm version



Snugger is a simple and lightweight library for generating type-safe API project with [Express](https://expressjs.com/). It is designed to help you quickly build a RESTful API project with [TypeScript](https://www.typescriptlang.org/).

It is named Snugger because it technically means Tightly fit and it is designed to be easy to use and not add unnecessary complexity to your project.

---

## ⚙️ Installation

If you do not have Node installed on your device, you are required to install it to run this tool.

You can install Snugger CLI using npm:

```bash
npm install -g snugger@latest
```

Additionally you can use yarn to install Snugger CLI:

```bash
yarn add -g snugger@latest
```

## ⚡Usage

To create a new Snugger project:

```bash
snugger create
```

```bash

-| Snugger CLI |-

Snugger v1.0.1 - A CLI for generating type-safe express APIs

Enter project name: [your-project-name]

Would you like to install dependencies? [y/n]

```

or

To get help and see all the flags:

```bash
snugger help
```

After creating the project run this:

```bash
cd

npm run dev
```

It will run your Express Typescript App.

Snugger generates the starting files for your project. You can configure your project folder and files according to your requirements.

To set up your project further, refer to the [Express Official docs](https://expressjs.com/)

## 🔷 Example

If you run a command like:

```bash
snugger create
```

```bash
-| Snugger CLI |-

Snugger v1.0.1 - A CLI for generating type-safe express APIs

Enter project name: express-typescript-api

Would you like to install dependencies? yes

```

It will create a new project in a directory named `express-typescript-api` with `package.json` like this :

```bash
{
"name": "express-typescript-api",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "nodemon --exec ts-node app.ts",
"build": "tsc",
"start": "node dist/app.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"cors": "^2.8.5",
"dotenv": "^16.4.5",
"express": "^4.21.1",
"mongoose": "^8.7.2"
},
"devDependencies": {
"@types/express": "^4.17.17",
"@types/cors": "^2.8.17",
"@types/node": "^20.6.0",
"ts-node": "^10.9.2",
"typescript": "^5.6.3"
}
}
```

## 👥 Contributing

We welcome contributions! Please see [CONTRIBUTING.md](docs/CONTRIBUTING.md) for details on how to contribute to this project.

## 📜 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.