Trinity Method SDK v2.2.0
Added
- Markdown linting in CI pipeline and pre-commit hook - Added blocking
markdownlint-cli2
validation for*.md,docs/**/*.md, andsrc/**/*.mdin both CI and pre-commit- CI: Added lint step to
docsjob in.github/workflows/ci.yml - Pre-commit: Added Stage 4 to
.husky/pre-commitrunning markdownlint on all tracked
markdown directories - Enforces markdown syntax standards across all 78 markdown files using
.markdownlint.jsonconfig
- CI: Added lint step to
- New
/trinity-breakdownslash command - Guided, user-driven implementations where CC
acts as an instructor walking users through changes step-by-step instead of executing them
directly (Issue #11) - GitHub Releases workflow - Automated draft release creation on version tags (
v*.*.*)
via.github/workflows/release.yml(Issue #5)- 5-job pipeline: version extraction, CHANGELOG release notes extraction,
tag-vs-package.json version validation, full CI quality gates, and draft GitHub release - Uses
softprops/action-gh-release@v2withdraft: true— releases require manual
publishing - CHANGELOG extraction uses Node.js script (not sed) matching
## [X.Y.Z]Keep a
Changelog format - Fails fast on version mismatch or missing/empty CHANGELOG section
- Coverage thresholds mirror CI pipeline: lines >= 75%, branches >= 65%,
functions >= 80%, statements >= 75% - No
npm publishautomation — publishing remains manual vianpm publish
- 5-job pipeline: version extraction, CHANGELOG release notes extraction,
Changed
- Enabled all TypeScript strict mode flags - Turned on
strictNullChecks,
strictPropertyInitialization,noUnusedLocals, andnoUnusedParametersin
tsconfig.json (Issue #6)- All four flags were previously disabled, weakening compile-time type safety
- Codebase required zero changes for
strictNullChecksand
strictPropertyInitialization(already null-safe) - Prefixed 6 unused parameters with
_to satisfynoUnusedParameters
(5 indeploy-linting.ts, 1 insummary.ts) - All 417 tests pass, 0 type errors, lint clean
- Added metrics module test coverage - Created comprehensive test suites for
dependency-parser.tsandframework-detector.ts(Issue #6)dependency-parser.tscoverage: 9.37% → 100% (23 tests covering Node.js, Python,
Rust, Flutter, Go, and error paths)framework-detector.tscoverage: 36.36% → 95.23% (24 tests covering all version
detectors and package manager detection)- Overall project coverage improved from 83% → 89% (464 tests total)
- Fixed all 32 devDependency vulnerabilities - Resolved minimatch ReDoS, ajv ReDoS,
and markdown-it ReDoS vianpm audit fixandoverridesin package.json (Issue #6)npm audit fixresolved ajv (<6.14.0), markdown-it (13.0.0-14.1.0), and
@isaacs/brace-expansion (5.0.0) — 9 vulnerabilities- Added
overridesforminimatch@^10.2.1to force resolution of 23 remaining
transitive dependency vulnerabilities through eslint, jest, and typedoc npm auditnow reports 0 vulnerabilities (was 32: 30 high, 2 moderate)
- Restructured
trinity/into.claude/trinity/- Consolidated deployment footprint
from two top-level directories to one (Issue #3)trinity deploynow creates.claude/trinity/instead of a separatetrinity/
directorytrinity updatemanages.claude/trinity/with consolidated backup (single.claude/
backup covers everything)- All 50+ template files updated with new deployment target paths
- All relative paths recalculated for new directory depth
- 417 tests pass with restructured paths
- Updated
.gitignoreentries - Trinity deployment now only ignores
.claude/trinity/archive/and.claude/trinity/templates/instead of all.claude/,
*CLAUDE.md,TRINITY.md, andtrinity/allowing agents, commands, and context files
to be tracked in version control - Removed
.claude/trinity/patterns/directory - No longer deployed as an empty
placeholder; directory structure reduced from 17 to 16 directories
Fixed
-
Resolved ~600 markdownlint violations across 78 markdown files - Fixed all markdown
syntax errors indocs/, root (*.md), andsrc/directories (Issue #6)docs/(72 files): ~580 violations fixed (MD013 line length, MD022 blanks around
headings, MD031/MD032 blanks around fences/lists, MD040 code fence languages, MD009
trailing spaces, MD036 emphasis as heading, MD026 trailing punctuation)README.md: 16 violations fixed (MD013, MD022, MD026, MD036, MD040)CONTRIBUTING.md: 6 violations fixed (MD013, MD009, MD031, MD032, MD040)CLAUDE.md: 4 violations fixed (MD022 blanks around headings)src/CLAUDE.md: 42 violations fixed (MD022, MD031, MD032, MD040, MD013)src/README.md: 3 violations fixed (MD013, MD040)- Updated
.markdownlint.jsonconfig: addedsiblings_only: trueto MD024 for Keep a
Changelog duplicate heading compatibility
-
CRITICAL: Pre-commit hooks non-functional for Node.js - Switched from Python's
pre-commit framework to husky + lint-staged for Node.js/React projects (Issue #4)- Node.js/React projects now deploy
.husky/pre-commitwithnpx lint-stagedinstead
of.pre-commit-config.yaml - Added
husky@^9.1.7andlint-staged@^16.2.0as devDependencies with
prepare: 'husky'script - Hooks activate automatically on
npm install— no manual setup required lint-stagedconfiguration injected intopackage.json(eslint + prettier for TS/JS,
prettier for JSON/MD/YAML)- Python/Flutter/Rust projects continue to use
.pre-commit-config.yaml(unchanged) - Existing pre-commit configurations detected and preserved (
.husky/,
.pre-commit-config.yaml, or husky/lint-staged in package.json)
- Node.js/React projects now deploy
-
CRITICAL: CI/CD workflow templates never deployed - Fixed
enableCICDfrom
interactive config never bridging tociDeploydeployment flag- Added bridge in deploy orchestrator:
if (config.enableCICD) { options.ciDeploy = true; } - CI templates now correctly deploy when user selects CI/CD during
trinity deploy
- Added bridge in deploy orchestrator:
-
CI template variables not processed - Added
processTemplate()call to CI workflow
deployment{{PROJECT_NAME}},{{FRAMEWORK}}, and other template variables now resolve in
deployedci.yml- Passes variables from deploy orchestrator through
deployCICD()to
deployCITemplates()
-
No --force protection for GitHub Actions templates - Added existence check matching
GitLab's pattern.github/workflows/ci.ymlnow skipped if it already exists (unless--forceis used)- Both GitHub and GitLab platforms now have consistent
--forceflag protection
-
Configuration display showed wrong filename - Changed
trinity-ci.ymltoci.yml
in interactive prompt output- Both detected-platform and unknown-platform display now show correct filename
-
CI workflow template header - Changed
CI/CD PipelinetoCI Pipelinein
ci.yml.template
Removed
TRINITY.mdroot file - No longer deployed; Trinity context is now at
.claude/trinity/CLAUDE.md- Deleted
src/templates/root/TRINITY.md.template - Removed
deployTrinityMarkdown()function from deploy pipeline
- Deleted
- Dead template files - Deleted
cd.yml.template(used undefined{{DOMAIN}}
variable) andgithub-actions.yml(orphaned, never referenced) - CD workflow references - Removed all Continuous Deployment workflow references from
source code, templates (EIN, TAN, init, verify), CI workflow, tests, and documentation
Full Changelog: CHANGELOG.md
npm: npm install trinity-method-sdk@2.2.0