0.0.2 • Published 12 months ago

botjam v0.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
12 months ago

botjam

Botjam is a simple, declarative, and agent-less system configuration automation tool in TypeScript.

image

Features

  • Ansible-like syntax
  • Autocomplete friendly TypeScript
  • Declarative syntax
  • Fast execution
  • Agent-less

Getting Started

First, install it:

pnpm install botjam

Then, write your first configuration. This example sets up a cronjob to remove systemd logs.

// dotfiles.ts

import { botjam } from '../dist'

botjam.configure({
  servers: ['localhost'],
})

for (const dotfile of ['.tmux.conf', 'prettier.config.js']) {
  botjam.tasks.file({
    src: `~/.dotfiles/home/${dotfile}`,
    dest: `~/${dotfile}`,
    state: 'link',
  })
}

botjam.run()

Running that script will configure server and the output should be like this:

✔ [1/2] Ensure file existence of: .tmux.conf
ℹ ==> CHANGED                                                                       8:02:53 PM
✔ [2/2] Ensure file existence of: prettier.config.js
ℹ Cleaning up...                                                                    8:02:53 PM
✔ Success!                                                                          8:02:53 PM

TODO

  • Add more core modules
  • Remote file controls
  • Secrets management
  • Extra vers on runtime
0.0.2

12 months ago

0.0.1

12 months ago