xtrm-tools 2.0.1 → 2.0.3
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 +0 -2
- package/cli/dist/index.cjs +19 -19
- package/cli/dist/index.cjs.map +1 -1
- package/cli/package.json +1 -1
- package/hooks/README.md +107 -4
- package/hooks/beads-close-memory-prompt.mjs +49 -0
- package/hooks/beads-commit-gate.mjs +64 -0
- package/hooks/beads-edit-gate.mjs +72 -0
- package/hooks/beads-gate-utils.mjs +121 -0
- package/hooks/beads-stop-gate.mjs +61 -0
- package/hooks/main-guard.mjs +139 -0
- package/package.json +4 -3
- package/project-skills/py-quality-gate/.claude/settings.json +1 -1
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/SKILL.md +12 -12
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/script_quality_standards.md +13 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/service_skill_system_guide.md +14 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/__pycache__/bootstrap.cpython-314.pyc +0 -0
- package/project-skills/service-skills-set/.claude/skills/scoping-service-skills/SKILL.md +6 -6
- package/project-skills/service-skills-set/.claude/skills/updating-service-skills/SKILL.md +1 -1
- package/project-skills/service-skills-set/.claude/skills/using-service-skills/SKILL.md +2 -2
- package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/__pycache__/skill_activator.cpython-314.pyc +0 -0
- package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/__pycache__/test_skill_activator.cpython-314-pytest-9.0.2.pyc +0 -0
- package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/skill_activator.py +2 -2
- package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/test_skill_activator.py +58 -0
- package/project-skills/ts-quality-gate/.claude/settings.json +1 -1
- package/project-skills/main-guard/.claude/hooks/main-guard.cjs +0 -188
- package/project-skills/main-guard/.claude/settings.json +0 -16
- package/project-skills/main-guard/.claude/skills/using-main-guard/SKILL.md +0 -135
- package/project-skills/main-guard/README.md +0 -163
package/README.md
CHANGED
|
@@ -224,7 +224,6 @@ Task intake and service routing for Docker service projects.
|
|
|
224
224
|
| `tdd-guard` | Enforce Test-Driven Development — blocks implementation until failing tests exist | SessionStart, PreToolUse, UserPromptSubmit |
|
|
225
225
|
| `ts-quality-gate` | TypeScript/ESLint/Prettier quality gate — runs on every edit, auto-fixes issues | PostToolUse |
|
|
226
226
|
| `py-quality-gate` | Python ruff/mypy quality gate — linting, formatting, and type checking | PostToolUse |
|
|
227
|
-
| `main-guard` | Git branch protection — blocks direct edits to main/master branches | PreToolUse |
|
|
228
227
|
|
|
229
228
|
### Installing Project Skills
|
|
230
229
|
|
|
@@ -238,7 +237,6 @@ xtrm install project service-skills-set # Docker service expertise
|
|
|
238
237
|
xtrm install project tdd-guard # TDD enforcement
|
|
239
238
|
xtrm install project ts-quality-gate # TypeScript quality
|
|
240
239
|
xtrm install project py-quality-gate # Python quality
|
|
241
|
-
xtrm install project main-guard # Git branch protection
|
|
242
240
|
xtrm install project all # Install every available project skill
|
|
243
241
|
xtrm install project '*' # Same as above; quote to avoid shell expansion
|
|
244
242
|
```
|
package/cli/dist/index.cjs
CHANGED
|
@@ -40681,15 +40681,15 @@ async function getAvailableProjectSkills() {
|
|
|
40681
40681
|
return [];
|
|
40682
40682
|
}
|
|
40683
40683
|
const entries = await import_fs_extra10.default.readdir(PROJECT_SKILLS_DIR);
|
|
40684
|
-
const
|
|
40684
|
+
const skills = [];
|
|
40685
40685
|
for (const entry of entries) {
|
|
40686
40686
|
const entryPath = import_path10.default.join(PROJECT_SKILLS_DIR, entry);
|
|
40687
40687
|
const stat = await import_fs_extra10.default.stat(entryPath);
|
|
40688
40688
|
if (stat.isDirectory()) {
|
|
40689
|
-
|
|
40689
|
+
skills.push(entry);
|
|
40690
40690
|
}
|
|
40691
40691
|
}
|
|
40692
|
-
return
|
|
40692
|
+
return skills.sort();
|
|
40693
40693
|
}
|
|
40694
40694
|
function deepMergeHooks(existing, incoming) {
|
|
40695
40695
|
const result = { ...existing };
|
|
@@ -40810,20 +40810,20 @@ async function installProjectSkill(toolName, projectRootOverride) {
|
|
|
40810
40810
|
console.log(kleur_default.green(" \u2713 Installation complete!\n"));
|
|
40811
40811
|
}
|
|
40812
40812
|
async function installAllProjectSkills(projectRootOverride) {
|
|
40813
|
-
const
|
|
40814
|
-
if (
|
|
40813
|
+
const skills = await getAvailableProjectSkills();
|
|
40814
|
+
if (skills.length === 0) {
|
|
40815
40815
|
console.log(kleur_default.dim(" No project skills available.\n"));
|
|
40816
40816
|
return;
|
|
40817
40817
|
}
|
|
40818
40818
|
const projectRoot = projectRootOverride ?? getProjectRoot();
|
|
40819
40819
|
console.log(kleur_default.bold(`
|
|
40820
|
-
Installing ${
|
|
40820
|
+
Installing ${skills.length} project skills:
|
|
40821
40821
|
`));
|
|
40822
|
-
for (const skill of
|
|
40822
|
+
for (const skill of skills) {
|
|
40823
40823
|
console.log(kleur_default.dim(` \u2022 ${skill}`));
|
|
40824
40824
|
}
|
|
40825
40825
|
console.log("");
|
|
40826
|
-
for (const skill of
|
|
40826
|
+
for (const skill of skills) {
|
|
40827
40827
|
await installProjectSkill(skill, projectRoot);
|
|
40828
40828
|
}
|
|
40829
40829
|
}
|
|
@@ -40833,7 +40833,7 @@ async function listProjectSkills() {
|
|
|
40833
40833
|
console.log(kleur_default.dim(" No project skills available.\n"));
|
|
40834
40834
|
return;
|
|
40835
40835
|
}
|
|
40836
|
-
const
|
|
40836
|
+
const skills = [];
|
|
40837
40837
|
for (const entry of entries) {
|
|
40838
40838
|
const readmePath = import_path10.default.join(PROJECT_SKILLS_DIR, entry, "README.md");
|
|
40839
40839
|
let description = "No description available";
|
|
@@ -40841,9 +40841,9 @@ async function listProjectSkills() {
|
|
|
40841
40841
|
const readmeContent = await import_fs_extra10.default.readFile(readmePath, "utf8");
|
|
40842
40842
|
description = extractReadmeDescription(readmeContent).slice(0, 80);
|
|
40843
40843
|
}
|
|
40844
|
-
|
|
40844
|
+
skills.push({ name: entry, description });
|
|
40845
40845
|
}
|
|
40846
|
-
if (
|
|
40846
|
+
if (skills.length === 0) {
|
|
40847
40847
|
console.log(kleur_default.dim(" No project skills available.\n"));
|
|
40848
40848
|
return;
|
|
40849
40849
|
}
|
|
@@ -40854,7 +40854,7 @@ async function listProjectSkills() {
|
|
|
40854
40854
|
colWidths: [25, 60],
|
|
40855
40855
|
style: { head: [], border: [] }
|
|
40856
40856
|
});
|
|
40857
|
-
for (const skill of
|
|
40857
|
+
for (const skill of skills) {
|
|
40858
40858
|
table.push([kleur_default.white(skill.name), kleur_default.dim(skill.description)]);
|
|
40859
40859
|
}
|
|
40860
40860
|
console.log(table.toString());
|
|
@@ -55051,10 +55051,10 @@ ${kleur_default.cyan("PROJECT SKILLS:")}
|
|
|
55051
55051
|
|
|
55052
55052
|
${kleur_default.cyan("INSTALL TARGETS:")}
|
|
55053
55053
|
|
|
55054
|
-
xtrm-tools v2.0.0 installs into Claude Code targets and the
|
|
55055
|
-
|
|
55056
|
-
|
|
55057
|
-
|
|
55054
|
+
xtrm-tools v2.0.0 installs into Claude Code targets and the .agents/skills cache:
|
|
55055
|
+
\u2022 ~/.claude
|
|
55056
|
+
\u2022 %APPDATA%/Claude on Windows
|
|
55057
|
+
\u2022 ~/.agents/skills (skills-only copy)
|
|
55058
55058
|
|
|
55059
55059
|
${kleur_default.cyan("ARCHITECTURE:")}
|
|
55060
55060
|
|
|
@@ -55067,9 +55067,9 @@ ${kleur_default.cyan("ARCHITECTURE:")}
|
|
|
55067
55067
|
|
|
55068
55068
|
${kleur_default.cyan("RESOURCES:")}
|
|
55069
55069
|
|
|
55070
|
-
|
|
55071
|
-
|
|
55072
|
-
|
|
55070
|
+
\u2022 Repository: https://github.com/Jaggerxtrm/xtrm-tools
|
|
55071
|
+
\u2022 Documentation: See README.md in the repository
|
|
55072
|
+
\u2022 Report Issues: https://github.com/Jaggerxtrm/xtrm-tools/issues
|
|
55073
55073
|
|
|
55074
55074
|
${kleur_default.dim("Run 'xtrm <command> --help' for more information on a specific command.")}
|
|
55075
55075
|
`);
|