feat(services): Improve services manager and configuration; switch test templates to @git.zone/tstest; bump dev dependencies and update docs

This commit is contained in:
2025-12-02 12:26:35 +00:00
parent b44624f2e7
commit af3e15e922
10 changed files with 80 additions and 67 deletions

View File

@@ -17,12 +17,10 @@ fileName: package.json
"buildDocs": "(tsdoc)"
},
"devDependencies": {
"@git.zone/tsbuild": "^2.1.25",
"@git.zone/tsbundle": "^2.0.5",
"@git.zone/tsrun": "^1.2.46",
"@git.zone/tstest": "^1.0.44",
"@push.rocks/tapbundle": "^5.0.15",
"@types/node": "^20.8.7"
"@git.zone/tsbuild": "^3.1.2",
"@git.zone/tsrun": "^2.0.0",
"@git.zone/tstest": "^3.1.3",
"@types/node": "^24.10.1"
},
"dependencies": {}
}

View File

@@ -1,8 +1,8 @@
import { expect, expectAsync, tap } from '@push.rocks/tapbundle';
import { expect, tap } from '@git.zone/tstest/tapbundle';
import * as {{module.name}} from '../ts/index.js'
tap.test('first test', async () => {
console.log({{module.name}})
})
tap.start()
export default tap.start()

View File

@@ -17,18 +17,18 @@ fileName: package.json
"build": "(tsbuild --web --allowimplicitany)"
},
"devDependencies": {
"@git.zone/tsbuild": "^2.1.17",
"@git.zone/tsrun": "^1.2.8",
"@git.zone/tstest": "^1.0.28",
"@git.zone/tsbuild": "^3.1.2",
"@git.zone/tsrun": "^2.0.0",
"@git.zone/tstest": "^3.1.3",
"@git.zone/tswatch": "^2.0.1",
"@push.rocks/tapbundle": "^5.5.4"
"@types/node": "^24.10.1"
},
"dependencies": {
"@api.global/typedserver": "^3.0.53",
"@push.rocks/projectinfo": "^5.0.1",
"@push.rocks/projectinfo": "^5.0.2",
"@push.rocks/qenv": "^6.1.0",
"@push.rocks/smartdata": "^5.0.7",
"@push.rocks/smartpath": "^5.0.5",
"@push.rocks/smartpath": "^6.0.0",
"@push.rocks/smartstate": "^2.0.0"
},
}
}

View File

@@ -1,5 +1,15 @@
# Changelog
## 2025-12-02 - 2.2.0 - feat(services)
Improve services manager and configuration; switch test templates to @git.zone/tstest; bump dev dependencies and update docs
- services: Add robust ServiceConfiguration (creates .nogit/env.json with sane defaults, syncs ports from existing Docker containers, validates and can reconfigure ports)
- services CLI: improved start/stop/restart flows, better logging/help output and enhanced global commands (list/status/stop/cleanup)
- templates/tests: replace @push.rocks/tapbundle with @git.zone/tstest and update template test.ts to export default tap.start()
- format: stop auto-updating tslint template and mark @push.rocks/tapbundle as deprecated in package formatting logic
- dependencies: bump @git.zone/tsbuild, @git.zone/tsrun, @git.zone/tstest, @git.zone/tsdoc, @push.rocks/projectinfo, @push.rocks/smartpath, @push.rocks/smartfs, prettier and other dev deps
- docs: README updates — add issue reporting/security section, AI-powered commit recommendation notes, and clarify trademark/legal wording
## 2025-11-29 - 2.1.0 - feat(mod_services)
Add global service registry and global commands for managing project containers

View File

@@ -57,7 +57,7 @@
},
"homepage": "https://gitlab.com/gitzone/private/gitzone#readme",
"devDependencies": {
"@git.zone/tsbuild": "^3.1.0",
"@git.zone/tsbuild": "^3.1.2",
"@git.zone/tsrun": "^2.0.0",
"@git.zone/tstest": "^3.1.3",
"@push.rocks/smartdelay": "^3.0.5",
@@ -67,7 +67,7 @@
"@types/node": "^24.10.1"
},
"dependencies": {
"@git.zone/tsdoc": "^1.9.2",
"@git.zone/tsdoc": "^1.10.0",
"@git.zone/tspublish": "^1.10.3",
"@push.rocks/commitinfo": "^1.0.12",
"@push.rocks/early": "^4.0.4",
@@ -75,11 +75,10 @@
"@push.rocks/lik": "^6.2.2",
"@push.rocks/npmextra": "^5.3.3",
"@push.rocks/projectinfo": "^5.0.2",
"@push.rocks/smartchok": "^1.1.1",
"@push.rocks/smartcli": "^4.0.19",
"@push.rocks/smartdiff": "^1.0.3",
"@push.rocks/smartfile": "^13.1.0",
"@push.rocks/smartfs": "^1.1.0",
"@push.rocks/smartfs": "^1.2.0",
"@push.rocks/smartgulp": "^3.0.4",
"@push.rocks/smartjson": "^5.2.0",
"@push.rocks/smartlegal": "^1.0.27",
@@ -96,7 +95,7 @@
"@push.rocks/smartunique": "^3.0.9",
"@push.rocks/smartupdate": "^2.0.6",
"@types/through2": "^2.0.41",
"prettier": "^3.6.2",
"prettier": "^3.7.3",
"through2": "^4.0.2"
},
"files": [

46
pnpm-lock.yaml generated
View File

@@ -9,8 +9,8 @@ importers:
.:
dependencies:
'@git.zone/tsdoc':
specifier: ^1.9.2
version: 1.9.2(ws@8.18.3)(zod@3.25.76)
specifier: ^1.10.0
version: 1.10.0(ws@8.18.3)(zod@3.25.76)
'@git.zone/tspublish':
specifier: ^1.10.3
version: 1.10.3
@@ -32,9 +32,6 @@ importers:
'@push.rocks/projectinfo':
specifier: ^5.0.2
version: 5.0.2
'@push.rocks/smartchok':
specifier: ^1.1.1
version: 1.1.1
'@push.rocks/smartcli':
specifier: ^4.0.19
version: 4.0.19
@@ -45,8 +42,8 @@ importers:
specifier: ^13.1.0
version: 13.1.0
'@push.rocks/smartfs':
specifier: ^1.1.0
version: 1.1.0
specifier: ^1.2.0
version: 1.2.0
'@push.rocks/smartgulp':
specifier: ^3.0.4
version: 3.0.4
@@ -96,15 +93,15 @@ importers:
specifier: ^2.0.41
version: 2.0.41
prettier:
specifier: ^3.6.2
version: 3.6.2
specifier: ^3.7.3
version: 3.7.3
through2:
specifier: ^4.0.2
version: 4.0.2
devDependencies:
'@git.zone/tsbuild':
specifier: ^3.1.0
version: 3.1.0
specifier: ^3.1.2
version: 3.1.2
'@git.zone/tsrun':
specifier: ^2.0.0
version: 2.0.0
@@ -634,16 +631,16 @@ packages:
'@gerrit0/mini-shiki@3.14.0':
resolution: {integrity: sha512-c5X8fwPLOtUS8TVdqhynz9iV0GlOtFUT1ppXYzUUlEXe4kbZ/mvMT8wXoT8kCwUka+zsiloq7sD3pZ3+QVTuNQ==}
'@git.zone/tsbuild@3.1.0':
resolution: {integrity: sha512-j8lMd84pmzWiU6NG3e+pyu0o41oo6mQVfcZv8kDsCrQwZMhoQV9Jp87MlU0i/XI5IZkqDjelG8Kx1QhOmbK+iQ==}
'@git.zone/tsbuild@3.1.2':
resolution: {integrity: sha512-K0u840Qo0WEhvcpAtktvdBX6KEXjelU32o820WzcK7dMA7dd2YV+mPOEYfbmWLcdtFJkrjkigQq5fpLhTN4oKQ==}
hasBin: true
'@git.zone/tsbundle@2.5.2':
resolution: {integrity: sha512-EYTCfunqoxhxkowREZ+cJnww6eDh9cL18HJbHbSZ+vxzNeyS9x8mT9aqRlWkI7zgpvgDlGIYlyRUlUISXkQO6Q==}
hasBin: true
'@git.zone/tsdoc@1.9.2':
resolution: {integrity: sha512-ibkQ9VD9kli9uSPJLHzfPLVOoqvIMZwh49CwGkgx1ISOpDzJuWpriCvaZJrH57gaovWiKUYnpgVe2vDFF8Ru8A==}
'@git.zone/tsdoc@1.10.0':
resolution: {integrity: sha512-sRssjKlEzTCVXvEa6wABHqey3IwQCOW273oXcam3GNgefh3rKatUVQhq+gQI0IXISE4ignR9cIIWFtSqgQVXnA==}
hasBin: true
'@git.zone/tspublish@1.10.3':
@@ -1132,6 +1129,7 @@ packages:
'@push.rocks/smartchok@1.1.1':
resolution: {integrity: sha512-WmNigGmn1muBJMANVuJb4F8x3TzgYrnn6YZm6ixTsG+0WFbYevivEwp+J4S7npobLHsR7ynf+Ky8LxRYmsL50A==}
deprecated: This package has been renamed. Please use @push.rocks/smartwatch instead.
'@push.rocks/smartcli@4.0.19':
resolution: {integrity: sha512-s1jZSgDZWi/az26AY4TJ2HPuG1qZzGC5R9fKWaECLmwnSpk6y9JXL5dnJAUohcdu50kdXCWEcRmLfYxOt81vEA==}
@@ -1190,8 +1188,8 @@ packages:
'@push.rocks/smartfm@2.2.2':
resolution: {integrity: sha512-kLrBv/vWXJmB558LI5C79fWXLKOnno998vnp3opfB+uyznT2E6LkcpKsxdjwe1V/r+Z5GlhXPOWmGgHPCzUR6w==}
'@push.rocks/smartfs@1.1.0':
resolution: {integrity: sha512-fg8JIjFUPPX5laRoBpTaGwhMfZ3Y8mFT4fUaW54Y4J/BfOBa/y0+rIFgvgvqcOZgkQlyZU+FIfL8Z6zezqxyTg==}
'@push.rocks/smartfs@1.2.0':
resolution: {integrity: sha512-1R47jJZwX869z7DYgKeAZKTU1SbGnM7W/ZmgsI7AkQQhiascNqY3/gF4V5kIprmuf1WhpRbCbZyum8s7J1LDdg==}
'@push.rocks/smartgit@3.3.1':
resolution: {integrity: sha512-fnyF9Fr5y0ClSFiw/yMAWXlxvteWK2eXJ5i8/wsJcAyWqwTZ9KvMkVe33ofiZ/ZPuQ5JG9CXmoE0MST++5Xv6g==}
@@ -3929,8 +3927,8 @@ packages:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'}
prettier@3.6.2:
resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
prettier@3.7.3:
resolution: {integrity: sha512-QgODejq9K3OzoBbuyobZlUhznP5SKwPqp+6Q6xw6o8gnhr4O85L2U915iM2IDcfF2NPXVaM9zlo9tdwipnYwzg==}
engines: {node: '>=14'}
hasBin: true
@@ -5806,7 +5804,7 @@ snapshots:
'@shikijs/types': 3.14.0
'@shikijs/vscode-textmate': 10.0.2
'@git.zone/tsbuild@3.1.0':
'@git.zone/tsbuild@3.1.2':
dependencies:
'@git.zone/tspublish': 1.10.3
'@push.rocks/early': 4.0.4
@@ -5842,7 +5840,7 @@ snapshots:
- '@swc/helpers'
- supports-color
'@git.zone/tsdoc@1.9.2(ws@8.18.3)(zod@3.25.76)':
'@git.zone/tsdoc@1.10.0(ws@8.18.3)(zod@3.25.76)':
dependencies:
'@git.zone/tspublish': 1.10.3
'@push.rocks/early': 4.0.4
@@ -6878,7 +6876,7 @@ snapshots:
'@push.rocks/lik': 6.2.2
'@push.rocks/smartdelay': 3.0.5
'@push.rocks/smartfile-interfaces': 1.0.7
'@push.rocks/smartfs': 1.1.0
'@push.rocks/smartfs': 1.2.0
'@push.rocks/smarthash': 3.2.6
'@push.rocks/smartjson': 5.2.0
'@push.rocks/smartmime': 2.0.4
@@ -6894,7 +6892,7 @@ snapshots:
dependencies:
gray-matter: 4.0.3
'@push.rocks/smartfs@1.1.0':
'@push.rocks/smartfs@1.2.0':
dependencies:
'@push.rocks/smartpath': 6.0.0
@@ -10511,7 +10509,7 @@ snapshots:
possible-typed-array-names@1.1.0: {}
prettier@3.6.2: {}
prettier@3.7.3: {}
pretty-ms@8.0.0:
dependencies:

View File

@@ -9,6 +9,10 @@
gitzone is a powerful command-line interface that supercharges your development workflow with automated project management, intelligent code formatting, seamless version control, and development service orchestration. Whether you're bootstrapping a new TypeScript project, maintaining code quality, managing complex multi-repository setups, or spinning up local development databases, gitzone has got you covered.
## Issue Reporting and Security
For reporting bugs, issues, or security vulnerabilities, please visit [community.foss.global/](https://community.foss.global/). This is the central community hub for all issue reporting. Developers who sign and comply with our contribution agreement and go through identification can also get a [code.foss.global/](https://code.foss.global/) account to submit Pull Requests directly.
## 🏃‍♂️ Quick Start
### Installation
@@ -35,13 +39,13 @@ gitzone format
# Start local MongoDB and MinIO services
gitzone services start
# Create a semantic commit
# Create a semantic commit with AI-powered suggestions
gitzone commit
```
## 🛠️ Core Features
### 🐳 Development Services Management (NEW!)
### 🐳 Development Services Management
Effortlessly manage local MongoDB and MinIO (S3-compatible) services for your development environment:
@@ -110,7 +114,7 @@ gitzone template [template-name]
Each template comes pre-configured with:
- ✅ TypeScript with modern configurations
- ✅ Automated testing setup
- ✅ Automated testing setup with `@git.zone/tstest`
- ✅ CI/CD pipelines (GitLab/GitHub)
- ✅ Code formatting and linting
- ✅ Documentation structure
@@ -170,18 +174,27 @@ gitzone format --clean-backups
- **Gitignore** - Repository ignore rules
- **Templates** - Project template updates
- **Npmextra** - Extended npm configurations
- **Cleanup** - Removes obsolete files (yarn.lock, package-lock.json, tslint.json, etc.)
### 🔀 Semantic Commits & Versioning
Create standardized commits that automatically handle versioning:
Create standardized commits with AI-powered suggestions that automatically handle versioning:
```bash
# Interactive commit with AI recommendations
gitzone commit
# Auto-accept AI recommendations
gitzone commit -y
# Auto-accept and push
gitzone commit -y -p
```
Features:
- 📝 Interactive commit message builder
- 🤖 **AI-powered analysis** - Analyzes your changes and suggests commit type, scope, and message
- 📝 Interactive commit message builder with smart defaults
- 🏷️ Automatic version bumping (major/minor/patch)
- 📜 Changelog generation
- 🚀 Optional auto-push to origin
@@ -189,11 +202,10 @@ Features:
The commit wizard guides you through:
1. **Type selection** (feat/fix/docs/style/refactor/perf/test/chore)
1. **Type selection** (fix/feat/BREAKING CHANGE) with AI recommendation
2. **Scope definition** (component/module affected)
3. **Description crafting**
4. **Breaking change detection**
5. **Version bump determination**
4. **Version bump determination**
### 🏗️ Meta Repository Management
@@ -443,7 +455,6 @@ gitzone services clean # ⚠️ Warning: deletes data
- **TypeScript** - First-class support
- **Prettier** - Code formatting
- **ESLint** - Linting (via format modules)
- **npm/pnpm** - Package management
- **MongoDB** - Local database service
- **MinIO** - S3-compatible object storage
@@ -522,19 +533,21 @@ gitzone is optimized for speed:
## License and Legal Information
This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository.
This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](./LICENSE) file.
**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
### Trademarks
This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.
This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH or third parties, and are not included within the scope of the MIT license granted herein.
Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines or the guidelines of the respective third-party owners, and any usage must be approved in writing. Third-party trademarks used herein are the property of their respective owners and used only in a descriptive manner, e.g. for an implementation of an API or similar.
### Company Information
Task Venture Capital GmbH
Registered at District court Bremen HRB 35230 HB, Germany
Task Venture Capital GmbH
Registered at District Court Bremen HRB 35230 HB, Germany
For any legal inquiries or if you require further information, please contact us via email at hello@task.vc.
For any legal inquiries or further information, please contact us via email at hello@task.vc.
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.

View File

@@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@git.zone/cli',
version: '2.1.0',
version: '2.2.0',
description: 'A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.'
}

View File

@@ -154,10 +154,11 @@ export const run = async (projectArg: Project) => {
];
// check for dependencies
// Note: @push.rocks/tapbundle is deprecated - use @git.zone/tstest/tapbundle instead
await ensureDependency(
packageJson,
'devDep',
'latest',
'exclude',
'@push.rocks/tapbundle',
);
await ensureDependency(

View File

@@ -10,12 +10,6 @@ import { Project } from '../classes.project.js';
export const run = async (project: Project) => {
const templateModule = await import('../mod_template/index.js');
// update tslint
// getting template
const tslintTemplate = await templateModule.getTemplate('tslint');
await tslintTemplate.writeToDisk(paths.cwd);
logger.log('info', 'Updated tslint.json!');
// update vscode
const vscodeTemplate = await templateModule.getTemplate('vscode');
await vscodeTemplate.writeToDisk(paths.cwd);