@comfanion/workflow 4.36.20 → 4.36.22

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comfanion/workflow",
3
- "version": "4.36.20",
3
+ "version": "4.36.22",
4
4
  "description": "Initialize OpenCode Workflow system for AI-assisted development with semantic code search",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "4.36.20",
3
- "buildDate": "2026-01-24T17:33:20.798Z",
2
+ "version": "4.36.22",
3
+ "buildDate": "2026-01-24T17:58:25.989Z",
4
4
  "files": [
5
5
  "config.yaml",
6
6
  "FLOW.yaml",
@@ -14,9 +14,11 @@ tools:
14
14
  skill: true
15
15
  question: true
16
16
  bash: false # No shell commands needed
17
- webfetch: true # Use @researcher for web research
17
+ webfetch: true # For research
18
18
  todowrite: true # Track complex requirements gathering
19
19
  todoread: true
20
+ search: true # Semantic search for existing docs/requirements
21
+ codeindex: true # Check index status
20
22
 
21
23
  # Permissions - granular control
22
24
  permission:
@@ -41,6 +43,7 @@ permission:
41
43
  <r>Always validate requirements against SMART criteria</r>
42
44
  <r>Never assume - always ask clarifying questions</r>
43
45
  <r>Find and use `**/project-context.md` as source of truth if exists</r>
46
+ <r>USE SEMANTIC SEARCH for existing docs: search({ query: "requirements", index: "docs" })</r>
44
47
  </rules>
45
48
  </activation>
46
49
 
@@ -8,8 +8,8 @@ tools:
8
8
  read: true
9
9
  write: true
10
10
  edit: true
11
- glob: true
12
- grep: true
11
+ glob: true # Use ONLY for specific file patterns, prefer search for exploration
12
+ grep: true # Use ONLY for exact string match, prefer search for concepts
13
13
  list: true
14
14
  skill: true
15
15
  question: true
@@ -18,6 +18,8 @@ tools:
18
18
  todowrite: true # Architecture can be complex multi-step
19
19
  todoread: true
20
20
  lsp: true # Code intelligence for architecture analysis
21
+ search: true # PREFERRED: Semantic search for code/docs/config exploration
22
+ codeindex: true # Check index status before searching
21
23
 
22
24
  # Permissions - granular control
23
25
  permission:
@@ -54,6 +56,10 @@ permission:
54
56
  <r>User journeys drive technical decisions</r>
55
57
  <r>Each doc file < 2000 lines (RAG-friendly)</r>
56
58
  <r>Find and use `**/project-context.md` and `CLAUDE.md` as source of truth</r>
59
+ <r critical="true">USE SEMANTIC SEARCH FIRST! Before using glob/grep, ALWAYS try search tool:
60
+ - search({ query: "concept", index: "docs" }) for documentation
61
+ - search({ query: "pattern", index: "code" }) for code exploration
62
+ - glob/grep ONLY for exact filenames or literal strings</r>
57
63
  </rules>
58
64
  </activation>
59
65
 
@@ -9,8 +9,8 @@ tools:
9
9
  write: true
10
10
  edit: true
11
11
  patch: true # For applying diffs
12
- glob: true
13
- grep: true
12
+ glob: true # Use for specific file patterns
13
+ grep: true # Use for exact string match
14
14
  list: true
15
15
  skill: true
16
16
  question: true
@@ -19,6 +19,8 @@ tools:
19
19
  todowrite: true # Track implementation progress
20
20
  todoread: true
21
21
  lsp: true # Code intelligence (experimental)
22
+ search: true # PREFERRED: Semantic search for finding patterns/examples
23
+ codeindex: true # Check index status
22
24
 
23
25
  # Permissions - developer has full access
24
26
  permission:
@@ -46,6 +48,7 @@ permission:
46
48
  <r>All existing tests must pass 100% before story is ready for review</r>
47
49
  <r>NEVER lie about tests being written or passing</r>
48
50
  <r>Find and use `**/project-context.md` and `CLAUDE.md` as source of truth</r>
51
+ <r>USE SEMANTIC SEARCH for finding existing patterns: search({ query: "similar feature", index: "code" })</r>
49
52
  </rules>
50
53
 
51
54
  <dev-story-workflow hint="When executing /dev-story command" critical="FOLLOW THIS EXACTLY">
@@ -8,8 +8,8 @@ tools:
8
8
  read: true
9
9
  write: true
10
10
  edit: true
11
- glob: true
12
- grep: true
11
+ glob: true # For specific file patterns
12
+ grep: true # For exact strings
13
13
  list: true
14
14
  skill: true
15
15
  question: true
@@ -17,6 +17,8 @@ tools:
17
17
  webfetch: false # Use @researcher for web research
18
18
  todowrite: true # PM tracks complex planning tasks
19
19
  todoread: true
20
+ search: true # PREFERRED: Semantic search for docs/PRD/architecture
21
+ codeindex: true # Check index status
20
22
 
21
23
  # Permissions - granular control
22
24
  permission:
@@ -49,15 +51,16 @@ permission:
49
51
  <r>Ship the smallest thing that validates the assumption</r>
50
52
  <r>Every feature must trace to a user problem</r>
51
53
  <r>NEVER create stories without acceptance criteria</r>
52
- <r critical="true">BEFORE writing epic/story tasks: MUST Glob+Read coding standards (see before-epic-story)</r>
54
+ <r critical="true">BEFORE writing epic/story: USE SEMANTIC SEARCH (see before-epic-story)</r>
53
55
  <r>Find and use `**/project-context.md` as source of truth if exists</r>
56
+ <r>USE SEMANTIC SEARCH FIRST: search({ query: "topic", index: "docs" }) before glob/grep</r>
54
57
  </rules>
55
58
 
56
59
  <before-epic-story critical="MANDATORY">
57
60
  <instruction>BEFORE writing ANY epic or story with tasks, you MUST execute:</instruction>
58
- <step n="1">Glob "**/AGENTS.md" OR "**/CLAUDE.md" → Read the file</step>
59
- <step n="2">Glob "**/coding-standards/**/*.md" Read ALL files found</step>
60
- <step n="3">Glob "**/[module]-data-model*.md" Read data model</step>
61
+ <step n="1">search({ query: "coding standards patterns conventions", index: "docs" }) → Read results</step>
62
+ <step n="2">search({ query: "architecture module boundaries", index: "docs" }) Understand structure</step>
63
+ <step n="3">Read CLAUDE.md or AGENTS.md if found</step>
61
64
  <step n="4">Glob "**/src/services/[module]/**/domain/**/*.go" → Read 2-3 existing patterns</step>
62
65
  <step n="5">ONLY THEN proceed to write tasks with Documentation links</step>
63
66
  <warning>Tasks without proper Documentation links to coding standards = REJECTED</warning>
@@ -40,7 +40,7 @@ Checks for updates and shows a toast notification if a newer version is availabl
40
40
  - Checks npm registry for latest @comfanion/workflow version
41
41
  - Compares with locally installed version
42
42
  - Shows toast notification if update available
43
- - Caches check result for 24 hours (avoids spam)
43
+ - Caches check result for 1 hour
44
44
  - Supports EN/UK/RU languages
45
45
 
46
46
  **Toast Example:**
@@ -12,7 +12,7 @@ import https from "https"
12
12
  * Configuration in .opencode/config.yaml:
13
13
  * version_check:
14
14
  * enabled: true # Enable version checking
15
- * check_interval: 86400000 # Check once per day (ms)
15
+ * check_interval: 3600000 # Check once per hour (ms)
16
16
  */
17
17
 
18
18
  const DEBUG = process.env.DEBUG?.includes('version-check') || process.env.DEBUG === '*'
@@ -118,7 +118,7 @@ async function getLanguage(directory: string): Promise<'en' | 'uk' | 'ru'> {
118
118
  }
119
119
 
120
120
  export const VersionCheckPlugin: Plugin = async ({ directory, client }) => {
121
- const CHECK_INTERVAL = 24 * 60 * 60 * 1000 // 24 hours
121
+ const CHECK_INTERVAL = 60 * 60 * 1000 // 1 hour (you release often! 🚀)
122
122
 
123
123
  const toast = async (message: string, variant: 'info' | 'success' | 'error' = 'info') => {
124
124
  try {
@@ -63,7 +63,7 @@ Prerequisites: Run 'npx @comfanion/workflow index --index <name>' first.`,
63
63
  const { CodebaseIndexer } = await import(`file://${vectorizerModule}`)
64
64
 
65
65
  let allResults: any[] = []
66
- const limit = args.limit || 5
66
+ const limit = args.limit || 10
67
67
  const indexName = args.index || "code"
68
68
 
69
69
  // Auto-freshen stale files before searching