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.
- package/.workflow/templates/partials/methodology-rules.hbs +3 -1
- package/lib/scheduled-mode.js +12 -15
- package/lib/skill-export-claude-plugin.js +41 -1
- package/lib/skill-portability.js +21 -3
- package/lib/workspace-channel-server.js +116 -3
- package/lib/workspace-channel-tracking.js +102 -1
- package/lib/workspace-dispatch-tracking.js +28 -0
- package/lib/workspace-messages.js +32 -4
- package/lib/workspace-subtask-state.js +215 -0
- package/lib/workspace.js +81 -0
- package/package.json +2 -2
- package/scripts/flow +17 -0
- package/scripts/flow-constants.js +3 -1
- package/scripts/flow-io.js +17 -0
- package/scripts/flow-paths.js +81 -0
- package/scripts/flow-schedule.js +23 -6
- package/scripts/flow-scheduled-runner.js +53 -8
- package/scripts/flow-standards-checker.js +37 -0
- package/scripts/flow-utils.js +2 -0
- package/scripts/hooks/adapters/claude-code.js +6 -2
- package/scripts/hooks/core/git-safety-gate.js +34 -15
- package/scripts/hooks/core/long-input-enforcement.js +49 -39
- package/scripts/hooks/core/overdue-dispatches.js +28 -6
- package/scripts/hooks/core/phase-gate.js +34 -5
- package/scripts/hooks/core/phase-read-gate.js +62 -10
- package/scripts/hooks/core/session-start-worker.js +52 -0
- package/scripts/hooks/core/stop-orchestrator.js +17 -2
- package/scripts/hooks/core/validation.js +8 -0
- package/scripts/hooks/core/worker-continuation-gate.js +487 -0
- package/scripts/hooks/core/workspace-stop-gates.js +21 -0
- package/scripts/hooks/core/workspace-stop-notify.js +174 -59
- package/scripts/hooks/entry/claude-code/post-tool-use.js +26 -0
- package/.claude/rules/README.md +0 -36
- package/.claude/rules/_internal/README.md +0 -64
- package/.claude/rules/_internal/document-structure.md +0 -77
- package/.claude/rules/_internal/dual-repo-management.md +0 -174
- package/.claude/rules/_internal/feature-refactoring-cleanup.md +0 -87
- package/.claude/rules/_internal/github-releases.md +0 -71
- package/.claude/rules/_internal/model-management.md +0 -35
- package/.claude/rules/_internal/self-maintenance.md +0 -87
- package/.claude/rules/_internal/worker-tool-first-turn.md +0 -82
- package/.claude/rules/alternative-execpolicy-toml-command-policy.md +0 -11
- package/.claude/rules/alternative-hand-edit-ready-json-to-register-orpha.md +0 -11
- package/.claude/rules/alternative-hook-args-exec-form.md +0 -6
- package/.claude/rules/alternative-permission-ruleset-per-phase.md +0 -11
- package/.claude/rules/alternative-short-name.md +0 -12
- package/.claude/rules/alternative-wogi-flow-as-mcp-client-oauth-manager.md +0 -11
- package/.claude/rules/architecture/component-reuse.md +0 -38
- package/.claude/rules/architecture/hook-three-layer.md +0 -68
- package/.claude/rules/code-style/naming-conventions.md +0 -107
- package/.claude/rules/dual-repo-architecture-2026-02-28.md +0 -18
- package/.claude/rules/github-release-workflow-2026-01-30.md +0 -16
- package/.claude/rules/operations/git-workflows.md +0 -92
- package/.claude/rules/operations/scratch-directory.md +0 -54
- package/.claude/skills/figma-analyzer/knowledge/learnings.md +0 -11
- package/.workflow/specs/architecture.md.template +0 -24
- package/.workflow/specs/stack.md.template +0 -33
- 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,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.*
|