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

https://github.com/s4m-mo/sandcastle

A high-performance, lightweight build tool.
https://github.com/s4m-mo/sandcastle

build-tool castle cli go productivity productivity-tools sandcastle

Last synced: 4 months ago
JSON representation

A high-performance, lightweight build tool.

Awesome Lists containing this project

README

          

# 🏰
SandCastle

**SandCastle** is a high performance, lightweight build tool for any language, OS or shell.

- [🏰 SandCastle](#--sandcastle)
- [Usage](#usage)
- [Arguments](#arguments)
- [_castle.yaml_](#castleyaml)
- [Installation](#installation)
- [Binaries](#binaries)
- [Windows](#windows)
- [Linux](#linux)
- [MacOS](#macos)
- [From Source](#from-source)
- [Recognised Shells](#recognised-shells)

# Usage

## Arguments

- `` run the specified task.

## _castle.yaml_

This is a configuration file that contains all of the tasks and things that you want **SandCastle** to do.

Create a _castle.yaml_ file, using `castle init` or any other method of your choice.

The contents are as follows.

```yaml
config: # the configuration options
log_shell_cmds: true # should it give a title for shell steps in a task?

# log_level is for the internal logging of SandCastle
log_level: debug # choose one of "info", "debug", "warn", "error" or "none" - these are

tasks: # the tasks, use the name of the task as a CLI argument
run: # the name of the task
- echo "Hello, World!" # the steps of the task
- echo "Second Step!"
deploy: # another task
- echo "Deployed!" # you can use shell commands, or any other terminal command
```

Now, if we wanted to run the `deploy` task, we would run `castle deploy`. Just like that!

# Installation

## Binaries

### Windows

- Download the `castle.exe` binary from [releases page](https://github.com/sam-the-programmer/sandcastle/releases/latest).
- Add it to your `$PATH` and you're good to go!

### Linux

- Download the `castle` binary from [releases page](https://github.com/sam-the-programmer/sandcastle/releases/latest).
- Add it to your `$PATH` and you're good to go!

### MacOS

- Download the `castle-macos` binary from [releases page](https://github.com/sam-the-programmer/sandcastle/releases/latest).
- Rename it to `castle`
- Add it to your `$PATH` and you're good to go!

## From Source
Clone the repo and run **"go build"**. To run with a demo file, run **"castle run"** using SandCastle itself.

# Recognised Shells

In order to run shell commands, you need to have a shell installed. **SandCastle** supports the following shells:

- bash
- zsh
- sh
- csh
- ksh
- tcsh
- dash
- fish