@abarcenas/ai-workflow-template 1.23.0 → 1.26.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 (33) hide show
  1. package/.agents/instructions/agent-skill.instructions.md +18 -20
  2. package/.agents/instructions/agent.instructions.md +111 -570
  3. package/.agents/instructions/ai-prompt-engineering-safety.instructions.md +3 -3
  4. package/.agents/instructions/instructions.instructions.md +6 -7
  5. package/.agents/instructions/learned-knowledge.instructions.md +17 -41
  6. package/.agents/instructions/memory-bank.instructions.md +125 -17
  7. package/.agents/instructions/memory-schema.instructions.md +75 -0
  8. package/.agents/instructions/prompt.instructions.md +25 -30
  9. package/.agents/instructions/task-implementation.instructions.md +12 -5
  10. package/.agents/skills/architecture-blueprint-generator/SKILL.md +63 -18
  11. package/.agents/skills/context-map/SKILL.md +27 -4
  12. package/.agents/skills/conventional-commit/SKILL.md +2 -2
  13. package/.agents/skills/github-issues/SKILL.md +2 -2
  14. package/.agents/skills/graphify-framework-aware/SKILL.md +133 -0
  15. package/.agents/skills/graphify-framework-aware/references/framework-registry.md +95 -0
  16. package/.agents/skills/graphify-framework-aware/scripts/fw-exclude.py +425 -0
  17. package/.agents/skills/memory-search/SKILL.md +69 -0
  18. package/.agents/skills/microsoft-docs/SKILL.md +1 -1
  19. package/.agents/skills/polygot-test-agent/SKILL.md +0 -1
  20. package/.agents/skills/prompt-builder/SKILL.md +15 -14
  21. package/.husky/post-merge +10 -0
  22. package/.husky/pre-commit +2 -0
  23. package/AGENTS.md +54 -0
  24. package/README.md +177 -3
  25. package/memory-bank/.vocabulary.json +52 -0
  26. package/opencode.mcp.example.json +8 -1
  27. package/package.json +25 -5
  28. package/scripts/mcp-memory-server.js +243 -0
  29. package/scripts/memory-cli.js +110 -0
  30. package/scripts/memory-index.js +512 -0
  31. package/scripts/normalize-memory.js +349 -0
  32. package/scripts/sync.test.js +12 -0
  33. package/scripts/validate-memory-schema.js +190 -0
@@ -5,6 +5,9 @@ description: 'Comprehensive project architecture blueprint generator that analyz
5
5
 
6
6
  # Comprehensive Project Architecture Blueprint Generator
7
7
 
8
+ > **Pre-discovery:** Load the `context-map` skill first to build a scoped file-level map via graphify. The context map feeds into the full blueprint below.
9
+ > **Graphify:** All codebase discovery uses `graphify query`, `graphify path`, and `graphify explain` against `graphify-out/graph.json`. Grep/glob/read are fallbacks only when graphify returns no results.
10
+
8
11
  ## Configuration Variables
9
12
  ${PROJECT_TYPE="Auto-detect|.NET|Java|React|Angular|Python|Node.js|Flutter|Other"} <!-- Primary technology -->
10
13
  ${ARCHITECTURE_PATTERN="Auto-detect|Clean Architecture|Microservices|Layered|MVVM|MVC|Hexagonal|Event-Driven|Serverless|Monolithic|Other"} <!-- Primary architectural pattern -->
@@ -19,18 +22,45 @@ ${FOCUS_ON_EXTENSIBILITY=true|false} <!-- Emphasize extension points and pattern
19
22
 
20
23
  "Create a comprehensive 'Project_Architecture_Blueprint.md' document that thoroughly analyzes the architectural patterns in the codebase to serve as a definitive reference for maintaining architectural consistency. Use the following approach:
21
24
 
25
+ ### 0. Graphify-First Discovery
26
+
27
+ Before any grep, glob, or manual file reads, leverage the project's knowledge graph for token-efficient discovery:
28
+
29
+ **0a. Bootstrap the graph if needed:**
30
+ If `graphify-out/graph.json` does not exist, generate it first:
31
+ ```
32
+ graphify .
33
+ ```
34
+ This builds the knowledge graph with AST-extracted relationships and community structure. All subsequent discovery steps query the graph.
35
+
36
+ **0b. Architecture detection via graph queries (primary):**
37
+ - `graphify query "architecture pattern layers dependencies"` — discover architectural structure
38
+ - `graphify query "technology stack frameworks packages imports"` — detect tech stack
39
+ - `graphify query "key interfaces abstractions design patterns"` — identify core abstractions
40
+ - `graphify query "cross-cutting concerns authentication logging configuration"` — find cross-cutting concern implementations
41
+
42
+ **0c. Relationship mapping via graph (primary):**
43
+ - `graphify path "<ComponentA>" "<ComponentB>"` — trace dependency chains between subsystems
44
+ - `graphify explain "<component>"` — deep-dive on a single node's connections and patterns
45
+ - `graphify query "circular dependency"` — detect layer violations and dependency cycles
46
+
47
+ **0d. Broad architecture scan:**
48
+ Read `graphify-out/GRAPH_REPORT.md` `## Communities` and `## God Nodes` sections for community structure and hub nodes. Use `graphify-out/wiki/index.md` for agent-navigable wiki if it exists.
49
+
50
+ **0e. Fallback to grep/glob/read:**
51
+ Only when graphify queries return no relevant results (rare for well-structured codebases), fall back to grep/glob/file-reads. Graphify subgraph results are typically 200-800 tokens vs. 3000+ tokens for raw grep output.
52
+
22
53
  ### 1. Architecture Detection and Analysis
23
- - ${PROJECT_TYPE == "Auto-detect" ? "Analyze the project structure to identify all technology stacks and frameworks in use by examining:
24
- - Project and configuration files
25
- - Package dependencies and import statements
26
- - Framework-specific patterns and conventions
27
- - Build and deployment configurations" : "Focus on ${PROJECT_TYPE} specific patterns and practices"}
28
-
29
- - ${ARCHITECTURE_PATTERN == "Auto-detect" ? "Determine the architectural pattern(s) by analyzing:
30
- - Folder organization and namespacing
31
- - Dependency flow and component boundaries
32
- - Interface segregation and abstraction patterns
33
- - Communication mechanisms between components" : "Document how the ${ARCHITECTURE_PATTERN} architecture is implemented"}
54
+ - ${PROJECT_TYPE == "Auto-detect" ? "Use graphify queries to identify all technology stacks and frameworks in use:
55
+ - `graphify query \"technology stack frameworks dependencies imports\"` for tech stack
56
+ - `graphify query \"build configuration deployment infrastructure\"` for build/deploy config
57
+ - Read `graphify-out/GRAPH_REPORT.md` `## Communities` for community-level technology groupings" : "Focus on ${PROJECT_TYPE} specific patterns and practices"}
58
+
59
+ - ${ARCHITECTURE_PATTERN == "Auto-detect" ? "Determine the architectural pattern(s) by querying the graph structure:
60
+ - `graphify query \"layer dependency direction boundaries\"` reveals dependency flow
61
+ - `graphify query \"interfaces abstractions contract segregation\"` reveals interface patterns
62
+ - `graphify path` between key subsystems reveals communication mechanisms
63
+ - `graphify explain \"<layer-name>\"` deep-dives into each architectural layer" : "Document how the ${ARCHITECTURE_PATTERN} architecture is implemented"}
34
64
 
35
65
  ### 2. Architectural Overview
36
66
  - Provide a clear, concise explanation of the overall architectural approach
@@ -39,17 +69,29 @@ ${FOCUS_ON_EXTENSIBILITY=true|false} <!-- Emphasize extension points and pattern
39
69
  - Note any hybrid architectural patterns or adaptations of standard patterns
40
70
 
41
71
  ### 3. Architecture Visualization
72
+
73
+ Extract component relationships from the graph before building diagrams:
74
+ - `graphify query "component subsystem module relationships dependencies"` — discover subsystems
75
+ - `graphify path "<SubsystemA>" "<SubsystemB>"` — verify dependency directions between specific subsystems
76
+ - `graphify explain "<subsystem>"` — deep-dive into a subsystem's internal structure and connections
77
+ - Use `graphify-out/GRAPH_REPORT.md` `## Surprising Connections` for non-obvious cross-boundary links
78
+
42
79
  ${DIAGRAM_TYPE != "None" ? `Create ${DIAGRAM_TYPE} diagrams at multiple levels of abstraction:
43
- - High-level architectural overview showing major subsystems
44
- - Component interaction diagrams showing relationships and dependencies
45
- - Data flow diagrams showing how information moves through the system
80
+ - High-level architectural overview showing major subsystems (from graph community structure)
81
+ - Component interaction diagrams showing relationships and dependencies (from graph edges)
82
+ - Data flow diagrams showing how information moves through the system (from `graphify path` traces)
46
83
  - Ensure diagrams accurately reflect the actual implementation, not theoretical patterns` : "Describe the component relationships based on actual code dependencies, providing clear textual explanations of:
47
- - Subsystem organization and boundaries
48
- - Dependency directions and component interactions
49
- - Data flow and process sequences"}
84
+ - Subsystem organization and boundaries (from graph communities)
85
+ - Dependency directions and component interactions (from graph edges)
86
+ - Data flow and process sequences (from `graphify path` traces)"}
50
87
 
51
88
  ### 4. Core Architectural Components
52
- For each architectural component discovered in the codebase:
89
+ Discover components via the graph first, then deep-dive:
90
+ - Identify major components from `graphify-out/GRAPH_REPORT.md` `## God Nodes` (hub nodes with highest degree)
91
+ - Use `graphify explain "<component>"` to get all connected nodes and relationships for each god node
92
+ - Use `graphify path "<component>" "<other>"` to trace specific interaction patterns between components
93
+
94
+ For each architectural component discovered:
53
95
 
54
96
  - **Purpose and Responsibility**:
55
97
  - Primary function within the architecture
@@ -321,6 +363,9 @@ Create a clear architectural guide for implementing new features:
321
363
 
322
364
  Include information about when this blueprint was generated and recommendations for keeping it updated as the architecture evolves.
323
365
 
366
+ ### Post-Generation: Keep Graph Current
367
+ After the blueprint is generated, run `graphify update .` to incrementally re-extract any changed files. This keeps the graph aligned with newly documented architecture understanding, so future queries (`graphify query`, `graphify path`, `graphify explain`) return up-to-date results without rebuilding the entire graph.
368
+
324
369
  ### ${INCLUDES_DECISION_RECORDS ? "18" : INCLUDES_CODE_EXAMPLES ? "17" : "16"}. Populate Agent Knowledge Base
325
370
 
326
371
  Write the discovered architecture details into the persistent knowledge system so all orchestrator agents (researcher, architect, implementer, coder, tracker) inherit this context without rediscovery:
@@ -5,6 +5,9 @@ description: "Generate a map of all files relevant to a task before making chang
5
5
 
6
6
  # Context Map
7
7
 
8
+ > **Wired into:** `architecture-blueprint-generator` loads this skill as its pre-discovery step to build a scoped file-level map before generating the full blueprint.
9
+ > **Graphify:** All discovery uses `graphify query`, `graphify path`, and `graphify explain` against `graphify-out/graph.json`. Grep/glob are fallbacks only.
10
+
8
11
  Before implementing any changes, analyze the codebase and create a context map.
9
12
 
10
13
  ## Task
@@ -13,10 +16,30 @@ Before implementing any changes, analyze the codebase and create a context map.
13
16
 
14
17
  ## Instructions
15
18
 
16
- 1. Search the codebase for files related to this task
17
- 2. Identify direct dependencies (imports/exports)
18
- 3. Find related tests
19
- 4. Look for similar patterns in existing code
19
+ ### Graphify-First Discovery
20
+
21
+ 1. **Bootstrap graph if needed:** Check `graphify-out/graph.json`. If missing, run `graphify .` first. The graph provides relationship data that grep alone cannot discover.
22
+
23
+ 2. **Discover related files:** Use `graphify query "{{task_description}}"` to find files and nodes relevant to the task. For multi-concept tasks, run separate queries per concept and merge results.
24
+
25
+ 3. **Identify direct dependencies:** Use `graphify path "<source>" "<target>"` between key components to trace dependency chains. This reveals import/export relationships without scanning every file.
26
+
27
+ 4. **Find related tests:** Use `graphify query "test spec <task_keywords>"` to surface test files connected to the relevant components.
28
+
29
+ 5. **Discover similar patterns:** Use `graphify explain "<pattern_or_component>"` to find existing implementations and connected nodes that follow the same pattern.
30
+
31
+ ### Fallback (graphify unavailable or no results)
32
+
33
+ If `graphify-out/graph.json` is missing and cannot be generated, or queries return no results:
34
+
35
+ 1. Search the codebase for files related to this task (grep/glob)
36
+ 2. Identify direct dependencies (imports/exports via grep)
37
+ 3. Find related tests (glob `**/*.test.*` / `**/*.spec.*`)
38
+ 4. Look for similar patterns in existing code (grep for class/function patterns)
39
+
40
+ ### Post-Generation
41
+
42
+ After the context map is created, run `graphify update .` to sync the graph with any newly identified relationships. This keeps future context-map invocations efficient.
20
43
 
21
44
  ## Output Format
22
45
 
@@ -17,13 +17,13 @@ description: "Prompt and workflow for generating conventional commit messages us
17
17
  2. Run `git diff` or `git diff --cached` to inspect changes.
18
18
  3. Stage your changes with `git add <file>`.
19
19
  4. Construct your commit message using the following XML structure.
20
- 5. After generating your commit message, Copilot will automatically run the following command in your integrated terminal (no confirmation needed):
20
+ 5. Run the following command in your terminal:
21
21
 
22
22
  ```bash
23
23
  git commit -m "type(scope): description"
24
24
  ```
25
25
 
26
- 6. Just execute this prompt and Copilot will handle the commit for you in the terminal.
26
+ 6. Run the commit command in your terminal.
27
27
 
28
28
  ### Commit Message Structure
29
29
 
@@ -87,7 +87,7 @@ State values: `open`, `closed`
87
87
  ```json
88
88
  {
89
89
  "owner": "github",
90
- "repo": "awesome-copilot",
90
+ "repo": "example-project",
91
91
  "title": "[Bug] Login page crashes when using SSO",
92
92
  "body": "## Description\nThe login page crashes when users attempt to authenticate using SSO.\n\n## Steps to Reproduce\n1. Navigate to login page\n2. Click 'Sign in with SSO'\n3. Page crashes\n\n## Expected Behavior\nSSO authentication should complete and redirect to dashboard.\n\n## Actual Behavior\nPage becomes unresponsive and displays error.\n\n## Environment\n- Browser: [To be filled]\n- OS: [To be filled]\n\n## Additional Context\nReported by user.",
93
93
  "labels": ["bug"]
@@ -103,7 +103,7 @@ State values: `open`, `closed`
103
103
  ```json
104
104
  {
105
105
  "owner": "github",
106
- "repo": "awesome-copilot",
106
+ "repo": "example-project",
107
107
  "title": "[Feature] Add dark mode support",
108
108
  "body": "## Summary\nAdd dark mode theme option for improved user experience and accessibility.\n\n## Motivation\n- Reduces eye strain in low-light environments\n- Increasingly expected by users\n- Improves accessibility\n\n## Proposed Solution\nImplement theme toggle with system preference detection.\n\n## Acceptance Criteria\n- [ ] Toggle switch in settings\n- [ ] Persists user preference\n- [ ] Respects system preference by default\n- [ ] All UI components support both themes\n\n## Alternatives Considered\nNone specified.\n\n## Additional Context\nHigh priority request.",
109
109
  "labels": ["enhancement", "high-priority"]
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: graphify-framework-aware
3
+ description: Prepares framework-aware exclusions before graphify knowledge graph generation. Invoke alongside /graphify. Automatically detects Angular, Hugo, Next.js, Svelte, Jekyll, Flutter, WordPress, and Docusaurus projects and excludes their boilerplate files so the graph focuses on your custom code. Triggers on: /graphify, graphify, knowledge graph, codebase graph.
4
+ license: MIT
5
+ allowed-tools: Bash
6
+ ---
7
+
8
+ # graphify-framework-aware
9
+
10
+ Automatically detects your project's framework and configures `.graphifyignore` to exclude framework boilerplate so graphify's knowledge graph focuses on your custom code.
11
+
12
+ ## When to Use
13
+
14
+ Invoke this skill BEFORE running the standard `/graphify` pipeline. The skill is idempotent — running it multiple times is safe, and it will not duplicate patterns.
15
+
16
+ Use when:
17
+ - Running `/graphify` on a project for the first time
18
+ - Running `/graphify --update` to rebuild an existing graph
19
+ - After adding a new framework to a project
20
+ - After changing build tooling or project structure
21
+
22
+ Skip when:
23
+ - The project has no supported framework markers
24
+ - The `.graphifyignore` was already generated and the project structure hasn't changed
25
+ - Graph is already built and framework exclusions were already applied
26
+
27
+ ## Workflow
28
+
29
+ ### Step 1: Apply framework exclusions
30
+
31
+ Run the detection and apply script:
32
+
33
+ ```bash
34
+ python3 <skill-base>/scripts/fw-exclude.py apply <project-path>
35
+ ```
36
+
37
+ This script:
38
+ 1. Scans the project root for framework marker files (e.g., `angular.json`, `hugo.toml`)
39
+ 2. Generates appropriate `.graphifyignore` patterns for each detected framework
40
+ 3. Idempotently writes/updates `.graphifyignore` between marker comments
41
+
42
+ The script outputs a one-line summary:
43
+ ```
44
+ graphify-framework-aware: detected angular, nextjs — wrote 8 exclusion patterns to .graphifyignore
45
+ ```
46
+
47
+ If no frameworks are detected, the script exits with code 2 and prints:
48
+ ```
49
+ No supported frameworks detected.
50
+ ```
51
+
52
+ ### Step 2: Inspect the result (optional)
53
+
54
+ To preview what will be excluded without modifying files:
55
+
56
+ ```bash
57
+ python3 <skill-base>/scripts/fw-exclude.py show <project-path>
58
+ ```
59
+
60
+ To see detected frameworks as JSON:
61
+
62
+ ```bash
63
+ python3 <skill-base>/scripts/fw-exclude.py detect <project-path>
64
+ ```
65
+
66
+ ### Step 3: Proceed with graphify
67
+
68
+ After exclusions are applied, invoke the standard graphify pipeline:
69
+
70
+ ```
71
+ invoke skill: "graphify"
72
+ ```
73
+
74
+ The `.graphifyignore` file will be read by graphify's detection step, and framework boilerplate files will be excluded from the knowledge graph.
75
+
76
+ ### Step 4: Verify (optional)
77
+
78
+ Check the generated `.graphifyignore` at the project root. The framework patterns are in a clearly delimited section:
79
+
80
+ ```
81
+ # ===== graphify-framework-aware (auto-generated) =====
82
+ # auto-detected framework: angular
83
+ **/*.spec.ts
84
+ **/*.harness.ts
85
+ e2e/
86
+ ...
87
+ # ===== end graphify-framework-aware =====
88
+ ```
89
+
90
+ User-added patterns outside this block are never modified. To re-include a framework-excluded path, add a `!` negation pattern anywhere *after* the marker block (graphify reads `.graphifyignore` with last-match-wins semantics).
91
+
92
+ ## Supported Frameworks
93
+
94
+ | Framework | Marker |
95
+ |-----------|--------|
96
+ | Angular | `angular.json` |
97
+ | Next.js | `next.config.{js,ts,mjs}` |
98
+ | Svelte | `svelte.config.js` |
99
+ | Hugo | `hugo.{toml,yaml,json}` |
100
+ | Jekyll | `_config.yml` |
101
+ | Docusaurus | `docusaurus.config.{js,ts}` |
102
+ | Flutter | `pubspec.yaml` (content-verified) |
103
+ | WordPress | `wp-config.php` |
104
+
105
+ See [Framework Registry](./references/framework-registry.md) for the full list of exclusion patterns per framework and instructions for adding new frameworks.
106
+
107
+ ## Script Reference
108
+
109
+ [`scripts/fw-exclude.py`](./scripts/fw-exclude.py) — Python 3.10+, no dependencies beyond stdlib.
110
+
111
+ ```
112
+ usage: fw-exclude.py <detect|show|apply> <project-path>
113
+
114
+ detect Print JSON of detected frameworks and their markers.
115
+ show Print FW exclusion patterns (dry-run, no files written).
116
+ apply Idempotently write/update .graphifyignore with FW patterns.
117
+ ```
118
+
119
+ ## Interaction with graphify
120
+
121
+ - graphify reads `.graphifyignore` (and falls back to `.gitignore`) during its `detect()` step
122
+ - Framework patterns are appended with last-match-wins semantics — user `!` patterns override them
123
+ - Directories already skipped by graphify's built-in `_SKIP_DIRS` (`node_modules/`, `.next/`, `.angular/`, `dist/`, `build/`, etc.) are NOT duplicated in the generated patterns
124
+ - This skill must run **before** invoking the graphify skill so the `.graphifyignore` is in place when graphify scans files
125
+
126
+ ## Troubleshooting
127
+
128
+ | Issue | Solution |
129
+ |-------|----------|
130
+ | "No supported frameworks detected" | Project may use an unsupported framework. Add markers to `fw-exclude.py` or create `.graphifyignore` manually. |
131
+ | Too many files excluded | Check `.graphifyignore` marker block. Add `!` negation patterns after the block to re-include. |
132
+ | `pubspec.yaml` falsely detected as Flutter | Script checks for `flutter` keyword in the file content. Add `!` patterns if needed. |
133
+ | Hugo `config.toml` not detected | Script verifies content for Hugo-specific keys (`baseURL`, `title`). Rename to `hugo.toml` or add patterns manually. |
@@ -0,0 +1,95 @@
1
+ # Framework Exclusion Registry
2
+
3
+ This document defines the framework detection markers and exclusion patterns used by `graphify-framework-aware`. Each framework entry includes its detection markers, default exclusions, and any special heuristics applied.
4
+
5
+ ## Adding a New Framework
6
+
7
+ 1. Add detection marker(s) to `FRAMEWORK_MARKERS` in `scripts/fw-exclude.py`.
8
+ 2. Add exclusion patterns to `FRAMEWORK_EXCLUDES`.
9
+ 3. If complex detection logic is needed (e.g., Hugo theme detection), add it to the `_post_process_excludes()` function.
10
+ 4. Update this document with the new framework's entry.
11
+
12
+ ## Supported Frameworks
13
+
14
+ ### Angular
15
+
16
+ | Attribute | Value |
17
+ |-----------|-------|
18
+ | **Marker file** | `angular.json` |
19
+ | **Excluded** | `**/*.spec.ts`, `**/*.harness.ts`, `e2e/`, `src/environments/`, `karma.conf.js`, `src/test.ts` |
20
+ | **Kept** | `src/app/` (user components, services, modules), `src/assets/` |
21
+ | **Already handled by graphify** | `.angular/`, `node_modules/`, `dist/` |
22
+
23
+ ### Next.js
24
+
25
+ | Attribute | Value |
26
+ |-----------|-------|
27
+ | **Marker file** | `next.config.js`, `next.config.ts`, `next.config.mjs` |
28
+ | **Excluded** | `next-env.d.ts`, `out/` |
29
+ | **Kept** | `src/app/`, `src/pages/`, `src/components/` |
30
+ | **Already handled by graphify** | `.next/`, `node_modules/` |
31
+
32
+ ### Svelte / SvelteKit
33
+
34
+ | Attribute | Value |
35
+ |-----------|-------|
36
+ | **Marker file** | `svelte.config.js` |
37
+ | **Excluded** | `build/`, `**/*.test.ts` |
38
+ | **Kept** | `src/` (all user code) |
39
+ | **Already handled by graphify** | `.svelte-kit/`, `node_modules/` |
40
+
41
+ ### Hugo
42
+
43
+ | Attribute | Value |
44
+ |-----------|-------|
45
+ | **Marker file** | `hugo.toml`, `hugo.yaml`, `hugo.json` |
46
+ | **Excluded (always)** | `public/`, `resources/` |
47
+ | **Excluded (conditional)** | `archetypes/` (unless modified by user), `layouts/` (unless user has custom layouts at root), theme-internal dirs (when theme is vendored via git submodule) |
48
+ | **Kept** | `content/`, `data/`, `static/`, `assets/`, user `layouts/` with custom templates |
49
+ | **Heuristics** | Detects git submodules in `themes/` to exclude theme boilerplate. Detects `layouts/` structure at project root to determine if user has custom templates. |
50
+
51
+ ### Jekyll
52
+
53
+ | Attribute | Value |
54
+ |-----------|-------|
55
+ | **Marker file** | `_config.yml` |
56
+ | **Excluded** | `_site/`, `.jekyll-cache/`, `.jekyll-metadata` |
57
+ | **Kept** | `_posts/`, `_pages/`, `_data/`, `_includes/`, `_layouts/`, `_sass/`, `assets/` |
58
+ | **Already handled by graphify** | `node_modules/` |
59
+
60
+ ### Docusaurus
61
+
62
+ | Attribute | Value |
63
+ |-----------|-------|
64
+ | **Marker file** | `docusaurus.config.js`, `docusaurus.config.ts` |
65
+ | **Excluded** | `.docusaurus/`, `build/` |
66
+ | **Kept** | `docs/`, `src/`, `blog/`, `static/`, `sidebars.js` |
67
+ | **Already handled by graphify** | `node_modules/` |
68
+
69
+ ### Flutter
70
+
71
+ | Attribute | Value |
72
+ |-----------|-------|
73
+ | **Marker file** | `pubspec.yaml` (content-verified for `flutter` keyword) |
74
+ | **Excluded** | `.dart_tool/`, `build/`, `.flutter-plugins`, `.flutter-plugins-dependencies` |
75
+ | **Kept** | `lib/` (user code), `test/` (user tests) |
76
+ | **Already handled by graphify** | — |
77
+
78
+ ### WordPress
79
+
80
+ | Attribute | Value |
81
+ |-----------|-------|
82
+ | **Marker file** | `wp-config.php` |
83
+ | **Excluded** | `wp-admin/`, `wp-includes/`, `wp-content/languages/`, `wp-content/upgrade/` |
84
+ | **Kept** | `wp-content/themes/` (custom themes), `wp-content/plugins/` (custom plugins) |
85
+ | **Already handled by graphify** | `node_modules/` |
86
+
87
+ ## Noise Directories Handled by graphify (not duplicated)
88
+
89
+ The following directories are already excluded by graphify's built-in `_SKIP_DIRS` list. The framework-aware skill does NOT duplicate these patterns:
90
+
91
+ `.angular/`, `.cache/`, `.dart_tool/`, `.graphify/`, `.idea/`, `.next/`, `.nuxt/`, `.parcel-cache/`, `.pytest_cache/`, `.ruff_cache/`, `.serverless/`, `.svelte-kit/`, `.terraform/`, `.tox/`, `.turbo/`, `.venv/`, `__.pycache__/`, `build/`, `coverage/`, `dist/`, `dist-protected/`, `env/`, `graphify-out/`, `lib64/`, `node_modules/`, `out/`, `site-packages/`, `snapshots/`, `storybook-static/`, `target/`, `venv/`, `visual-tests/`
92
+
93
+ ## Noise Files Handled by graphify (not duplicated)
94
+
95
+ `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`, `Cargo.lock`, `poetry.lock`, `Gemfile.lock`, `composer.lock`, `go.sum`, `go.work.sum`