Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/teal-language/cyan
The Teal build system and project manager
https://github.com/teal-language/cyan
Last synced: 12 days ago
JSON representation
The Teal build system and project manager
- Host: GitHub
- URL: https://github.com/teal-language/cyan
- Owner: teal-language
- License: mit
- Created: 2021-02-23T00:26:42.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-23T01:03:41.000Z (4 months ago)
- Last Synced: 2024-08-01T19:57:34.576Z (3 months ago)
- Language: Lua
- Size: 543 KB
- Stars: 60
- Watchers: 7
- Forks: 6
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/contributing.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Cyan
A build system for the Teal language
[![test](https://github.com/teal-language/cyan/actions/workflows/test.yml/badge.svg)](https://github.com/teal-language/cyan/actions/workflows/test.yml)
```console
luarocks install cyan
```# Commands
- `build`: build a project based on `tlconfig.lua`
- `check`: type check one or more Teal files
- `gen`: type check and compile one or more Teal files
- `help`: show the help info and exit
- `init`: initialize a Teal project
- `run`: type check and run a Teal script
- `version`: show version info and exit
- `warnings`: list the warnings the compiler can generate and exit## Quick Start
```console
$ cyan init
```
Will create and populate a directory with a barebones `tlconfig.lua`, as well as a `src` and `build` directory.Create some files,
```console
$ echo 'print("Hello, World!")' > src/main.tl
```Compile them with `build`
```console
$ cyan build
Info Type checked src/main.tl
Info Wrote build/main.lua
```And run them as you would any lua file
```console
$ lua build/main.lua
Hello, World!
```For a more in depth explanation of the config options, documentation can be found [here](docs/tlconfig.md).
## API
The output of all the commands is much nicer for humans than it is for computers. If you'd like the output of commands, or to be able to load a config file in your own tooling, we provide a small api.
Auto-generated documentation can be found [here](https://teal-language.github.io/cyan/).