Skip to main content

BoilerSync CLI

boilersync scaffolds projects from templates and keeps templates alive as projects evolve.

BoilerSync Ensemble

BoilerSync works as a small ensemble of tools:

  • boilersync-cli for scaffold, pull, and push workflows.
  • boilersync-desktop for repository diff review, staging, commit, and push workflows.
  • Editor integration (Cursor/VS Code extension workflows) for fast editing and context switching.

For the full workflow guide, read docs/ensemble.md. For template metadata reference, read docs/template-metadata.md.

Quick Start

# 1) Clone a template source into your local BoilerSync cache
boilersync templates init https://github.com/your-org/your-templates.git

# 2) Initialize a project from a source-qualified template ref
boilersync init your-org/your-templates#python/service-template

# Well-defaulted templates can be initialized without prompts
mkdir my-app-workspace
cd my-app-workspace
boilersync init your-org/your-templates#python/service-template --non-interactive

# 3) Pull template updates into the current project when needed
boilersync pull

# 4) Check project divergence from the current template
boilersync diff

# 5) Create a reviewable pull proposal without mutating the project
boilersync pull-proposal create

# 6) Push committed project changes back into the template source
boilersync push

Command Overview

  • boilersync init TEMPLATE_REF: create a project from a template (empty target directory).
  • boilersync init TEMPLATE_REF --non-interactive: create a project without prompts when defaults and automatic values cover all inputs.
  • boilersync check-pull: compare the project's recorded template repo commit against the current cached template repo HEAD.
  • boilersync diff: render the upstream template with the project's saved variables and show how the current project has diverged.
  • boilersync pull [TEMPLATE_REF]: apply template updates to an existing project.
  • boilersync pull-proposal create: create a temp git repo containing proposed pull changes for review.
  • boilersync pull-proposal apply-file PROPOSAL_DIR PATH: copy one proposed file into the current project.
  • boilersync pull-proposal apply-patch PATCH: apply selected hunks from a saved patch.
  • boilersync push: review and copy committed project changes back to the template.
  • boilersync templates init: clone a template source repository into the local cache.

Use command help for full flags:

boilersync --help
boilersync init --help
boilersync check-pull --help
boilersync diff --help
boilersync pull --help
boilersync pull-proposal --help
boilersync push --help
boilersync templates --help

Template References

Template commands accept:

  • org/repo#path/to/template
  • https://github.com/org/repo#path/to/template
  • https://github.com/org/repo.git#path/to/template

GitHub is the only supported host for source-qualified template refs.

Source-qualified refs clone (if missing) into:

${BOILERSYNC_TEMPLATE_DIR:-~/.boilersync/templates}/<org>/<repo>

Project Tracking

After scaffold or pull, BoilerSync writes .boilersync metadata in the project root so future pull/push operations can resolve the original template source. That metadata now includes the last pulled template repo commit so boilersync check-pull can tell whether the project is behind template HEAD. For the field-by-field schema and validation rules, see docs/project-metadata.md.

Template Conventions

  • Files ending in .boilersync are rendered and emitted without that extension.
  • Files with .starter as the first extension are starter-only files.
  • Every template root must include template.json, which supports inheritance (extends/parent), defaults, child templates, hooks, and optional GitHub repo creation.
  • Project naming is provided through standard template variables such as name_snake and name_pretty.
  • template.json defaults can derive variables from naming values, such as "api_package_name": "$${name_snake}_api" or "web_package_name": "$${name_kebab}-web".
  • Default project-name inference strips a trailing -workspace / _workspace suffix from the target directory name.
  • If a template references github_user, BoilerSync tries to populate it with gh api user --jq .login before prompting or failing in non-interactive mode.

Documentation Policy

This repository intentionally avoids hand-written API reference docs. If API docs are ever included, they should be generated and linked from this README.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boilersync-1.2.18.tar.gz (60.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

boilersync-1.2.18-py3-none-any.whl (49.2 kB view details)

Uploaded Python 3

File details

Details for the file boilersync-1.2.18.tar.gz.

File metadata

  • Download URL: boilersync-1.2.18.tar.gz
  • Upload date:
  • Size: 60.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for boilersync-1.2.18.tar.gz
Algorithm Hash digest
SHA256 cc1f47bde552e090ee0f1694d6d8c817e7a42437f4a7df39c3749e47e6a58e88
MD5 a565be855c600cdf6ef017dd5a85c16e
BLAKE2b-256 7585ca9756110a32f976299ee91affe00bf5674c2b3c7d37100860ff8aefd989

See more details on using hashes here.

File details

Details for the file boilersync-1.2.18-py3-none-any.whl.

File metadata

  • Download URL: boilersync-1.2.18-py3-none-any.whl
  • Upload date:
  • Size: 49.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for boilersync-1.2.18-py3-none-any.whl
Algorithm Hash digest
SHA256 61b4fc501cdb968596ce6a6aee800027fb7e6b32261e314fff1eab1c2c4c7f79
MD5 248ff0a7c0d9483abd329b77ff0ae288
BLAKE2b-256 bdd544e5865897b4d173b7b3528ab90fff7f3414e64c7c2d229e9c9175ddd201

See more details on using hashes here.

Release history Release notifications | RSS feed

1.2.21

2 files

1.2.20

2 files

1.2.19

2 files

This release

1.2.18 This release

2 files

1.2.17

2 files

1.2.16

2 files

1.2.15

2 files

1.2.14

2 files

1.2.13

2 files

1.2.6

2 files

1.2.5

2 files

1.2.4

2 files

1.2.2

2 files

1.2.1

2 files

1.1.1

2 files

0.1.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page