Commit Graph
10 Commits
Author SHA1 Message Date
Aleksey Shakhmatov c068dfae0c fix(review): address review findings (guardrails, prompts, tests, docs)
- permission-gate: block refs/tags/v* pushes, rm -r -f separated flags,
  git reset --hard, git clean (verified against actual bypasses)
- prompts: /bugfix /feature /review no longer hardcode go-standards —
  reference profile-gated <lang>-standards instead
- company-context: drop hardcoded Go stack, note TRACKER_URL priority,
  warn on context truncation instead of silently dropping rules
- repo-map/docs-map: graceful degradation when config values are TODO
- /kit-doctor: warn on unfilled config fields (repoMap/trackerUrl/docsUrl)
- audit: retry POSTs to endpoint (3 attempts, backoff), still best-effort
- install.sh: remove TODO course URL from cheat sheet
- tests: expand guardrails (43 node checks), add shell tests for create-mr.sh
  (scp/https origin parse, GITLAB_HOST override, protected branch refusal),
  cover company-context lib (normalize/fetch/truncation) and mcp-bridge
- commit package-lock.json for reproducible installs
- document npm test Node >= 22.6 requirement (type stripping)
2026-08-06 11:22:53 +03:00
dev 295f620710 Merge feature branches: company-config, interactive-env-setup, skill-conventions, permission-gate deploy-ref guards 2026-07-16 13:31:22 +03:00
dev e04a2ddb72 docs(skills): fill language standards with industry defaults
Per decision to use common industry practice now and tune later:
- structures: standard layouts (go cmd/internal/pkg, python src-layout, rust cargo, ts pnpm workspaces, kotlin Gradle modules, swift SwiftPM)
- linters: default rulesets (golangci base, clippy -D warnings, ruff+mypy, typescript-eslint+prettier, ktlint+detekt, swiftlint+swiftformat)
- test runners: TS=vitest; coverage soft targets (~70-80%) marked '(пороги уточним)'
- swift deps: SwiftPM (Package.resolved), CocoaPods legacy-only
- reworded intros: values are industry defaults to be tuned, no raw TODO markers left

Verified: no TODO markers remain in *-standards; all six skills load via pi.
2026-07-16 13:25:18 +03:00
dev 489a63be69 docs(skills): set Python=uv and TypeScript=pnpm
- python-standards: uv (uv sync/add, uv.lock committed, run via 'uv run …')
- typescript-standards: pnpm (pnpm install/build/test, pnpm-lock.yaml committed)
- test runner still TODO (vitest/jest)
2026-07-16 13:16:36 +03:00
dev 6521d9c431 fix(permission-gate): guard release-* branch and v* tag pushes (deploy convention)
Deploy convention at M.Video: a release-* branch push deploys to stage and a
v* tag push deploys to PROD. The old guard only matched release/* (slash) and
never caught tag pushes, so a prod deploy could run unconfirmed.

- permission-gate: match main/master, release-[-/], --tags/--follow-tags, and
  whitespace-preceded v<digit> tags; false-positive-safe (space discriminator)
- create-mr.sh: refuse source branch release-* (not just release/*)
- jira-workflow doc updated to release-*

Verified with a behavioral test suite (10 cases incl. v2, false-positive checks).
2026-07-16 13:13:35 +03:00
dev c2cdf40cad docs(skills): fill cross-cutting Git/Jira conventions
- commit format: Conventional Commits (all six *-standards)
- branches/deploy: feature branches from main; release-* -> stage, tag v* -> prod (all six *-standards)
- jira-workflow: statuses To Do -> In Progress -> Review -> Done; who moves status when; MR link + status transition policy; comment guidance
- key-prefix list stays TODO (unknown project prefixes)

Verified: no leftover commit-format TODOs, deploy convention in all 6, skills still load via pi.
2026-07-16 13:10:34 +03:00
dev e98e4ca9ae feat(skills): add kotlin-standards + swift-standards for mobile profile
- kotlin-standards: gradle build/test, ktlint/detekt, Android lint; company specifics TODO
- swift-standards: SwiftPM/xcodebuild, swiftformat/swiftlint, XCTest; company specifics TODO
- wire mobile profile -> kotlin+swift; 'all' now includes both; README matrix updated
- verified all six *-standards skills load via pi RPC
2026-07-16 12:31:12 +03:00
dev 7fc7d79815 feat(skills): add rust-standards, typescript-standards, python-standards
- mirror go-standards: structure, linters/formatters, tests, commits/MR, pre-MR checklist
- ecosystem defaults (clippy/rustfmt, eslint/prettier/tsc, ruff/mypy/pytest); company specifics marked TODO
- verified all four *-standards skills load via pi RPC get_commands
2026-07-16 11:54:29 +03:00
dev 7fc16777a6 feat(jira-workflow): add GitLab create-mr.sh helper
- creates a merge request via GitLab API (curl + GITLAB_TOKEN, PRIVATE-TOKEN header)
- derives host + project path from git remote origin (or GITLAB_HOST); no hardcoded URLs
- refuses to open an MR from a protected source branch; MR_PUSH/MR_DRY_RUN toggles
- optionally attaches the MR link to a Jira ticket via link-mr.sh
- verified parsing for ssh (scp-form) and https remotes incl. nested namespaces
2026-07-16 11:34:55 +03:00
dev 0725b6b034 feat(skills): add jira-workflow, repo-map, docs-map, go-standards
- descriptions state WHEN each skill applies
- jira-workflow ships curl scripts reading TRACKER_URL/JIRA_TOKEN from env, no hardcoded secrets/URLs
- repo-map/docs-map defer values to session corporate context; company specifics left as TODO
- go-standards uses realistic Go defaults, company-specific bits marked TODO
2026-07-16 10:57:00 +03:00