@mokoconsulting/mcp-windows 3.0.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 (184) hide show
  1. package/.gitattributes +94 -0
  2. package/.gitmessage +9 -0
  3. package/.mokogitea/ISSUE_TEMPLATE/adr.md +110 -0
  4. package/.mokogitea/ISSUE_TEMPLATE/bug_report.md +48 -0
  5. package/.mokogitea/ISSUE_TEMPLATE/config.yml +18 -0
  6. package/.mokogitea/ISSUE_TEMPLATE/documentation.md +52 -0
  7. package/.mokogitea/ISSUE_TEMPLATE/feature_request.md +51 -0
  8. package/.mokogitea/ISSUE_TEMPLATE/mcp_api_integration.md +48 -0
  9. package/.mokogitea/ISSUE_TEMPLATE/mcp_connection_issue.md +67 -0
  10. package/.mokogitea/ISSUE_TEMPLATE/mcp_tool_request.md +49 -0
  11. package/.mokogitea/ISSUE_TEMPLATE/question.md +82 -0
  12. package/.mokogitea/ISSUE_TEMPLATE/rfc.md +126 -0
  13. package/.mokogitea/ISSUE_TEMPLATE/security.md +51 -0
  14. package/.mokogitea/ISSUE_TEMPLATE/version.md +24 -0
  15. package/.mokogitea/branch-protection.yml +251 -0
  16. package/.mokogitea/workflows/auto-assign.yml +76 -0
  17. package/.mokogitea/workflows/auto-bump.yml +66 -0
  18. package/.mokogitea/workflows/auto-dev-issue.yml +207 -0
  19. package/.mokogitea/workflows/auto-release.yml +421 -0
  20. package/.mokogitea/workflows/branch-cleanup.yml +48 -0
  21. package/.mokogitea/workflows/cascade-dev.yml +10 -0
  22. package/.mokogitea/workflows/changelog-validation.yml +101 -0
  23. package/.mokogitea/workflows/ci-generic.yml +191 -0
  24. package/.mokogitea/workflows/cleanup.yml +87 -0
  25. package/.mokogitea/workflows/codeql-analysis.yml +115 -0
  26. package/.mokogitea/workflows/copilot-agent.yml +44 -0
  27. package/.mokogitea/workflows/deploy-manual.yml +126 -0
  28. package/.mokogitea/workflows/enterprise-firewall-setup.yml +758 -0
  29. package/.mokogitea/workflows/gitleaks.yml +92 -0
  30. package/.mokogitea/workflows/issue-branch.yml +73 -0
  31. package/.mokogitea/workflows/mcp-auto-release.yml +278 -0
  32. package/.mokogitea/workflows/mcp-build-test.yml +65 -0
  33. package/.mokogitea/workflows/mcp-sdk-check.yml +109 -0
  34. package/.mokogitea/workflows/mcp-tool-inventory.yml +61 -0
  35. package/.mokogitea/workflows/notify.yml +70 -0
  36. package/.mokogitea/workflows/npm-publish.yml +113 -0
  37. package/.mokogitea/workflows/pr-check.yml +534 -0
  38. package/.mokogitea/workflows/pre-release.yml +252 -0
  39. package/.mokogitea/workflows/rc-revert.yml +66 -0
  40. package/.mokogitea/workflows/repo-health.yml +712 -0
  41. package/.mokogitea/workflows/repository-cleanup.yml +525 -0
  42. package/.mokogitea/workflows/security-audit.yml +82 -0
  43. package/.mokogitea/workflows/standards-compliance.yml +2614 -0
  44. package/.mokogitea/workflows/sync-version-on-merge.yml +133 -0
  45. package/.mokogitea/workflows/update-server.yml +312 -0
  46. package/.mokogitea/workflows/workflow-sync-trigger.yml +73 -0
  47. package/CHANGELOG.md +130 -0
  48. package/CLAUDE.md +49 -0
  49. package/CONTRIBUTING.md +161 -0
  50. package/ISSUES.md +601 -0
  51. package/Makefile +70 -0
  52. package/README.md +80 -0
  53. package/automation/ci-issue-reporter.sh +237 -0
  54. package/config.example.json +18 -0
  55. package/dist/index.d.ts +3 -0
  56. package/dist/index.js +111 -0
  57. package/dist/shell.d.ts +50 -0
  58. package/dist/shell.js +209 -0
  59. package/dist/tools/apps.d.ts +3 -0
  60. package/dist/tools/apps.js +63 -0
  61. package/dist/tools/audio.d.ts +3 -0
  62. package/dist/tools/audio.js +142 -0
  63. package/dist/tools/audio_apps.d.ts +3 -0
  64. package/dist/tools/audio_apps.js +86 -0
  65. package/dist/tools/automation.d.ts +3 -0
  66. package/dist/tools/automation.js +261 -0
  67. package/dist/tools/bluetooth.d.ts +3 -0
  68. package/dist/tools/bluetooth.js +96 -0
  69. package/dist/tools/clipboard.d.ts +3 -0
  70. package/dist/tools/clipboard.js +118 -0
  71. package/dist/tools/config.d.ts +3 -0
  72. package/dist/tools/config.js +85 -0
  73. package/dist/tools/dialog.d.ts +3 -0
  74. package/dist/tools/dialog.js +72 -0
  75. package/dist/tools/display.d.ts +3 -0
  76. package/dist/tools/display.js +256 -0
  77. package/dist/tools/drives.d.ts +3 -0
  78. package/dist/tools/drives.js +98 -0
  79. package/dist/tools/environment.d.ts +3 -0
  80. package/dist/tools/environment.js +129 -0
  81. package/dist/tools/execute.d.ts +3 -0
  82. package/dist/tools/execute.js +28 -0
  83. package/dist/tools/filesystem.d.ts +3 -0
  84. package/dist/tools/filesystem.js +230 -0
  85. package/dist/tools/firewall.d.ts +3 -0
  86. package/dist/tools/firewall.js +108 -0
  87. package/dist/tools/hosts.d.ts +3 -0
  88. package/dist/tools/hosts.js +119 -0
  89. package/dist/tools/maintenance.d.ts +3 -0
  90. package/dist/tools/maintenance.js +236 -0
  91. package/dist/tools/netstat.d.ts +3 -0
  92. package/dist/tools/netstat.js +56 -0
  93. package/dist/tools/network.d.ts +3 -0
  94. package/dist/tools/network.js +70 -0
  95. package/dist/tools/notification.d.ts +3 -0
  96. package/dist/tools/notification.js +41 -0
  97. package/dist/tools/power.d.ts +3 -0
  98. package/dist/tools/power.js +104 -0
  99. package/dist/tools/printer.d.ts +3 -0
  100. package/dist/tools/printer.js +97 -0
  101. package/dist/tools/process.d.ts +3 -0
  102. package/dist/tools/process.js +54 -0
  103. package/dist/tools/process_kill.d.ts +3 -0
  104. package/dist/tools/process_kill.js +48 -0
  105. package/dist/tools/recycle_bin.d.ts +3 -0
  106. package/dist/tools/recycle_bin.js +108 -0
  107. package/dist/tools/registry.d.ts +3 -0
  108. package/dist/tools/registry.js +136 -0
  109. package/dist/tools/scheduler.d.ts +3 -0
  110. package/dist/tools/scheduler.js +116 -0
  111. package/dist/tools/service.d.ts +3 -0
  112. package/dist/tools/service.js +79 -0
  113. package/dist/tools/startup.d.ts +3 -0
  114. package/dist/tools/startup.js +159 -0
  115. package/dist/tools/storage.d.ts +3 -0
  116. package/dist/tools/storage.js +129 -0
  117. package/dist/tools/system.d.ts +3 -0
  118. package/dist/tools/system.js +84 -0
  119. package/dist/tools/system_mgmt.d.ts +3 -0
  120. package/dist/tools/system_mgmt.js +174 -0
  121. package/dist/tools/terminal.d.ts +3 -0
  122. package/dist/tools/terminal.js +80 -0
  123. package/dist/tools/theme.d.ts +3 -0
  124. package/dist/tools/theme.js +165 -0
  125. package/dist/tools/usb.d.ts +3 -0
  126. package/dist/tools/usb.js +52 -0
  127. package/dist/tools/virtual_desktop.d.ts +3 -0
  128. package/dist/tools/virtual_desktop.js +112 -0
  129. package/dist/tools/wifi.d.ts +3 -0
  130. package/dist/tools/wifi.js +136 -0
  131. package/dist/tools/window.d.ts +3 -0
  132. package/dist/tools/window.js +189 -0
  133. package/dist/tools/winget.d.ts +3 -0
  134. package/dist/tools/winget.js +79 -0
  135. package/dist/tools/wsl.d.ts +3 -0
  136. package/dist/tools/wsl.js +99 -0
  137. package/docs/API.md +63 -0
  138. package/docs/ARCHITECTURE.md +73 -0
  139. package/docs/INSTALLATION.md +102 -0
  140. package/docs/index.md +12 -0
  141. package/package.json +35 -0
  142. package/scripts/setup.mjs +123 -0
  143. package/src/index.ts +125 -0
  144. package/src/shell.ts +253 -0
  145. package/src/tools/apps.ts +76 -0
  146. package/src/tools/audio.ts +161 -0
  147. package/src/tools/audio_apps.ts +98 -0
  148. package/src/tools/automation.ts +297 -0
  149. package/src/tools/bluetooth.ts +114 -0
  150. package/src/tools/clipboard.ts +138 -0
  151. package/src/tools/config.ts +105 -0
  152. package/src/tools/dialog.ts +87 -0
  153. package/src/tools/display.ts +285 -0
  154. package/src/tools/drives.ts +124 -0
  155. package/src/tools/environment.ts +146 -0
  156. package/src/tools/execute.ts +35 -0
  157. package/src/tools/filesystem.ts +273 -0
  158. package/src/tools/firewall.ts +125 -0
  159. package/src/tools/hosts.ts +135 -0
  160. package/src/tools/maintenance.ts +299 -0
  161. package/src/tools/netstat.ts +72 -0
  162. package/src/tools/network.ts +84 -0
  163. package/src/tools/notification.ts +50 -0
  164. package/src/tools/power.ts +123 -0
  165. package/src/tools/printer.ts +114 -0
  166. package/src/tools/process.ts +80 -0
  167. package/src/tools/process_kill.ts +57 -0
  168. package/src/tools/recycle_bin.ts +126 -0
  169. package/src/tools/registry.ts +165 -0
  170. package/src/tools/scheduler.ts +140 -0
  171. package/src/tools/service.ts +102 -0
  172. package/src/tools/startup.ts +180 -0
  173. package/src/tools/storage.ts +141 -0
  174. package/src/tools/system.ts +99 -0
  175. package/src/tools/system_mgmt.ts +190 -0
  176. package/src/tools/terminal.ts +117 -0
  177. package/src/tools/theme.ts +205 -0
  178. package/src/tools/usb.ts +65 -0
  179. package/src/tools/virtual_desktop.ts +122 -0
  180. package/src/tools/wifi.ts +157 -0
  181. package/src/tools/window.ts +211 -0
  182. package/src/tools/winget.ts +100 -0
  183. package/src/tools/wsl.ts +112 -0
  184. package/tsconfig.json +19 -0
package/CLAUDE.md ADDED
@@ -0,0 +1,49 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code when working with this repository.
4
+
5
+ ## Project Overview
6
+
7
+ **mcp_windows** -- MCP server for interfacing with the Windows desktop system (audio, display, processes, services, power management, etc.)
8
+
9
+ | Field | Value |
10
+ |---|---|
11
+ | **Platform** | mcp-server |
12
+ | **Language** | TypeScript |
13
+ | **Default branch** | main |
14
+ | **License** | GPL-3.0-or-later |
15
+ | **Wiki** | [mcp-windows Wiki](https://git.mokoconsulting.tech/MokoConsulting/mcp-windows/wiki) |
16
+ | **Standards** | [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home) |
17
+
18
+ ## Common Commands
19
+
20
+ ```bash
21
+ make build # Build the project
22
+ make lint # Run linters
23
+ make validate # Validate structure
24
+ make release # Full release pipeline
25
+ make clean # Clean build artifacts
26
+ ```
27
+
28
+ ```bash
29
+ npm install # Install dependencies
30
+ npm run build # Compile TypeScript
31
+ npm run dev # Development mode
32
+ ```
33
+
34
+ ## Architecture
35
+
36
+ This is an MCP (Model Context Protocol) server. Key files:
37
+ - `src/index.ts` -- server entry point and tool registration
38
+ - `src/config.ts` -- configuration loading
39
+ - `src/tools/` -- individual tool implementations
40
+ - `dist/` -- compiled output (gitignored)
41
+
42
+ ## Rules
43
+
44
+ - **Workflow directory**: `.mokogitea/` (not `.gitea/` or `.github/`)
45
+ - **Never commit** `.claude/`, `.mcp.json`, `TODO.md`, or `*.min.css`/`*.min.js`
46
+ - **Attribution**: use `Authored-by: Moko Consulting` in commits
47
+ - **Branch strategy**: develop on `dev`, merge to `main` for release
48
+ - **Wiki**: documentation lives in the Gitea wiki, not in `docs/` files
49
+ - **Standards**: this repo follows [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)
@@ -0,0 +1,161 @@
1
+ # Contributing to Moko Consulting Projects
2
+
3
+ Thank you for your interest in contributing. All Moko Consulting repositories follow this universal workflow and version policy.
4
+
5
+ ## Branching Workflow
6
+
7
+ ```
8
+ feature/* ──PR──> dev ──draft PR──> (renamed to rc) ──merge──> main
9
+ ```
10
+
11
+ ### Step by step
12
+
13
+ 1. **Create a feature branch** from `dev`:
14
+ ```bash
15
+ git checkout dev && git pull
16
+ git checkout -b feature/my-change
17
+ ```
18
+
19
+ 2. **Work and commit** on your feature branch. Push to origin.
20
+
21
+ 3. **Open a PR**: `feature/my-change` → `dev`. After review and checks, merge it.
22
+
23
+ 4. **When ready for release**, open a **draft PR**: `dev` → `main`.
24
+ - This automatically renames the source branch to `rc` (release candidate)
25
+ - An RC pre-release is built and uploaded
26
+
27
+ 5. **Alpha and beta branches** are created by manually renaming the branch before the RC stage:
28
+ - Rename `dev` to `alpha` for early testing → alpha pre-release is built
29
+ - Rename `alpha` to `beta` for feature-complete testing → beta pre-release is built
30
+ - When the draft PR is created, the branch is renamed to `rc`
31
+
32
+ 6. **Once PR checks pass** on the `rc` branch, mark the PR as ready and merge to `main`.
33
+
34
+ 7. **Merging to main** triggers the stable release pipeline:
35
+ - Minor version bump (e.g., `02.09.xx` → `02.10.00`)
36
+ - Stability suffix stripped (clean version)
37
+ - Gitea release created with ZIP/tar.gz packages
38
+ - `updates.xml` updated (Joomla extensions)
39
+ - `dev` branch recreated from `main`
40
+
41
+ ### Branch summary
42
+
43
+ | Branch | Purpose | Created by |
44
+ |--------|---------|-----------|
45
+ | `feature/*` | New features and fixes | Developer |
46
+ | `dev` | Integration branch | Auto-recreated after release |
47
+ | `alpha` | Alpha pre-release testing | Manual rename from `dev` |
48
+ | `beta` | Beta pre-release testing | Manual rename from `alpha` |
49
+ | `rc` | Release candidate | Auto-renamed on draft PR to main |
50
+ | `main` | Stable releases | Protected, merge only |
51
+ | `version/XX.YY.ZZ` | Archived release snapshots | Auto-created by CI |
52
+
53
+ ### Protected branches
54
+
55
+ | Branch | Direct push | Merge via |
56
+ |--------|------------|-----------|
57
+ | `main` | Blocked (CI bot whitelisted) | PR merge only |
58
+ | `dev` | Blocked (CI bot whitelisted) | PR merge from feature/* |
59
+ | `rc` | Blocked (CI bot whitelisted) | Auto-created on draft PR |
60
+ | `alpha` | Blocked (CI bot whitelisted) | Manual rename |
61
+ | `beta` | Blocked (CI bot whitelisted) | Manual rename |
62
+ | `feature/*` | Open | N/A (source branch) |
63
+
64
+ ## Version Policy
65
+
66
+ ### Format
67
+
68
+ All versions use `XX.YY.ZZ` — three two-digit segments, zero-padded:
69
+
70
+ - **XX** — Major version (breaking changes)
71
+ - **YY** — Minor version (new features, bumped on release to main)
72
+ - **ZZ** — Patch version (auto-incremented on every push to dev/feature branches)
73
+
74
+ Rollover: patch `99` → `00` increments minor; minor `99` → `00` increments major.
75
+
76
+ ### Stability suffixes
77
+
78
+ Each branch appends a suffix to indicate stability:
79
+
80
+ | Branch | Suffix | Example |
81
+ |--------|--------|---------|
82
+ | `main` | (none) | `02.09.00` |
83
+ | `dev` | `-dev` | `02.09.01-dev` |
84
+ | `feature/*` | `-dev` | `02.09.01-dev` |
85
+ | `alpha` | `-alpha` | `02.09.01-alpha` |
86
+ | `beta` | `-beta` | `02.09.01-beta` |
87
+ | `rc` | `-rc` | `02.09.01-rc` |
88
+
89
+ ### Auto version bump
90
+
91
+ On every push to `dev`, `feature/*`, or `patch/*`:
92
+
93
+ 1. Patch version incremented
94
+ 2. Stability suffix `-dev` applied
95
+ 3. All version-bearing files updated (manifests, CHANGELOG, PHP headers, etc.)
96
+ 4. Commit created with `[skip ci]` to avoid loops
97
+
98
+ ### Release version flow
99
+
100
+ Version bumps happen at specific release events:
101
+
102
+ | Event | Bump | Example |
103
+ |-------|------|---------|
104
+ | Feature merged to dev | Patch bump after dev release | `02.09.01-dev` → release → `02.09.02-dev` |
105
+ | Dev promoted to RC | Minor bump | `02.09.02-dev` → `02.10.00-rc` |
106
+ | RC merged to main | Minor bump | `02.10.00-rc` → `02.11.00` (stable) |
107
+ | Dev recreated from main | Patch bump | `02.11.00` → `02.11.01-dev` |
108
+
109
+ ### Release stream copies
110
+
111
+ When a higher-stability release is published, copies are created for all lesser streams with the same base version:
112
+
113
+ - **RC `02.10.00-rc`** also creates: `02.10.00-dev`, `02.10.00-alpha`, `02.10.00-beta`
114
+ - **Stable `02.11.00`** also creates: `02.11.00-dev`, `02.11.00-alpha`, `02.11.00-beta`, `02.11.00-rc`
115
+
116
+ This ensures Joomla sites on ANY stability channel see the update (Joomla only shows versions higher than what's installed).
117
+
118
+ ### Version files
119
+
120
+ The version tools update all files containing version stamps:
121
+
122
+ - `.mokogitea/manifest.xml` (canonical source)
123
+ - Joomla XML manifests (`<version>` tag)
124
+ - `README.md`, `CHANGELOG.md` (`VERSION:` pattern)
125
+ - `package.json`, `pyproject.toml`
126
+ - Any text file with a `VERSION: XX.YY.ZZ` label
127
+
128
+ Files synced from other repos (with a `# REPO:` header) are not touched.
129
+
130
+ ## Code Standards
131
+
132
+ - **PHP**: PSR-12, tabs for indentation
133
+ - **Copyright**: all files must include the Moko Consulting copyright header
134
+ - **License**: SPDX identifier `GPL-3.0-or-later` (or as specified per repo)
135
+ - **Attribution**: use `Authored-by: Moko Consulting` in commits, not individual names
136
+
137
+ ## Commit Messages
138
+
139
+ Use conventional commit format:
140
+
141
+ ```
142
+ type(scope): short description
143
+
144
+ Optional body with context.
145
+
146
+ Authored-by: Moko Consulting
147
+ ```
148
+
149
+ Types: `feat`, `fix`, `chore`, `docs`, `style`, `refactor`, `test`, `ci`
150
+
151
+ Special flags in commit messages:
152
+ - `[skip ci]` — skip all CI workflows
153
+ - `[skip bump]` — skip auto version bump only
154
+
155
+ ## Reporting Issues
156
+
157
+ Use the repository's issue tracker with the appropriate template.
158
+
159
+ ---
160
+
161
+ *Moko Consulting <hello@mokoconsulting.tech>*