Update documentation
This commit is contained in:
		
							parent
							
								
									00e35a2d0f
								
							
						
					
					
						commit
						3e8c2f94ff
					
				
					 3 changed files with 15 additions and 20 deletions
				
			
		
							
								
								
									
										23
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										23
									
								
								README.md
									
										
									
									
									
								
							| 
						 | 
					@ -12,23 +12,20 @@
 | 
				
			||||||
<br/>
 | 
					<br/>
 | 
				
			||||||
<br/>
 | 
					<br/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Table of contents
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- [Table of contents](#table-of-contents)
 | 
					 | 
				
			||||||
- [Introduction](#introduction)
 | 
					 | 
				
			||||||
- [Quick-start](#quick-start)
 | 
					 | 
				
			||||||
- [Example](#example)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Introduction
 | 
					## Introduction
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**CuteKit** is a simple - yet - powerful build system and package manager for C and C++. It:
 | 
					**CuteKit** is a suite of tools and utilities for compiling, cross-compiling, linking, and packaging project written in low-level languages such as C, C++ or, Rust. Anything from a simple library to an operating system can be built using CuteKit.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- ✨ 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 uses **JSON**: Cutekit uses JSON instead of introducing a whole new programming language for describing the project. And also has macros for more advanced use cases (see [Jexpr](doc/spec/jexpr.md)).
 | 
				
			||||||
- ✨ It's a **package manager**: Cutekit package manager is based on **Git**, nothing is centralized.
 | 
					- ✨ It's a **package manager**: Cutekit package manager is based on **Git**, nothing is centralized.
 | 
				
			||||||
- ✨ It's **extendible**: Cutekit can be [extended](./doc/extends.md) by writing custom Python plugins.
 | 
					- ✨ It's **extendible**: Cutekit can be [extended](./doc/extends.md) by writing custom Python plugins.
 | 
				
			||||||
- ✨ It's **easy**: the [**templates**](./doc/templates.md) help the user quick-start a project.
 | 
					- ✨ 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.
 | 
					- ✨ It's **portable**: Cutekit works on Linux, Windows, and MacOS.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## CuteKit in the wild
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [SkiftOS](https://github.com/skift-org/skift) : A hobbyist operating system written in C++.
 | 
				
			||||||
 | 
					- [WKHtmlToPdf](https://github.com/odoo/wkhtmltopdf) : [Odoo](https://github.com/odoo/odoo)'s fork of wkhtmltopdf which is a command line tools to render HTML into PDF and various image formats using the Qt WebKit rendering engine.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Installation
 | 
					## Installation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,9 +44,9 @@ $ pip install --user -e .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Quick-start
 | 
					## Quick-start
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-> 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).
 | 
					- 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).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-> 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`.
 | 
					- 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`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Example
 | 
					## Example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,15 +1,15 @@
 | 
				
			||||||
# Cutekit 
 | 
					# Cutekit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Cutekit is a build system that aims to be simple, fast and easy to use.
 | 
					Cutekit is a build system that aims to be simple, fast and easy to use.
 | 
				
			||||||
A project is described using json files.
 | 
					A project is described using json files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Project file 
 | 
					## Project file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The project file is used to describe the project and its dependencies.
 | 
					The project file is used to describe the project and its dependencies.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
See: [doc/spec/project.md](doc/spec/project.md) for the full specification.
 | 
					See: [doc/spec/project.md](doc/spec/project.md) for the full specification.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Example: 
 | 
					Example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
> project.json
 | 
					> project.json
 | 
				
			||||||
```json
 | 
					```json
 | 
				
			||||||
| 
						 | 
					@ -35,7 +35,7 @@ Here we describe a project with the id `skift-org/skift` and a dependency to `cu
 | 
				
			||||||
When you want to create an executable package, you need to create a `manifest.json` file in any directory under `src/`.
 | 
					When you want to create an executable package, you need to create a `manifest.json` file in any directory under `src/`.
 | 
				
			||||||
This is the file that describe an executable with its dependencies.
 | 
					This is the file that describe an executable with its dependencies.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
> src/nyan-cat-app/manifest.json   
 | 
					> src/nyan-cat-app/manifest.json
 | 
				
			||||||
```json
 | 
					```json
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    "$schema": "https://schemas.cute.engineering/stable/cutekit.manifest.component.v1",
 | 
					    "$schema": "https://schemas.cute.engineering/stable/cutekit.manifest.component.v1",
 | 
				
			||||||
| 
						 | 
					@ -56,7 +56,7 @@ You can run the executable by running `$ ck run nyan-cat-app`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
When you want to create a library package, you need to create a `manifest.json` file in any directory under `src/`, like an executable package.
 | 
					When you want to create a library package, you need to create a `manifest.json` file in any directory under `src/`, like an executable package.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
> src/easy-lib/manifest.json   
 | 
					> src/easy-lib/manifest.json
 | 
				
			||||||
```json
 | 
					```json
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    "$schema": "https://schemas.cute.engineering/stable/cutekit.manifest.component.v1",
 | 
					    "$schema": "https://schemas.cute.engineering/stable/cutekit.manifest.component.v1",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,5 +14,3 @@ from cutekit import cli
 | 
				
			||||||
def _(args: cli.Args) -> None:
 | 
					def _(args: cli.Args) -> None:
 | 
				
			||||||
    print("Hello world!")
 | 
					    print("Hello world!")
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					 | 
				
			||||||
This feature is used - for example - by [SkiftOS](https://github.com/skift-org/skift/blob/main/meta/plugins/start-cmd.py) to add the `start` command, that build packages and run a virtual machine.
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue