cutekit/README.md

67 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

<br/>
<br/>
<br/>
<p align="center">
<img src="logo.png" width="200" height="200">
</p>
<h1 align="center">CuteKit</h1>
<p align="center">
2023-11-21 12:53:57 +00:00
The *magical* build system and package manager
</p>
<br/>
<br/>
<br/>
2022-10-30 21:15:52 +00:00
2023-02-19 15:49:15 +00:00
## Table of contents
- [Table of contents](#table-of-contents)
2023-06-06 14:16:22 +00:00
- [Introduction](#introduction)
- [Quick-start](#quick-start)
- [Example](#example)
2023-02-19 15:49:15 +00:00
2023-11-15 09:57:51 +00:00
## Introduction
2022-10-30 21:15:52 +00:00
2023-11-15 09:57:51 +00:00
**CuteKit** is a simple - yet - powerful build system and package manager for C and C++. It:
2022-10-30 21:15:52 +00:00
2023-06-06 14:16:22 +00:00
- ✨ It uses **JSON**: Cutekit uses JSON instead of introducing a whole new programming language for describing the project. And also has macros to help the user experience (see [Jexpr](doc/spec/jexpr.md)).
- ✨ It's a **package manager**: Cutekit package manager is based on **Git**, nothing is centralized.
2023-11-15 09:57:51 +00:00
- ✨ It's **extendible**: Cutekit can be [extended](./doc/extends.md) by writing custom Python plugins.
2023-06-06 14:16:22 +00:00
- ✨ It's **easy**: the [**templates**](./doc/templates.md) help the user quick-start a project.
- ✨ It's **portable**: Cutekit can run on MacOS Gnu/Linux and Windows.
2022-10-30 21:15:52 +00:00
2023-11-15 09:57:51 +00:00
## Installation
2023-08-03 19:44:42 +00:00
To install Cutekit, you may use your favourite package manager if it is available. Or you can install it manually by following the instructions below.
```bash
$ git clone https://github.com/cute-engineering/cutekit
$ cd cutekit
# If you want to use the latest version of Cutekit, you can switch to the dev branch.
# $ git switch dev
$ pip install --user -e .
```
2023-11-15 09:57:51 +00:00
## Quick-start
2022-10-30 21:15:52 +00:00
2023-11-15 09:57:51 +00:00
-> If you directly want to start using Cutekit for a new project, you can just run `$ ck I host` and it will create a new project in the host directory (you can rename it later).
2022-10-30 21:15:52 +00:00
2023-06-06 14:16:22 +00:00
-> If you want to use Cutekit for writing operating systems, you can create a new [limine](https://github.com/limine-bootloader/limine/)-based project by running `$ ck I limine-barebone`.
2022-10-30 21:15:52 +00:00
2023-11-15 09:57:51 +00:00
## Example
2022-10-30 21:15:52 +00:00
2023-06-06 14:16:22 +00:00
If you want to see how it works you can read the [doc/cutekit.md](doc/cutekit.md) file.
2022-10-30 21:15:52 +00:00
2023-06-06 14:16:22 +00:00
# License
2022-10-30 21:15:52 +00:00
2023-06-06 14:16:22 +00:00
<a href="https://opensource.org/licenses/MIT">
<img align="right" height="96" alt="MIT License" src="doc/mit.svg" />
</a>
2022-10-30 21:15:52 +00:00
2023-06-06 14:16:22 +00:00
Cutekit is licensed under the **MIT License**.
2022-10-30 21:15:52 +00:00
2023-06-06 14:16:22 +00:00
The full text of the license can be accessed via [this link](https://opensource.org/licenses/MIT) and is also included in the [license.md](license.md) file of this software package.