https://github.com/xcritical-software/boltify
⚡A tool for managing projects with multiple packages based on Bolt.
https://github.com/xcritical-software/boltify
monorepo project-management workspaces yarn
Last synced: about 2 months ago
JSON representation
⚡A tool for managing projects with multiple packages based on Bolt.
- Host: GitHub
- URL: https://github.com/xcritical-software/boltify
- Owner: xcritical-software
- License: mit
- Created: 2019-08-30T22:59:55.000Z (over 5 years ago)
- Default Branch: develop
- Last Pushed: 2023-01-04T09:55:59.000Z (over 2 years ago)
- Last Synced: 2025-03-21T11:51:12.341Z (2 months ago)
- Topics: monorepo, project-management, workspaces, yarn
- Language: TypeScript
- Homepage:
- Size: 1.37 MB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 45
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Boltify
> A tool for managing projects with multiple packages based on [Bolt](http://boltpkg.com/).
[](https://travis-ci.com/xcritical-software/boltify)
#### What are workspaces?
A _workspace_ is like any other node package: It's just a directory with its
own `package.json`.Workspaces are grouped into a single "project". A _project_ is also just a
node package at the root of your repository. This is sometimes referred to
as a "monorepo", but we prefer the term "multi-package repo".```
project
├── package.json
├── workspace-one
│ ├── package.json
│ └── index.js
└── workspace-two
├── package.json
└── index.js
```Put another way, workspaces are just like any other package, except they are
nested within a larger project/repo. Each workspace can have its own code and scripts. Workspaces can also be grouped into
sub-directories for further organization.> **Note:** This idea is not new, other tools like [Lerna](https://lernajs.io)
> have existed for awhile and are used by many projects. Boltify is a fresh take
> on the idea.## Commands
> **Note:** Boltify is under active development and some of these commands have
> not yet been implemented.| Command | Description | Status |
| --------------------------------------- | ------------------------------------------------------------------------- |--------|
| [`boltify version`](./src/commands/version#readme) | **Updates the version of your package(s)** |✅|
| └ `boltify version --only [name glob]` | Filter package(s) by name |✅|
| └ `boltify version --ignore [name glob]` | Filter out package(s) by name |✅|
| └ `boltify version --only-fs [file glob]` | Filter package(s) by file path |✅|
| └ `boltify version --ignore-fs [file glob]` | Filter out package(s) by file path |✅|
| └ `boltify version --no-git-tag-version` | New tag(s) will not be added and pushed |✅|
| └ `boltify version --no-push` | New tag(s) will not be pushed |✅|
| [`boltify run [script]`](./src/commands/run#readme) | **Run a script in a package** |✅|
| └ `boltify run --only [name glob]` | Filter package(s) by name |✅|
| └ `boltify run --ignore [name glob]` | Filter out package(s) by name |✅|
| └ `boltify run --only-fs [file glob]` | Filter package(s) by file path |✅|
| └ `boltify run --ignore-fs [file glob]` | Filter out package(s) by file path |✅|
| └ `boltify run --since ref` | Filter package(s) that have been updated since the specified `ref` |✅|
| [`boltify workspaces/ws`](./src/commands/workspaces#readme) | **Show package(s):** ||
| └ `boltify ws --only [name glob]` | Filter package(s) by name |✅|
| └ `boltify ws --ignore [name glob]` | Filter out package(s) by name |✅|
| └ `boltify ws --only-fs [file glob]` | Filter package(s) by file path |✅|
| └ `boltify ws --ignore-fs [file glob]` | Filter out package(s) by file path |✅|
| └ `boltify ws --since ref` | Filter package(s) that have been updated since the specified `ref` |✅|