@soulcraft/brainy 0.28.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1366,6 +1366,77 @@ see [DEVELOPERS.md](DEVELOPERS.md).
1366
1366
 
1367
1367
  We have a [Code of Conduct](CODE_OF_CONDUCT.md) that all contributors are expected to follow.
1368
1368
 
1369
+ ## Release Workflow
1370
+
1371
+ Brainy uses a streamlined release workflow that automates version updates, changelog generation, GitHub releases, and NPM deployment.
1372
+
1373
+ ### Automated Release Process
1374
+
1375
+ The release workflow combines several steps into a single command:
1376
+
1377
+ 1. **Build the project** - Ensures the code compiles correctly
1378
+ 2. **Run tests** - Verifies that all tests pass
1379
+ 3. **Update version** - Bumps the version number (patch, minor, or major)
1380
+ 4. **Generate changelog** - Automatically updates CHANGELOG.md with commit messages since the last release
1381
+ 5. **Create GitHub release** - Creates a GitHub release with auto-generated notes
1382
+ 6. **Publish to NPM** - Deploys the package to NPM
1383
+
1384
+ ### Release Commands
1385
+
1386
+ Use one of the following commands to release a new version:
1387
+
1388
+ ```bash
1389
+ # Release with patch version update (0.0.x)
1390
+ npm run workflow:patch
1391
+
1392
+ # Release with minor version update (0.x.0)
1393
+ npm run workflow:minor
1394
+
1395
+ # Release with major version update (x.0.0)
1396
+ npm run workflow:major
1397
+
1398
+ # Default workflow (same as patch)
1399
+ npm run workflow
1400
+
1401
+ # Dry run (build, test, and simulate version update without making changes)
1402
+ npm run workflow:dry-run
1403
+ ```
1404
+
1405
+ ### Commit Message Format
1406
+
1407
+ For best results with automatic changelog generation, follow the [Conventional Commits](https://www.conventionalcommits.org/) specification for your commit messages:
1408
+
1409
+ ```
1410
+ <type>(<scope>): <description>
1411
+
1412
+ [optional body]
1413
+
1414
+ [optional footer(s)]
1415
+ ```
1416
+
1417
+ Where `<type>` is one of:
1418
+ - `feat`: A new feature (maps to **Added** section)
1419
+ - `fix`: A bug fix (maps to **Fixed** section)
1420
+ - `chore`: Regular maintenance tasks (maps to **Changed** section)
1421
+ - `docs`: Documentation changes (maps to **Documentation** section)
1422
+ - `refactor`: Code changes that neither fix bugs nor add features (maps to **Changed** section)
1423
+ - `perf`: Performance improvements (maps to **Changed** section)
1424
+
1425
+ ### Manual Release Process
1426
+
1427
+ If you need more control over the release process, you can use the individual commands:
1428
+
1429
+ ```bash
1430
+ # Update version and generate changelog
1431
+ npm run release:patch # or release:minor, release:major
1432
+
1433
+ # Create GitHub release
1434
+ npm run github-release
1435
+
1436
+ # Publish to NPM
1437
+ npm publish
1438
+ ```
1439
+
1369
1440
  ## License
1370
1441
 
1371
1442
  [MIT](LICENSE)