@synity/bitrix-skills 1.3.0

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.
Files changed (77) hide show
  1. package/CHANGELOG.md +169 -0
  2. package/LICENSE +21 -0
  3. package/README.md +83 -0
  4. package/bin/bitrix-skills.js +3 -0
  5. package/dist/cli.js +1510 -0
  6. package/dist/features/bx-task/install.js +111 -0
  7. package/dist/features/task-sync/index.js +1053 -0
  8. package/package.json +69 -0
  9. package/src/features/bx/assets/SKILL.md +34 -0
  10. package/src/features/bx/feature.json +8 -0
  11. package/src/features/bx-calendar/assets/SKILL.md +61 -0
  12. package/src/features/bx-calendar/assets/availability.md +65 -0
  13. package/src/features/bx-calendar/assets/meeting.md +87 -0
  14. package/src/features/bx-calendar/assets/reminder.md +71 -0
  15. package/src/features/bx-calendar/assets/sync.md +70 -0
  16. package/src/features/bx-calendar/feature.json +10 -0
  17. package/src/features/bx-crm/assets/SKILL.md +59 -0
  18. package/src/features/bx-crm/assets/commerce.md +96 -0
  19. package/src/features/bx-crm/assets/onboard.md +127 -0
  20. package/src/features/bx-crm/assets/report.md +98 -0
  21. package/src/features/bx-crm/assets/research.md +71 -0
  22. package/src/features/bx-crm/feature.json +10 -0
  23. package/src/features/bx-task/assets/SKILL.md +148 -0
  24. package/src/features/bx-task/assets/lib/bx-api.sh +39 -0
  25. package/src/features/bx-task/assets/lib/bx-checklist.sh +127 -0
  26. package/src/features/bx-task/assets/lib/bx-resolve-task.sh +41 -0
  27. package/src/features/bx-task/assets/lib/bx-state.sh +131 -0
  28. package/src/features/bx-task/assets/lib/bx-tasks.sh +109 -0
  29. package/src/features/bx-task/assets/references/bootstrap.md +184 -0
  30. package/src/features/bx-task/assets/references/feature.md +97 -0
  31. package/src/features/bx-task/assets/references/init-templates/cli-tool.md +47 -0
  32. package/src/features/bx-task/assets/references/init-templates/generic.md +31 -0
  33. package/src/features/bx-task/assets/references/init-templates/library.md +45 -0
  34. package/src/features/bx-task/assets/references/init-templates/monorepo.md +38 -0
  35. package/src/features/bx-task/assets/references/init-templates/npm-package.md +40 -0
  36. package/src/features/bx-task/assets/references/init-templates/web-app.md +46 -0
  37. package/src/features/bx-task/assets/references/init.md +107 -0
  38. package/src/features/bx-task/assets/references/roadmap.md +93 -0
  39. package/src/features/bx-task/assets/references/summary.md +269 -0
  40. package/src/features/bx-task/assets/references/sync.md +104 -0
  41. package/src/features/bx-task/assets/references/time-log.md +214 -0
  42. package/src/features/bx-task/feature.json +10 -0
  43. package/src/features/bx-task/install.ts +117 -0
  44. package/src/features/task-sync/assets/docs/bitrix-task-reference.md +318 -0
  45. package/src/features/task-sync/assets/docs/bitrix-task-sync.md +254 -0
  46. package/src/features/task-sync/assets/githooks/commit-msg +44 -0
  47. package/src/features/task-sync/assets/githooks/install.sh +15 -0
  48. package/src/features/task-sync/assets/manifest.json +108 -0
  49. package/src/features/task-sync/assets/rules/00-bitrix-task-sync.md +161 -0
  50. package/src/features/task-sync/assets/scripts/bitrix-attach-files.sh +55 -0
  51. package/src/features/task-sync/assets/scripts/bitrix-lib.sh +540 -0
  52. package/src/features/task-sync/assets/scripts/bitrix-render-digest.sh +116 -0
  53. package/src/features/task-sync/assets/scripts/bitrix-session-check.sh +51 -0
  54. package/src/features/task-sync/assets/scripts/bitrix-session-sync.sh +89 -0
  55. package/src/features/task-sync/assets/scripts/bitrix-skill-end.sh +165 -0
  56. package/src/features/task-sync/assets/scripts/bitrix-skill-start.sh +58 -0
  57. package/src/features/task-sync/assets/scripts/lib/bb-formatter.sh +110 -0
  58. package/src/features/task-sync/assets/scripts/lib/bitrix-lib.sh +540 -0
  59. package/src/features/task-sync/assets/scripts/lib/time-helpers.sh +57 -0
  60. package/src/features/task-sync/assets/workflows/bitrix-sync.yml +85 -0
  61. package/src/features/task-sync/commands/install.ts +296 -0
  62. package/src/features/task-sync/commands/uninstall.ts +189 -0
  63. package/src/features/task-sync/commands/update.ts +11 -0
  64. package/src/features/task-sync/commands/verify.ts +141 -0
  65. package/src/features/task-sync/feature.json +12 -0
  66. package/src/features/task-sync/index.ts +121 -0
  67. package/src/features/task-sync/lib/dest-map.ts +96 -0
  68. package/src/features/task-sync/lib/drift-check.ts +47 -0
  69. package/src/features/task-sync/lib/file-ops.ts +36 -0
  70. package/src/features/task-sync/lib/manifest.ts +66 -0
  71. package/src/features/task-sync/lib/project-root.ts +38 -0
  72. package/src/features/task-sync/lib/settings-merge.ts +112 -0
  73. package/src/features/task-sync/lib/skill-refs.ts +106 -0
  74. package/src/features/task-sync/lib/task-id-finder.ts +31 -0
  75. package/src/features/task-sync/lib/token-extractor.ts +52 -0
  76. package/src/features/task-sync/lib/version.ts +36 -0
  77. package/src/features/task-sync/types.ts +40 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,169 @@
1
+ # Changelog
2
+
3
+ ## 1.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 908b282: "bx:task v2.0 — 7-subcommand router with bootstrap/feature/roadmap"
8
+
9
+ ## 1.1.0
10
+
11
+ ### Minor Changes
12
+
13
+ - **bx-task v1.1.0**: Add `sync` and `init` subcommands
14
+
15
+ - `sync [--task-id N]` — post session digest (git log + context) as Bitrix task comment
16
+ - `init [--task-id N]` — detect/insert TASK_ID block into nearest CLAUDE.md
17
+
18
+ - **bx-crm skeleton**: Register `bx-crm` feature (planned — subcommands defined, not yet implemented)
19
+
20
+ - **bx-calendar skeleton**: Register `bx-calendar` feature (planned — subcommands defined, not yet implemented)
21
+
22
+ ## 1.0.0
23
+
24
+ ### Major Changes
25
+
26
+ - Initial v1.0.0 release. Multi-feature CLI for Bitrix24 + Claude Code integration.
27
+
28
+ Breaking changes vs `@synity/bitrix-task-sync@0.2.3`:
29
+
30
+ - Package renamed: `@synity/bitrix-task-sync` → `@synity/bitrix-tools`
31
+ - CLI binary renamed: `bitrix-task-sync` → `bitrix-tools`
32
+ - Install command: `npx bitrix-task-sync install` → `npx bitrix-tools install task-sync`
33
+ - Manifest file: `<project>/.bitrix-tools.json` (new, replaces ad-hoc detection)
34
+
35
+ New features:
36
+
37
+ - Multi-feature CLI: `task-sync` (project hooks) + `bx-task` (global skill)
38
+ - Interactive feature picker: `npx bitrix-tools install`
39
+ - `list`, `verify`, `update`, `uninstall` commands
40
+ - Shared TS + bash lib SSOT in `src/lib/`
41
+ - Extensible: add new Bitrix feature by creating `src/features/<name>/`
42
+
43
+ Migration guide: run `npx @synity/bitrix-tools install task-sync` in your project.
44
+
45
+ All notable changes to `@synity/bitrix-task-sync` will be documented in this file.
46
+
47
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
48
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
49
+
50
+ ## [Unreleased]
51
+
52
+ ## [0.2.3] - 2026-05-10
53
+
54
+ ### Fixed
55
+
56
+ - **Hooks not firing on every session — `session_id` resolution** (CRITICAL). `bitrix-skill-start.sh` and `bitrix-skill-end.sh` extracted `session_id` from PreToolUse/PostToolUse payloads, but Claude Code does NOT include `session_id` in those payloads (only `Stop` does). State landed at `<SESSION_DIR>/unknown.json`; Stop hook (which DOES get the real `session_id`) looked for `<real-id>.json`, missed it, and exited in <100ms with no digest, no time tracking, no token totals. Fix: fall back to `$CK_SESSION_ID` env var (already set by user-level `session-init.cjs` SessionStart hook). Applied identically to all 3 scripts (`bitrix-skill-start.sh`, `bitrix-skill-end.sh`, `bitrix-session-sync.sh`) so every hook resolves to the same SESSION_ID.
57
+
58
+ ```bash
59
+ # OLD: lands at unknown.json on PreToolUse/PostToolUse
60
+ SESSION_ID=$(echo "$PAYLOAD" | jq -r '.session_id // "unknown"')
61
+
62
+ # NEW: payload first, env fallback, then unknown
63
+ SESSION_ID=$(echo "$PAYLOAD" | jq -r '.session_id // empty')
64
+ SESSION_ID=${SESSION_ID:-${CK_SESSION_ID:-unknown}}
65
+ ```
66
+
67
+ Symptom user reported: brainstorm/plan/cook skills ran but Bitrix task chat received no comments. Verification post-fix: `ls /tmp/claude-b24/` shows `<real-session-id>.json` instead of `unknown.json`; Stop hook posts digest as expected.
68
+
69
+ ## [0.2.2] - 2026-05-10
70
+
71
+ ### Fixed
72
+
73
+ - **Skill end hook function ordering** — `_attach_skill_artifacts()` was defined AFTER the `exit 0` early-return path; bash does not pre-parse functions past `exit`, so calls fired `command not found`. Moved definition above the early-return guard.
74
+ - **Stop hook bash invocation** — `bitrix-render-digest.sh` lacks execute bit on fresh installs; Stop hook now prefixes with `bash` to avoid permission-denied on new clones.
75
+ - **Worktree path detection** — `.git` is a file (not dir) in worktrees, breaking `git rev-parse --show-toplevel` for Drive root; now uses `--git-common-dir` to detect the shared main worktree path. Avoids per-worktree Drive folder fragmentation.
76
+ - **Fallback JSONL probe** — when transcript path resolution fails, fallback glob now excludes `subagents/` directory and sorts newest-first, ensuring we read the parent session transcript (not a subagent's truncated log).
77
+ - **Native task timer** — replaced manual `tasks.task.start` + `task.elapseditem.add` chain with native `tasks.task.startTimer` / `pauseTimer` (correct REST v2 method names). Removes one round-trip per skill, eliminates orphan time entries on crash.
78
+ - **Stop hook redundant link** — removed duplicate `🔗 Task` line from digest header (now appears only at footer with task title).
79
+ - **Skill output filter** — added `_has_useful_content()` guard before posting "skill xong" comments to prevent spam from skills that emit only JSON status / empty stdout (e.g. `git-manager`, `code-reviewer` returning structured-only output).
80
+ - **Phase 3a checklist sync wiring** — `b24_sync_checklist` was implemented but never called from skill-end hook; added wire in `bitrix-skill-end.sh` after artifact attach so plan-emitted `bitrix-checklist` blocks now propagate to Bitrix.
81
+
82
+ ### Verified
83
+
84
+ - Token tracking `UF_AI_TOKENS_TOTAL` accumulator working stably across full-day usage (no race conditions observed in single-developer scenario).
85
+
86
+ ### Build
87
+
88
+ - `pnpm build` re-syncs assets from monorepo root + rebuilds `dist/`.
89
+
90
+ ### Companion
91
+
92
+ - New global Claude Code skill `/bx:task` (separate install at `~/.claude/skills/bx-task/`) — manual KB summary posting (5 templates) + manual time entries. Complements the auto-sync hooks shipped here. See `README.md` "Companion: /bx:task skill".
93
+
94
+ ## [0.2.1] - 2026-05-10
95
+
96
+ ### Refactored
97
+
98
+ - **BB code throughout** — replaced markdown templates with Bitrix BB code in `bitrix-skill-end.sh`, `bitrix-render-digest.sh`, `bitrix-lib.sh`. Headings → `[b]...[/b]`, bullets → `•`, code → `[code]...[/code]`. Markdown was rendering as literal text in Bitrix chat (cosmetic regression in 0.2.0).
99
+ - **No-ceiling time format** — `_format_duration` now emits `5m 12s` (precise) instead of `6m` (ceiling). Hooks measure per-skill elapsed in integer seconds; ceiling lost up to 59s precision per skill.
100
+ - **Approach C time tracking** — Stop hook now calls `task.elapseditem.add` ONCE per session with cumulative `elapsed_seconds`, instead of N times (one per PostToolUse). Reduces system-message spam from 2N to 2 per session. Orphan PostToolUse calls (no matching PreToolUse) are clamped to 0 to prevent the "29M phút" runaway bug.
101
+
102
+ ### Fixed
103
+
104
+ - Webhook user identity confirmed as user 614 "Claude" (non-admin); rights.edit/remove = true on own posts → cleanup operations safe.
105
+
106
+ ## [0.2.0] - 2026-05-10
107
+
108
+ ### Added
109
+
110
+ - **Token tracking** (`UF_AI_TOKENS_TOTAL` custom field) — `install` now calls `task.item.userfield.add` to create a numeric field on `TASKS_TASK`; Stop hook reads current value from transcript JSONL, accumulates `input + output` tokens, and writes back via `tasks.task.update`. Digest comment shows `🪙 Xk in / Yk out / Zk cached | task total: N tokens`.
111
+ - **Time tracking lifecycle** — `bitrix-session-check.sh` (SessionStart) auto-enables `ALLOW_TIME_TRACKING` per task if not already set, posting a one-time audit comment with sentinel `[BTS-AUTO-TIMETRACK-V1]` to prevent spam. `bitrix-skill-start.sh` uses an atomic flock-based counter to call `tasks.task.start` on the first skill of a session; `bitrix-skill-end.sh` calls `tasks.task.pause` on the last. Stop hook force-pauses as crash-safety.
112
+ - **File attach** — PostToolUse hook for `plan/planner/brainstorm/cook/research/journal` skills parses `\`\`\`bitrix-artifact\`\`\``fenced block from tool output (or falls back to glob of recently modified`.md`files), uploads to group/user drive via`disk.folder.uploadfile`, attaches to task via `tasks.task.files.attach`. Drive layout: `AI Sessions/<repo>/<rel-dir>/`.
113
+ - **Cook completion digest** — Stop hook renders a full session summary: plan title + phase progress (checkbox ratio), skills + total minutes, token line, attached file list, and git commits since session start. Uses new pure-render helper `bitrix-render-digest.sh`.
114
+ - **`verify` disk scope probe** — reports whether `disk` scope is available; warns clearly if missing (file-attach degrades gracefully, install still succeeds).
115
+ - New scripts: `bitrix-attach-files.sh` (standalone attach orchestrator), `bitrix-render-digest.sh` (pure digest renderer).
116
+ - New TS module: `src/lib/token-extractor.ts` — parses Claude Code transcript JSONL for token usage.
117
+ - 17 new Vitest cases across 4 test files: `token-tracker`, `time-tracking`, `file-attach`, `digest-render`.
118
+
119
+ ### Changed
120
+
121
+ - `bitrix-session-check.sh` — now writes `BTS_SESSION_START_ISO` to session env file for digest; probes task status on SessionStart (skips lifecycle if STATUS=5 closed); wipes stale skill counter.
122
+ - `bitrix-skill-start.sh` — increments skill counter; calls `tasks.task.start` on 0→1 transition.
123
+ - `bitrix-skill-end.sh` — decrements counter; calls `tasks.task.pause` on 1→0; triggers artifact attach for applicable skills.
124
+ - `bitrix-session-sync.sh` — delegates rendering to `bitrix-render-digest.sh`; accumulates session tokens; force-pauses task; cleans up all session tmp files.
125
+ - `bitrix-lib.sh` — added Phase 1–3 helpers: `b24_ensure_uf`, `b24_task_get_uf_tokens`, `b24_task_set_uf_tokens`, `_compute_session_tokens`, `b24_finalize_session_tokens`, `_skill_counter_incr/decr`, `b24_task_start/pause/status`, `b24_ensure_timetracking`, `b24_disk_get_root_folder`, `b24_disk_ensure_folder`, `b24_disk_upload`, `b24_task_attach_file`, `b24_attach_artifact`.
126
+
127
+ ### Notes
128
+
129
+ - **Breaking:** webhook user now requires **edit-task** permission (previously comment-only was sufficient). Needed for `tasks.task.start/pause/update`.
130
+ - **Known issue:** `tasks.task.file.attach` (v3) is broken on Bitrix portal with `Class "File" requires attribute "DtoType"` — shipping with legacy `tasks.task.files.attach`. Awaiting Bitrix support fix.
131
+ - **Race condition (documented):** `UF_AI_TOKENS_TOTAL` accumulator is read-modify-write (not atomic). Two concurrent Stop hooks on the same task may lose one session's tokens. Acceptable for single-developer usage (one session at a time).
132
+
133
+ ## [0.1.1] - 2026-05-10
134
+
135
+ ### Fixed
136
+
137
+ - **`b24_call` now streams curl response to stdout** instead of redirecting to `/dev/null` — `verify` smoke test (`/"result"/` regex) was always failing because the JSON response was discarded. Without this fix, `verify` exits 3 even when the webhook is healthy.
138
+
139
+ ### Added
140
+
141
+ - **Skill ref counting** — `~/.claude/skills/bitrix-sync-install/` is now reference-counted via a sidecar `.refs.json`. Each `install` registers the project; `uninstall` removes shared skill files only when the last project unlinks, so uninstall in project A never breaks project B.
142
+ - New `clearAllRefs` / `getSkillDir` / `getRefsFile` helpers in `lib/skill-refs.ts` (lazy path resolution for testability).
143
+ - 10 new vitest cases for cross-project install/uninstall, idempotency, dry-run safety, and migration fallback.
144
+
145
+ ### Changed
146
+
147
+ - `--remove-skill` now also clears the entire refs registry (previously would leave stale entries).
148
+ - Empty registry + skill files present is treated as ambiguous (likely pre-ref-counting install) — files preserved unless `--remove-skill` is passed.
149
+
150
+ ## [0.1.0] - 2026-05-09
151
+
152
+ ### Added
153
+
154
+ - Initial release of `@synity/bitrix-task-sync` — portable npm package + Claude Code skill for installing Bitrix Task Sync into any project via `npx`.
155
+ - `install` command — copies 11 managed files (5 hook scripts, 2 githooks, 1 layer rule, 2 docs, 1 GitHub workflow) + merges 4 hook triggers into `.claude/settings.json`.
156
+ - `uninstall` command — removes only sha256-matching files (preserves user modifications) + cleans Bitrix entries from settings without touching user hooks.
157
+ - `verify` command — end-to-end smoke test: TASK_ID presence, `BITRIX_WEBHOOK_URL`, live webhook POST, manifest drift check. Distinct exit codes (1/2/3/4) per failure.
158
+ - `update` command — alias for `install --force` to refresh managed files to current SSOT versions.
159
+ - Build-time SSOT sync (`scripts/sync-assets.mjs`) — copies from monorepo root → `assets/` with sha256 manifest generation.
160
+ - Idempotent settings merge using `deepmerge` with array dedup by `JSON.stringify`.
161
+ - Brownfield-safe install — preserves existing `.claude/settings.json` user hooks, never modifies `CLAUDE.md`, skips user-modified files without `--force`.
162
+ - Skill orchestrator at `~/.claude/skills/bitrix-sync-install/` — interactive 7-step Claude Code skill that runs the CLI on the user's behalf.
163
+ - 18 vitest cases covering install (10), uninstall (4), and manifest drift (4) scenarios.
164
+
165
+ ### Notes
166
+
167
+ - Requires Node.js >= 20.
168
+ - Skill install uses `os.homedir()` (cross-platform), respects `--no-skill` for CI.
169
+ - Live `npm publish` deferred until first downstream-app smoke test.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Synity Vietnam JSC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,83 @@
1
+ # @synity/bitrix-skills
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@synity/bitrix-skills.svg)](https://www.npmjs.com/package/@synity/bitrix-skills)
4
+ [![CI](https://github.com/synity-tech/bitrix-tools/actions/workflows/ci.yml/badge.svg)](https://github.com/synity-tech/bitrix-tools/actions/workflows/ci.yml)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+
7
+ Multi-feature CLI for **Bitrix24 + Claude Code** integration — task sync hooks, skills, and more.
8
+
9
+ ---
10
+
11
+ ## Features
12
+
13
+ | Feature | Target | Description |
14
+ |---------|--------|-------------|
15
+ | `task-sync` | project | AI session sync to Bitrix task chat via hooks |
16
+ | `bx-task` | global (`~/.claude/skills`) | Claude Code skill for Bitrix task management |
17
+ | `bx-crm` | global (`~/.claude/skills`) | Claude Code skill for CRM: contacts, deals, companies, analysis, reports |
18
+ | `bx-calendar` | global (`~/.claude/skills`) | Claude Code skill for Calendar: meetings, reminders, availability, CRM sync |
19
+ | `bx` | global (`~/.claude/skills`) | Hub router skill — discovery entry point for all bx:* skills |
20
+
21
+ ## Install
22
+
23
+ ```bash
24
+ npx @synity/bitrix-skills install
25
+ ```
26
+
27
+ Interactive picker. Or:
28
+
29
+ ```bash
30
+ npx @synity/bitrix-skills install --all # all features
31
+ npx @synity/bitrix-skills install task-sync # specific feature
32
+ ```
33
+
34
+ ## Commands
35
+
36
+ ```bash
37
+ bitrix-skills install [features...] # install with picker or by name
38
+ bitrix-skills install --all # install all features
39
+ bitrix-skills list # show available + installed status
40
+ bitrix-skills verify # verify installed file checksums
41
+ bitrix-skills update # update installed features to latest
42
+ bitrix-skills uninstall <feature> # remove a feature
43
+ bitrix-skills --version
44
+ ```
45
+
46
+ ## Requirements
47
+
48
+ - Node.js >= 20
49
+ - `BITRIX_WEBHOOK_URL` env var (for `task-sync`)
50
+ - `bitrix-synity-mcp` MCP server (for `bx-task` skill)
51
+
52
+ ## Quick start (task-sync)
53
+
54
+ ```bash
55
+ # 1. Install into your project
56
+ npx @synity/bitrix-skills install task-sync
57
+
58
+ # 2. Set TASK_ID in CLAUDE.md
59
+ echo -e "## Bitrix Task\nTASK_ID: 12345" >> CLAUDE.md
60
+
61
+ # 3. Export webhook URL
62
+ export BITRIX_WEBHOOK_URL="https://your-portal.bitrix24.com/rest/1/xxx/"
63
+
64
+ # 4. Start Claude Code session - hooks fire automatically
65
+ ```
66
+
67
+ ## Migration from `@synity/bitrix-task-sync`
68
+
69
+ See [docs/migration-from-bitrix-task-sync.md](docs/migration-from-bitrix-task-sync.md).
70
+
71
+ ## Documentation
72
+
73
+ - [docs/feature-task-sync.md](docs/feature-task-sync.md)
74
+ - [docs/feature-bx-task.md](docs/feature-bx-task.md)
75
+ - [docs/architecture.md](docs/architecture.md)
76
+
77
+ ## Contributing
78
+
79
+ See [CONTRIBUTING.md](CONTRIBUTING.md).
80
+
81
+ ## License
82
+
83
+ MIT (c) 2026 Synity Vietnam JSC
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { run } from '../dist/cli.js';
3
+ run(process.argv.slice(2));