Skip to content

thecodegoddess/aitum-cc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aitum-cc

Aitum's Custom Code Wrapper

To non-developers / users looking to learn

The following parts will require an IDE (dev-speak for a text editor) for you to have an easy time.

We recommend using Visual Studio Code as it's a free and decent IDE to get started with.

If you want to take the time and understand the tooling that is commonly used in the dev world, take a look at Facehair4000's Beginner's Guide to Software Engineering and Web Development, which is an excellent series to get you started.

Installation

Make sure you have NodeJS installed on your computer, which you can install from here.

Clone or download (via the green button near the top right of this page > Download ZIP) this repository into a suitable place on your computer.

Open the folder up in your IDE.

Open up an integrated terminal or equivalent and install the dependencies:

npm i

After installing dependencies, run the following to generate your settings.env file.

npm run setup

This creates a settings.env file at the root directory of the project.

Edit your settings.env to customise the name you want for this CC instance and to include your APIKey from within Aitum. The API Key can be found from within Settings > Aitum Settings > API Key.

Getting started

Now that you're all set up, let's get the environment running.

Just to ensure you've got the latest versions of aitum.js and the CC lib, run:

npm run upgrade

The CC environment is build with rapid iteration in mind and thus we've chosen to always hot reload on code changes.

To run the wrapper:

npm run start

The wrapper will automatically find the Aitum master on your network and attempt to connect. If there are any issues connecting, they will be logged to your terminal.

Custom Actions

Included by default is a Dummy Action, which you can edit or duplicate.

An action is split up into 3 parts: name, inputs and method. It is advised against changing the format of how things are laid out in an effort to keep custom actions shared in the community to a level of consistency, to prevent unneeded extra work when someone provides support.

Name

This is your action's name, change the value to whatever you wish for it to display within the Aitum App.

Inputs

This is your action's inputs.

If you don't need inputs, set the value of inputs to an empty object ({}).

There are currently 4 different possible input types:

StringInput

For simple text inputs.

Example:

new StringInput('What is your name?', validation)
Validation options:
{
  required: boolean;
  minLength?: number;
  maxLength?: number;
}

BooleanInput

For boolean (true/false) inputs.

Example:

new BooleanInput('Are you a fun person?', validation)
Validation options:
{
  required: boolean;
}

IntInput

For integer (whole numbers) inputs.

Example:

new IntInput('How old are you?', validation)
Validation options:
{
  required: boolean;
  minValue?: number;
  maxValue?: number;
}

FloatInput

For floating point (decimal numbers) inputs.

Example:

new FloatInput('Volume', validation)
Validation options:
{
  required: boolean;
  minValue?: number;
  maxValue?: number;
}

Method

This is where the fun stuff happens. Write your code in here!

Passed down to this method is a variable called inputs which includes the data sent to the action from within the Aitum App.

For interaction with Aitum's API, you can utilise Aitum.JS (already installed).

Registering an action

Registering actions is automatic, so long as you have a .ts (TypeScript) file within the /actions/ directory that adheres to the specs above.

Warranty

Aitum takes no responsibility for any damage caused by using Aitum, Aitum CC or any other libraries. All custom code used is with the understanding that the user knows what they are running and takes full responsibility any code ran and its outcomes.

About

Aitum's Custom Code Wrapper

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%