@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.
- package/.gitattributes +94 -0
- package/.gitmessage +9 -0
- package/.mokogitea/ISSUE_TEMPLATE/adr.md +110 -0
- package/.mokogitea/ISSUE_TEMPLATE/bug_report.md +48 -0
- package/.mokogitea/ISSUE_TEMPLATE/config.yml +18 -0
- package/.mokogitea/ISSUE_TEMPLATE/documentation.md +52 -0
- package/.mokogitea/ISSUE_TEMPLATE/feature_request.md +51 -0
- package/.mokogitea/ISSUE_TEMPLATE/mcp_api_integration.md +48 -0
- package/.mokogitea/ISSUE_TEMPLATE/mcp_connection_issue.md +67 -0
- package/.mokogitea/ISSUE_TEMPLATE/mcp_tool_request.md +49 -0
- package/.mokogitea/ISSUE_TEMPLATE/question.md +82 -0
- package/.mokogitea/ISSUE_TEMPLATE/rfc.md +126 -0
- package/.mokogitea/ISSUE_TEMPLATE/security.md +51 -0
- package/.mokogitea/ISSUE_TEMPLATE/version.md +24 -0
- package/.mokogitea/branch-protection.yml +251 -0
- package/.mokogitea/workflows/auto-assign.yml +76 -0
- package/.mokogitea/workflows/auto-bump.yml +66 -0
- package/.mokogitea/workflows/auto-dev-issue.yml +207 -0
- package/.mokogitea/workflows/auto-release.yml +421 -0
- package/.mokogitea/workflows/branch-cleanup.yml +48 -0
- package/.mokogitea/workflows/cascade-dev.yml +10 -0
- package/.mokogitea/workflows/changelog-validation.yml +101 -0
- package/.mokogitea/workflows/ci-generic.yml +191 -0
- package/.mokogitea/workflows/cleanup.yml +87 -0
- package/.mokogitea/workflows/codeql-analysis.yml +115 -0
- package/.mokogitea/workflows/copilot-agent.yml +44 -0
- package/.mokogitea/workflows/deploy-manual.yml +126 -0
- package/.mokogitea/workflows/enterprise-firewall-setup.yml +758 -0
- package/.mokogitea/workflows/gitleaks.yml +92 -0
- package/.mokogitea/workflows/issue-branch.yml +73 -0
- package/.mokogitea/workflows/mcp-auto-release.yml +278 -0
- package/.mokogitea/workflows/mcp-build-test.yml +65 -0
- package/.mokogitea/workflows/mcp-sdk-check.yml +109 -0
- package/.mokogitea/workflows/mcp-tool-inventory.yml +61 -0
- package/.mokogitea/workflows/notify.yml +70 -0
- package/.mokogitea/workflows/npm-publish.yml +113 -0
- package/.mokogitea/workflows/pr-check.yml +534 -0
- package/.mokogitea/workflows/pre-release.yml +252 -0
- package/.mokogitea/workflows/rc-revert.yml +66 -0
- package/.mokogitea/workflows/repo-health.yml +712 -0
- package/.mokogitea/workflows/repository-cleanup.yml +525 -0
- package/.mokogitea/workflows/security-audit.yml +82 -0
- package/.mokogitea/workflows/standards-compliance.yml +2614 -0
- package/.mokogitea/workflows/sync-version-on-merge.yml +133 -0
- package/.mokogitea/workflows/update-server.yml +312 -0
- package/.mokogitea/workflows/workflow-sync-trigger.yml +73 -0
- package/CHANGELOG.md +130 -0
- package/CLAUDE.md +49 -0
- package/CONTRIBUTING.md +161 -0
- package/ISSUES.md +601 -0
- package/Makefile +70 -0
- package/README.md +80 -0
- package/automation/ci-issue-reporter.sh +237 -0
- package/config.example.json +18 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +111 -0
- package/dist/shell.d.ts +50 -0
- package/dist/shell.js +209 -0
- package/dist/tools/apps.d.ts +3 -0
- package/dist/tools/apps.js +63 -0
- package/dist/tools/audio.d.ts +3 -0
- package/dist/tools/audio.js +142 -0
- package/dist/tools/audio_apps.d.ts +3 -0
- package/dist/tools/audio_apps.js +86 -0
- package/dist/tools/automation.d.ts +3 -0
- package/dist/tools/automation.js +261 -0
- package/dist/tools/bluetooth.d.ts +3 -0
- package/dist/tools/bluetooth.js +96 -0
- package/dist/tools/clipboard.d.ts +3 -0
- package/dist/tools/clipboard.js +118 -0
- package/dist/tools/config.d.ts +3 -0
- package/dist/tools/config.js +85 -0
- package/dist/tools/dialog.d.ts +3 -0
- package/dist/tools/dialog.js +72 -0
- package/dist/tools/display.d.ts +3 -0
- package/dist/tools/display.js +256 -0
- package/dist/tools/drives.d.ts +3 -0
- package/dist/tools/drives.js +98 -0
- package/dist/tools/environment.d.ts +3 -0
- package/dist/tools/environment.js +129 -0
- package/dist/tools/execute.d.ts +3 -0
- package/dist/tools/execute.js +28 -0
- package/dist/tools/filesystem.d.ts +3 -0
- package/dist/tools/filesystem.js +230 -0
- package/dist/tools/firewall.d.ts +3 -0
- package/dist/tools/firewall.js +108 -0
- package/dist/tools/hosts.d.ts +3 -0
- package/dist/tools/hosts.js +119 -0
- package/dist/tools/maintenance.d.ts +3 -0
- package/dist/tools/maintenance.js +236 -0
- package/dist/tools/netstat.d.ts +3 -0
- package/dist/tools/netstat.js +56 -0
- package/dist/tools/network.d.ts +3 -0
- package/dist/tools/network.js +70 -0
- package/dist/tools/notification.d.ts +3 -0
- package/dist/tools/notification.js +41 -0
- package/dist/tools/power.d.ts +3 -0
- package/dist/tools/power.js +104 -0
- package/dist/tools/printer.d.ts +3 -0
- package/dist/tools/printer.js +97 -0
- package/dist/tools/process.d.ts +3 -0
- package/dist/tools/process.js +54 -0
- package/dist/tools/process_kill.d.ts +3 -0
- package/dist/tools/process_kill.js +48 -0
- package/dist/tools/recycle_bin.d.ts +3 -0
- package/dist/tools/recycle_bin.js +108 -0
- package/dist/tools/registry.d.ts +3 -0
- package/dist/tools/registry.js +136 -0
- package/dist/tools/scheduler.d.ts +3 -0
- package/dist/tools/scheduler.js +116 -0
- package/dist/tools/service.d.ts +3 -0
- package/dist/tools/service.js +79 -0
- package/dist/tools/startup.d.ts +3 -0
- package/dist/tools/startup.js +159 -0
- package/dist/tools/storage.d.ts +3 -0
- package/dist/tools/storage.js +129 -0
- package/dist/tools/system.d.ts +3 -0
- package/dist/tools/system.js +84 -0
- package/dist/tools/system_mgmt.d.ts +3 -0
- package/dist/tools/system_mgmt.js +174 -0
- package/dist/tools/terminal.d.ts +3 -0
- package/dist/tools/terminal.js +80 -0
- package/dist/tools/theme.d.ts +3 -0
- package/dist/tools/theme.js +165 -0
- package/dist/tools/usb.d.ts +3 -0
- package/dist/tools/usb.js +52 -0
- package/dist/tools/virtual_desktop.d.ts +3 -0
- package/dist/tools/virtual_desktop.js +112 -0
- package/dist/tools/wifi.d.ts +3 -0
- package/dist/tools/wifi.js +136 -0
- package/dist/tools/window.d.ts +3 -0
- package/dist/tools/window.js +189 -0
- package/dist/tools/winget.d.ts +3 -0
- package/dist/tools/winget.js +79 -0
- package/dist/tools/wsl.d.ts +3 -0
- package/dist/tools/wsl.js +99 -0
- package/docs/API.md +63 -0
- package/docs/ARCHITECTURE.md +73 -0
- package/docs/INSTALLATION.md +102 -0
- package/docs/index.md +12 -0
- package/package.json +35 -0
- package/scripts/setup.mjs +123 -0
- package/src/index.ts +125 -0
- package/src/shell.ts +253 -0
- package/src/tools/apps.ts +76 -0
- package/src/tools/audio.ts +161 -0
- package/src/tools/audio_apps.ts +98 -0
- package/src/tools/automation.ts +297 -0
- package/src/tools/bluetooth.ts +114 -0
- package/src/tools/clipboard.ts +138 -0
- package/src/tools/config.ts +105 -0
- package/src/tools/dialog.ts +87 -0
- package/src/tools/display.ts +285 -0
- package/src/tools/drives.ts +124 -0
- package/src/tools/environment.ts +146 -0
- package/src/tools/execute.ts +35 -0
- package/src/tools/filesystem.ts +273 -0
- package/src/tools/firewall.ts +125 -0
- package/src/tools/hosts.ts +135 -0
- package/src/tools/maintenance.ts +299 -0
- package/src/tools/netstat.ts +72 -0
- package/src/tools/network.ts +84 -0
- package/src/tools/notification.ts +50 -0
- package/src/tools/power.ts +123 -0
- package/src/tools/printer.ts +114 -0
- package/src/tools/process.ts +80 -0
- package/src/tools/process_kill.ts +57 -0
- package/src/tools/recycle_bin.ts +126 -0
- package/src/tools/registry.ts +165 -0
- package/src/tools/scheduler.ts +140 -0
- package/src/tools/service.ts +102 -0
- package/src/tools/startup.ts +180 -0
- package/src/tools/storage.ts +141 -0
- package/src/tools/system.ts +99 -0
- package/src/tools/system_mgmt.ts +190 -0
- package/src/tools/terminal.ts +117 -0
- package/src/tools/theme.ts +205 -0
- package/src/tools/usb.ts +65 -0
- package/src/tools/virtual_desktop.ts +122 -0
- package/src/tools/wifi.ts +157 -0
- package/src/tools/window.ts +211 -0
- package/src/tools/winget.ts +100 -0
- package/src/tools/wsl.ts +112 -0
- 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)
|
package/CONTRIBUTING.md
ADDED
|
@@ -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>*
|