Skip to content

Trinity Method SDK v2.2.0

Choose a tag to compare

@github-actions github-actions released this 25 Feb 01:19

Added

  • Markdown linting in CI pipeline and pre-commit hook - Added blocking markdownlint-cli2
    validation for *.md, docs/**/*.md, and src/**/*.md in both CI and pre-commit
    • CI: Added lint step to docs job in .github/workflows/ci.yml
    • Pre-commit: Added Stage 4 to .husky/pre-commit running markdownlint on all tracked
      markdown directories
    • Enforces markdown syntax standards across all 78 markdown files using
      .markdownlint.json config
  • New /trinity-breakdown slash 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@v2 with draft: 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 publish automation — publishing remains manual via npm publish

Changed

  • Enabled all TypeScript strict mode flags - Turned on strictNullChecks,
    strictPropertyInitialization, noUnusedLocals, and noUnusedParameters in
    tsconfig.json (Issue #6)
    • All four flags were previously disabled, weakening compile-time type safety
    • Codebase required zero changes for strictNullChecks and
      strictPropertyInitialization (already null-safe)
    • Prefixed 6 unused parameters with _ to satisfy noUnusedParameters
      (5 in deploy-linting.ts, 1 in summary.ts)
    • All 417 tests pass, 0 type errors, lint clean
  • Added metrics module test coverage - Created comprehensive test suites for
    dependency-parser.ts and framework-detector.ts (Issue #6)
    • dependency-parser.ts coverage: 9.37% → 100% (23 tests covering Node.js, Python,
      Rust, Flutter, Go, and error paths)
    • framework-detector.ts coverage: 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 via npm audit fix and overrides in package.json (Issue #6)
    • npm audit fix resolved ajv (<6.14.0), markdown-it (13.0.0-14.1.0), and
      @isaacs/brace-expansion (5.0.0) — 9 vulnerabilities
    • Added overrides for minimatch@^10.2.1 to force resolution of 23 remaining
      transitive dependency vulnerabilities through eslint, jest, and typedoc
    • npm audit now 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 deploy now creates .claude/trinity/ instead of a separate trinity/
      directory
    • trinity update manages .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 .gitignore entries - Trinity deployment now only ignores
    .claude/trinity/archive/ and .claude/trinity/templates/ instead of all .claude/,
    *CLAUDE.md, TRINITY.md, and trinity/ 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 in docs/, root (*.md), and src/ 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.json config: added siblings_only: true to 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-commit with npx lint-staged instead
      of .pre-commit-config.yaml
    • Added husky@^9.1.7 and lint-staged@^16.2.0 as devDependencies with
      prepare: 'husky' script
    • Hooks activate automatically on npm install — no manual setup required
    • lint-staged configuration injected into package.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)
  • CRITICAL: CI/CD workflow templates never deployed - Fixed enableCICD from
    interactive config never bridging to ciDeploy deployment 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
  • CI template variables not processed - Added processTemplate() call to CI workflow
    deployment

    • {{PROJECT_NAME}}, {{FRAMEWORK}}, and other template variables now resolve in
      deployed ci.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.yml now skipped if it already exists (unless --force is used)
    • Both GitHub and GitLab platforms now have consistent --force flag protection
  • Configuration display showed wrong filename - Changed trinity-ci.yml to ci.yml
    in interactive prompt output

    • Both detected-platform and unknown-platform display now show correct filename
  • CI workflow template header - Changed CI/CD Pipeline to CI Pipeline in
    ci.yml.template

Removed

  • TRINITY.md root 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
  • Dead template files - Deleted cd.yml.template (used undefined {{DOMAIN}}
    variable) and github-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