Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/willdoescode/ctp

Create That Project. Project Creation That Rocks 🎸🧱.
https://github.com/willdoescode/ctp

project rust template

Last synced: 2 months ago
JSON representation

Create That Project. Project Creation That Rocks 🎸🧱.

Awesome Lists containing this project

README

        

# Create That Project

![example workflow](https://github.com/willdoescode/ctp/actions/workflows/rust.yml/badge.svg)

![example](./assets/e.png)

[Config Example](./.ctp.example.toml)

### Install

```console
$ cargo install ctp
```

### Basic Info

In any file or even in the commands sections of your config file you can place {{\_\_NAME\_\_}} and/or {{\_\_OUT\_\_}}. Both of these will be replaced by their corresponding definitions that you pass in, hence dynamic.

{{\_\_NAME\_\_}} corresponds to the project name you passed into `ctp`

{{\_\_OUT\_\_}} corresponds to the project output directory you passed into `ctp` (defaults to the project name)

See [here](https://github.com/willdoescode/ctp/blob/main/proj-example/main.c) for why this is useful.

### Basic setup

Create `~/.ctp.toml` and populate with the following:

```toml
[templates]

[commands-before]

[commands-after]
```

Next, add the absolute path to a language template under `templates`

```toml
[templates]
c = ""
```

Finally, add whatever commands you would like to run like so:

```toml
[commands-before]
c = ["echo \"Creating project called {{_NAME__}} in directory {{__OUT__}}\""]

[commands-after]
c = ["gcc -o {{__NAME__}} {{__NAME__}}.c", "./{{__NAME__}}"]
```