wogiflow 2.33.0 → 2.34.2

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 (58) hide show
  1. package/.workflow/templates/partials/methodology-rules.hbs +3 -1
  2. package/lib/scheduled-mode.js +12 -15
  3. package/lib/skill-export-claude-plugin.js +41 -1
  4. package/lib/skill-portability.js +21 -3
  5. package/lib/workspace-channel-server.js +116 -3
  6. package/lib/workspace-channel-tracking.js +102 -1
  7. package/lib/workspace-dispatch-tracking.js +28 -0
  8. package/lib/workspace-messages.js +32 -4
  9. package/lib/workspace-subtask-state.js +215 -0
  10. package/lib/workspace.js +81 -0
  11. package/package.json +2 -2
  12. package/scripts/flow +17 -0
  13. package/scripts/flow-constants.js +3 -1
  14. package/scripts/flow-io.js +17 -0
  15. package/scripts/flow-paths.js +81 -0
  16. package/scripts/flow-schedule.js +23 -6
  17. package/scripts/flow-scheduled-runner.js +53 -8
  18. package/scripts/flow-standards-checker.js +37 -0
  19. package/scripts/flow-utils.js +2 -0
  20. package/scripts/hooks/adapters/claude-code.js +6 -2
  21. package/scripts/hooks/core/git-safety-gate.js +34 -15
  22. package/scripts/hooks/core/long-input-enforcement.js +49 -39
  23. package/scripts/hooks/core/overdue-dispatches.js +28 -6
  24. package/scripts/hooks/core/phase-gate.js +34 -5
  25. package/scripts/hooks/core/phase-read-gate.js +62 -10
  26. package/scripts/hooks/core/session-start-worker.js +52 -0
  27. package/scripts/hooks/core/stop-orchestrator.js +17 -2
  28. package/scripts/hooks/core/validation.js +8 -0
  29. package/scripts/hooks/core/worker-continuation-gate.js +487 -0
  30. package/scripts/hooks/core/workspace-stop-gates.js +21 -0
  31. package/scripts/hooks/core/workspace-stop-notify.js +174 -59
  32. package/scripts/hooks/entry/claude-code/post-tool-use.js +26 -0
  33. package/.claude/rules/README.md +0 -36
  34. package/.claude/rules/_internal/README.md +0 -64
  35. package/.claude/rules/_internal/document-structure.md +0 -77
  36. package/.claude/rules/_internal/dual-repo-management.md +0 -174
  37. package/.claude/rules/_internal/feature-refactoring-cleanup.md +0 -87
  38. package/.claude/rules/_internal/github-releases.md +0 -71
  39. package/.claude/rules/_internal/model-management.md +0 -35
  40. package/.claude/rules/_internal/self-maintenance.md +0 -87
  41. package/.claude/rules/_internal/worker-tool-first-turn.md +0 -82
  42. package/.claude/rules/alternative-execpolicy-toml-command-policy.md +0 -11
  43. package/.claude/rules/alternative-hand-edit-ready-json-to-register-orpha.md +0 -11
  44. package/.claude/rules/alternative-hook-args-exec-form.md +0 -6
  45. package/.claude/rules/alternative-permission-ruleset-per-phase.md +0 -11
  46. package/.claude/rules/alternative-short-name.md +0 -12
  47. package/.claude/rules/alternative-wogi-flow-as-mcp-client-oauth-manager.md +0 -11
  48. package/.claude/rules/architecture/component-reuse.md +0 -38
  49. package/.claude/rules/architecture/hook-three-layer.md +0 -68
  50. package/.claude/rules/code-style/naming-conventions.md +0 -107
  51. package/.claude/rules/dual-repo-architecture-2026-02-28.md +0 -18
  52. package/.claude/rules/github-release-workflow-2026-01-30.md +0 -16
  53. package/.claude/rules/operations/git-workflows.md +0 -92
  54. package/.claude/rules/operations/scratch-directory.md +0 -54
  55. package/.claude/skills/figma-analyzer/knowledge/learnings.md +0 -11
  56. package/.workflow/specs/architecture.md.template +0 -24
  57. package/.workflow/specs/stack.md.template +0 -33
  58. package/.workflow/specs/testing.md.template +0 -36
@@ -1,18 +0,0 @@
1
- ---
2
- alwaysApply: false
3
- description: "Dual-Repo Architecture (2026-02-28) - Source: User directive — formalize dual-repo management for wogi-flow + wogiflow-cloud"
4
- ---
5
-
6
- # Dual-Repo Architecture (2026-02-28)
7
-
8
- **Source**: User directive — formalize dual-repo management for wogi-flow + wogiflow-cloud
9
- **Rule**: Two repos, independent versions, mutual version awareness. OSS (`wogi-flow` / npm `wogiflow`) and Cloud (`wogiflow-cloud` / `@wogiflow/teams`) are separate packages with separate release cycles.
10
-
11
- **Key constraints:**
12
- 1. **No teams code in the free repo** — all team logic lives in `wogiflow-cloud`. The free repo provides extension points only.
13
- 2. **Independent semver** — each repo versions independently. The client declares compatibility via peerDependencies (`wogiflow >= X.Y.Z`).
14
- 3. **Cross-repo version file** — each repo maintains `.workflow/state/partner-versions.json` recording the other's last-known version. Updated on every release.
15
- 4. **OSS releases first** — if cloud needs a new OSS feature/export, release OSS first, then cloud.
16
- 5. **Interface contract** — exported functions, hook interfaces, state file formats, and config keys used by cloud are documented in `.claude/rules/_internal/dual-repo-management.md`. Changes to these require updating the cloud client.
17
-
18
- **Verification**: Before releasing either repo, check `partner-versions.json` and grep the other repo for consumers of changed interfaces.
@@ -1,16 +0,0 @@
1
- ---
2
- alwaysApply: false
3
- description: "GitHub Release Workflow (2026-01-30) - Source: Repeated failures (10+ times) in npm publish automation"
4
- ---
5
-
6
- # GitHub Release Workflow (2026-01-30)
7
-
8
- **Source**: Repeated failures (10+ times) in npm publish automation
9
- **Details**: See `.claude/rules/_internal/github-releases.md` for full procedure.
10
-
11
- **Quick reference**:
12
- 1. `git push origin master`
13
- 2. `git tag vX.Y.Z HEAD`
14
- 3. `git push origin vX.Y.Z`
15
- 4. `gh release create vX.Y.Z --title "vX.Y.Z" --notes "..."`
16
- 5. `npm publish`
@@ -1,92 +0,0 @@
1
- ---
2
- alwaysApply: false
3
- description: "Git workflow rules for merge conflicts, conventional commits, and branch management. Load when committing, resolving conflicts, or managing branches."
4
- ---
5
-
6
- # Git Workflow Rules
7
-
8
- ## Merge Conflict Resolution
9
-
10
- When encountering merge conflicts:
11
-
12
- 1. **Understand both sides** before resolving. Read the full context of both changes.
13
- 2. **Prefer the newer implementation** when both sides modify the same logic, unless the older version has test coverage the newer lacks.
14
- 3. **Never silently discard changes** — if unsure, ask the user which side to keep.
15
- 4. **After resolving**: Run lint and typecheck on resolved files before committing.
16
- 5. **Conflict markers**: If you see `<<<<<<<`, `=======`, `>>>>>>>` in any file, resolve them before any other work.
17
-
18
- ```bash
19
- # Check for unresolved conflicts
20
- git diff --check
21
-
22
- # After resolving
23
- git add <resolved-files>
24
- git commit -m "fix: resolve merge conflicts in <description>"
25
- ```
26
-
27
- ## Conventional Commit Format
28
-
29
- All commits MUST use conventional commit format:
30
-
31
- ```
32
- <type>(<scope>): <description>
33
-
34
- [optional body]
35
-
36
- [optional footer]
37
- ```
38
-
39
- ### Types
40
-
41
- | Type | When to use |
42
- |------|------------|
43
- | `feat` | New feature or capability |
44
- | `fix` | Bug fix |
45
- | `docs` | Documentation only |
46
- | `style` | Formatting, whitespace (no logic change) |
47
- | `refactor` | Code change that neither fixes a bug nor adds a feature |
48
- | `perf` | Performance improvement |
49
- | `test` | Adding or updating tests |
50
- | `chore` | Build process, tooling, dependencies |
51
-
52
- ### Examples
53
-
54
- ```
55
- feat(hooks): add InstructionsLoaded hook for rule conflict detection
56
- fix(routing): clear routing flag when user invokes /wogi-* commands
57
- docs(readme): update installation instructions for v1.8
58
- refactor(bridge): extract hash comparison to shared utility
59
- chore(deps): bump eslint to v9.x
60
- ```
61
-
62
- ### Scope
63
-
64
- Use the module or feature area: `hooks`, `bridge`, `routing`, `skills`, `plugins`, `config`, `cli`, `docs`.
65
-
66
- ## Pre-Commit Review
67
-
68
- Before committing, always:
69
- 1. Run `git diff --staged` to review what you're about to commit
70
- 2. Verify no secrets, credentials, or `.env` files are staged
71
- 3. Verify no debug/console.log statements left in production code
72
- 4. Run validation (lint, typecheck) on changed files
73
-
74
- ## Stash Usage
75
-
76
- Use `git stash` when:
77
- - Switching context to a different task mid-work
78
- - Pulling changes that might conflict with local work
79
- - Testing something on a clean working tree
80
-
81
- ```bash
82
- git stash push -m "WIP: description of work" # Save with message
83
- git stash pop # Restore and remove
84
- git stash list # See all stashes
85
- ```
86
-
87
- ## Branch Naming
88
-
89
- When creating branches (outside worktrees):
90
- - Feature: `feat/<short-description>`
91
- - Bugfix: `fix/<short-description>`
92
- - WogiFlow worktrees use `wogi-task-<taskId>` automatically
@@ -1,54 +0,0 @@
1
- ---
2
- alwaysApply: false
3
- description: "Temp files, prompts, instructions, and scratch content must go in .workflow/scratch/. Load when creating new files, drafts, or exported content."
4
- ---
5
-
6
- # Scratch Directory for Temporary Files
7
-
8
- ## Rule
9
-
10
- When creating temporary, scratch, or ephemeral files — such as prompts for other projects, instructions, notes, drafts, exported configs, or any content that is NOT a permanent part of the codebase — **always write them to `.workflow/scratch/`**.
11
-
12
- ## Why
13
-
14
- Without this rule, Claude creates .md files, .txt files, and other scratch content in random locations (project root, src/, docs/, etc.). This pollutes the project with files that:
15
- - Have no designated location, so users don't know where to find them
16
- - Don't get cleaned up, accumulating over time
17
- - May accidentally get committed to version control
18
- - Make `git status` noisy with untracked files
19
-
20
- ## How
21
-
22
- ```javascript
23
- // Use PATHS.scratch for temp file locations
24
- const { PATHS } = require('./flow-paths');
25
- const outputPath = path.join(PATHS.scratch, 'my-temp-file.md');
26
- ```
27
-
28
- Or in natural language: "Save this to `.workflow/scratch/filename.md`"
29
-
30
- ## Auto-Cleanup
31
-
32
- The `.workflow/scratch/` directory is **automatically cleaned at session end** by the session-end hook. Files in this directory are ephemeral — they survive the current session but are removed when the session ends.
33
-
34
- If a file needs to persist beyond a session, it belongs somewhere else:
35
- - Specs → `.workflow/specs/`
36
- - Changes → `.workflow/changes/`
37
- - Documentation → project docs directory
38
- - Configuration → `.workflow/` root
39
-
40
- ## What Goes in Scratch
41
-
42
- - Prompts or instructions generated for other projects
43
- - Draft content being reviewed before placement
44
- - Temporary analysis output
45
- - Export/import staging files
46
- - Any file the user explicitly asks to "save somewhere" without specifying a location
47
-
48
- ## What Does NOT Go in Scratch
49
-
50
- - Task specs (use `.workflow/specs/` or `.workflow/changes/`)
51
- - Configuration files (use `.workflow/`)
52
- - Source code (use the project's source directories)
53
- - Documentation (use the project's docs directory)
54
- - State files (use `.workflow/state/`)
@@ -1,11 +0,0 @@
1
- # Figma Analyzer Learnings
2
-
3
- Learnings captured from using the Figma Analyzer skill.
4
-
5
- ---
6
-
7
- ## Patterns Learned
8
-
9
- <!-- Learnings will be captured automatically during skill usage -->
10
-
11
- ---
@@ -1,24 +0,0 @@
1
- # Architecture
2
-
3
- ## Pattern
4
-
5
- <!-- Detected during onboarding -->
6
- <!-- Examples: MVC, Clean Architecture, DDD, Microservices, Monolith -->
7
-
8
- ## Structure
9
-
10
- <!-- Project structure overview -->
11
- <!-- Key directories and their purposes -->
12
-
13
- ## Key Decisions
14
-
15
- <!-- Architecture decisions made for this project -->
16
- <!-- Trade-offs and rationale -->
17
-
18
- ## Dependencies
19
-
20
- <!-- Major dependencies and their purposes -->
21
-
22
- ---
23
-
24
- *This file is auto-populated during `flow onboard`. Update manually as architecture evolves.*
@@ -1,33 +0,0 @@
1
- # Tech Stack
2
-
3
- ## Framework
4
-
5
- <!-- Primary framework (e.g., Next.js, NestJS, FastAPI) -->
6
-
7
- ## Language
8
-
9
- <!-- Primary language (e.g., TypeScript, Python, Go) -->
10
-
11
- ## Database
12
-
13
- <!-- Database system if applicable (e.g., PostgreSQL, MongoDB) -->
14
-
15
- ## Package Manager
16
-
17
- <!-- npm, yarn, pnpm, pip, etc. -->
18
-
19
- ## Build Tools
20
-
21
- <!-- Build and bundling tools (e.g., Vite, Webpack, esbuild) -->
22
-
23
- ## Testing
24
-
25
- <!-- Test frameworks (e.g., Jest, Vitest, pytest) -->
26
-
27
- ## Other Tools
28
-
29
- <!-- Linters, formatters, CI/CD tools -->
30
-
31
- ---
32
-
33
- *This file is auto-populated during `flow onboard`. Update manually as stack evolves.*
@@ -1,36 +0,0 @@
1
- # Testing
2
-
3
- ## Test Framework
4
-
5
- <!-- Primary test framework (e.g., Jest, Vitest, pytest) -->
6
-
7
- ## Test Commands
8
-
9
- ```bash
10
- # Run all tests
11
- npm test
12
-
13
- # Run tests in watch mode
14
- npm run test:watch
15
-
16
- # Run specific test file
17
- npm test -- path/to/test.ts
18
- ```
19
-
20
- ## Test Structure
21
-
22
- <!-- Where tests are located -->
23
- <!-- Naming conventions -->
24
-
25
- ## Coverage
26
-
27
- <!-- Coverage requirements if any -->
28
- <!-- Coverage commands -->
29
-
30
- ## E2E Testing
31
-
32
- <!-- E2E framework if used (e.g., Playwright, Cypress) -->
33
-
34
- ---
35
-
36
- *This file is auto-populated during `flow onboard`. Update manually as testing strategy evolves.*