trinity-method-sdk 2.0.4 → 2.0.6

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/CHANGELOG.md CHANGED
@@ -19,6 +19,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
19
19
 
20
20
  ### Security
21
21
 
22
+ ## [2.0.6] - 2026-01-06
23
+
24
+ ### Fixed
25
+
26
+ - **CRITICAL: Command categorization logic** - Fixed `trinity update` to correctly categorize slash commands
27
+ - Execution commands (`audit`, `changelog`, `docs`, `readme`) were falling through to utility category
28
+ - Investigation commands containing `investigate` were not being matched properly
29
+ - Commands now deploy to correct category directories (session, planning, execution, investigation, infrastructure, utility)
30
+ - Prevents duplicate commands in wrong directories during updates
31
+
32
+ ## [2.0.5] - 2026-01-06
33
+
34
+ ### Fixed
35
+
36
+ - **CRITICAL: Slash command file updates** - Fixed `trinity update` command file extension handling
37
+ - Update commands module was looking for `.md` files but templates use `.md.template` extension
38
+ - Now correctly processes `.md.template` files and strips extension for deployed files
39
+ - Slash commands now update properly (20 command files) when running `trinity update`
40
+ - Matches the pattern used by knowledge-base update module
41
+
22
42
  ## [2.0.4] - 2026-01-06
23
43
 
24
44
  ### Fixed
package/README.md CHANGED
@@ -492,7 +492,7 @@ npm run build
492
492
  npm publish --access public
493
493
 
494
494
  # 3. Create git tag and push
495
- git tag -a v2.0.4 -m "Release v2.0.4"
495
+ git tag -a v2.0.6 -m "Release v2.0.6"
496
496
  git push origin main --follow-tags
497
497
  ```
498
498
 
@@ -98,7 +98,7 @@ export async function deploy(options) {
98
98
  PACKAGE_MANAGER: stack.packageManager || 'npm',
99
99
  BACKEND_FRAMEWORK: stack.framework,
100
100
  CURRENT_DATE: new Date().toISOString(),
101
- TRINITY_VERSION: pkg.version || '2.0.4',
101
+ TRINITY_VERSION: pkg.version || '2.0.6',
102
102
  };
103
103
  // STEP 4: Create directory structure
104
104
  const directoriesCreated = await createDirectories(spinner);
@@ -39,7 +39,7 @@ async function deployRootClaudeMarkdown(templatesPath, variables) {
39
39
  */
40
40
  async function deployVersionFile(pkgVersion) {
41
41
  const versionPath = validatePath('trinity/VERSION');
42
- await fs.writeFile(versionPath, pkgVersion || '2.0.4');
42
+ await fs.writeFile(versionPath, pkgVersion || '2.0.6');
43
43
  return 1;
44
44
  }
45
45
  /**
@@ -24,7 +24,7 @@ export async function installSDK(spinner) {
24
24
  if (!packageJson.dependencies) {
25
25
  packageJson.dependencies = {};
26
26
  }
27
- packageJson.dependencies['trinity-method-sdk'] = '^2.0.4';
27
+ packageJson.dependencies['trinity-method-sdk'] = '^2.0.6';
28
28
  await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 });
29
29
  spinner.text = 'Installing Trinity Method SDK (this may take a moment)...';
30
30
  // Install dependencies
@@ -30,10 +30,14 @@ function determineCommandCategory(filename) {
30
30
  filename.includes('decompose')) {
31
31
  return 'planning';
32
32
  }
33
- else if (filename.includes('orchestrate')) {
33
+ else if (filename.includes('orchestrate') ||
34
+ filename.includes('audit') ||
35
+ filename.includes('changelog') ||
36
+ filename.includes('docs') ||
37
+ filename.includes('readme')) {
34
38
  return 'execution';
35
39
  }
36
- else if (filename.includes('investigation')) {
40
+ else if (filename.includes('investigation') || filename.includes('investigate')) {
37
41
  return 'investigation';
38
42
  }
39
43
  else if (filename.includes('init')) {
@@ -62,10 +66,12 @@ export async function updateCommands(spinner, stats) {
62
66
  // Copy all command files
63
67
  const commandFiles = await fs.readdir(commandsTemplatePath);
64
68
  for (const file of commandFiles) {
65
- if (file.endsWith('.md')) {
69
+ if (file.endsWith('.md.template')) {
66
70
  const sourcePath = path.join(commandsTemplatePath, file);
67
71
  const category = determineCommandCategory(file);
68
- const targetPath = path.join('.claude/commands', category, file);
72
+ // Remove .template extension for deployed file
73
+ const deployedFileName = file.replace('.template', '');
74
+ const targetPath = path.join('.claude/commands', category, deployedFileName);
69
75
  await fs.copy(sourcePath, targetPath, { overwrite: true });
70
76
  stats.commandsUpdated++;
71
77
  }
@@ -24,7 +24,7 @@ const VARIABLE_RESOLVERS = {
24
24
  DEPLOYMENT_TIMESTAMP: (v) => toString(v.DEPLOYMENT_TIMESTAMP || v.timestamp) || new Date().toISOString(),
25
25
  LANGUAGE: (v) => toString(v.LANGUAGE || v.language) || 'Unknown',
26
26
  PACKAGE_MANAGER: (v) => toString(v.PACKAGE_MANAGER || v.packageManager) || 'npm',
27
- TRINITY_VERSION: (v) => toString(v.TRINITY_VERSION) || '2.0.4',
27
+ TRINITY_VERSION: (v) => toString(v.TRINITY_VERSION) || '2.0.6',
28
28
  TECHNOLOGY_STACK: (v) => toString(v.TECHNOLOGY_STACK || v.TECH_STACK || v.techStack) || 'Unknown',
29
29
  PRIMARY_FRAMEWORK: (v) => toString(v.PRIMARY_FRAMEWORK || v.FRAMEWORK || v.framework) || 'Generic',
30
30
  CURRENT_DATE: (v) => toString(v.CURRENT_DATE) || new Date().toISOString().split('T')[0],