Skip to content

Commit d18d6d2

Browse files
committed
Initial public release of Hey Woo
0 parents  commit d18d6d2

100 files changed

Lines changed: 38001 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.distignore

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Files and directories excluded from the production plugin zip.
2+
# Used by build scripts that ship installable releases.
3+
4+
# Source control
5+
.git
6+
.gitignore
7+
.gitattributes
8+
9+
# Development tooling
10+
.github
11+
.wp-env.json
12+
.wp-env.override.json
13+
.wp-env
14+
.phpunit.cache
15+
.phpunit.result.cache
16+
.distignore
17+
.editorconfig
18+
.DS_Store
19+
20+
# Tests and dev scripts
21+
tests
22+
bin
23+
scripts
24+
25+
# Composer dev dependencies (run `composer install --no-dev` before zipping
26+
# to remove vendor/ dev-only packages, or strip vendor/ entirely if it's
27+
# not needed in the published zip)
28+
composer.json
29+
composer.lock
30+
31+
# Linting / standards configs
32+
phpcs.xml.dist
33+
phpunit.xml.dist
34+
35+
# Local-only dev plugins
36+
vendor-plugins
37+
38+
# Documentation that lives in-repo for contributors but isn't needed
39+
# at runtime
40+
CONTRIBUTING.md
41+
CODE_OF_CONDUCT.md
42+
SECURITY.md
43+
.migration
44+
45+
# Editor / OS metadata
46+
*.log
47+
*.swp
48+
.idea
49+
.vscode
50+
node_modules
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
name: Bug report
3+
about: Report a reproducible problem with the plugin
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## What happened?
10+
11+
<!-- A clear, concise description of the bug. -->
12+
13+
## Steps to reproduce
14+
15+
1.
16+
2.
17+
3.
18+
19+
## Expected behaviour
20+
21+
<!-- What did you expect to happen? -->
22+
23+
## Actual behaviour
24+
25+
<!-- What actually happened? -->
26+
27+
## Environment
28+
29+
- **Hey Woo version:** <!-- e.g. 0.1.0 — see plugin header -->
30+
- **WordPress version:**
31+
- **WooCommerce version:**
32+
- **PHP version:**
33+
- **MCP client:** <!-- e.g. Claude Desktop, Claude Code, Cursor -->
34+
- **HPOS or classic order storage:**
35+
36+
## Logs / errors
37+
38+
<!-- Paste any relevant error messages, stack traces, or PHP error log entries. -->
39+
40+
```
41+
```
42+
43+
## Additional context
44+
45+
<!-- Anything else worth knowing — store size, custom configuration, related issues. -->

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Security vulnerability
4+
url: https://hackerone.com/automattic
5+
about: Please report security issues privately. See SECURITY.md.
6+
- name: Question or general help
7+
url: https://github.com/woocommerce/hey-woo/discussions
8+
about: For usage questions, please open a discussion rather than an issue.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: Feature request
3+
about: Suggest a new capability or enhancement
4+
title: ''
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
## What problem are you trying to solve?
10+
11+
<!-- Describe the merchant question or workflow this would unlock. -->
12+
13+
## What would it look like?
14+
15+
<!-- A rough description of the proposed feature. Skill name, parameters, response shape — whatever you have. -->
16+
17+
## Why does it matter?
18+
19+
<!-- Who benefits? How often does this come up? -->
20+
21+
## Alternatives considered
22+
23+
<!-- Other ways this could be solved. Workarounds you've tried. -->
24+
25+
## Additional context
26+
27+
<!-- Links to related issues, similar features in other tools, screenshots. -->

.github/workflows/ci.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [trunk]
6+
pull_request:
7+
8+
jobs:
9+
phpcs:
10+
name: PHPCS (WordPress + Docs)
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
16+
- name: Setup PHP
17+
uses: shivammathur/setup-php@v2
18+
with:
19+
php-version: '7.4'
20+
tools: composer:v2
21+
coverage: none
22+
23+
- name: Cache Composer
24+
uses: actions/cache@v4
25+
with:
26+
path: ~/.cache/composer
27+
key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }}
28+
restore-keys: ${{ runner.os }}-composer-
29+
30+
- name: Composer install
31+
run: composer install --no-progress --prefer-dist --no-interaction
32+
33+
- name: Run PHPCS
34+
run: composer run phpcs
35+
36+
phpunit:
37+
name: PHPUnit (integration, wp-env)
38+
runs-on: ubuntu-latest
39+
steps:
40+
- name: Checkout
41+
uses: actions/checkout@v4
42+
43+
- name: Setup PHP
44+
uses: shivammathur/setup-php@v2
45+
with:
46+
php-version: '7.4'
47+
tools: composer:v2
48+
coverage: none
49+
50+
- name: Setup Node
51+
uses: actions/setup-node@v4
52+
with:
53+
node-version: '20'
54+
55+
- name: Cache Composer
56+
uses: actions/cache@v4
57+
with:
58+
path: ~/.cache/composer
59+
key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }}
60+
restore-keys: ${{ runner.os }}-composer-
61+
62+
- name: Composer install
63+
run: composer install --no-progress --prefer-dist --no-interaction
64+
65+
- name: Install wp-env
66+
run: npm install -g @wordpress/env
67+
68+
- name: Start wp-env
69+
run: wp-env start
70+
71+
- name: Run PHPUnit inside tests container
72+
run: |
73+
wp-env run tests-cli --env-cwd=wp-content/plugins/hey-woo-tests \
74+
-- php vendor/bin/phpunit --colors=always
75+
76+
- name: Capture wp-env logs on failure
77+
if: failure()
78+
run: wp-env logs tests

.gitignore

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
node_modules/
2+
.wp-env/
3+
.wp-env.override.json
4+
*.log
5+
.DS_Store
6+
7+
# Composer dependencies and PHPUnit cache.
8+
vendor/
9+
.phpunit.cache/
10+
.phpunit.result.cache
11+
12+
# Local credentials and Claude config.
13+
.mcp.json
14+
.claude/
15+
16+
# P2 / communication drafts — working documents, not part of the codebase.
17+
# Keep a README here so the folder itself (and its purpose) is discoverable.
18+
docs/drafts/*
19+
!docs/drafts/README.md
20+
21+
# Local-only dev plugins that aren't ours to redistribute (e.g. the WCA
22+
# Data Consistency Checker plugin). bin/check-dcc auto-detects the
23+
# presence of this dir and wires the check when it's here; skips cleanly
24+
# when it's not.
25+
vendor-plugins/

.wp-env.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"core": "WordPress/WordPress#6.9",
3+
"plugins": ["https://downloads.wordpress.org/plugin/woocommerce.zip"],
4+
"mappings": {
5+
"wp-content/plugins/hey-woo-tests": ".",
6+
"wp-content/plugins/hey-woo": ".",
7+
"wp-content/mu-plugins": "./tools/mu-plugins"
8+
},
9+
"config": {
10+
"WP_DEBUG": true,
11+
"WP_DEBUG_LOG": true,
12+
"SCRIPT_DEBUG": true
13+
},
14+
"lifecycleScripts": {
15+
"afterStart": "wp-env run cli -- wp option update woocommerce_feature_mcp_integration_enabled yes && wp-env run cli -- wp plugin activate woocommerce hey-woo && wp-env run cli -- wp wc tool run install_pages --user=admin && wp-env run cli -- wp option update woocommerce_store_address '123 Main Street' && wp-env run cli -- wp option update woocommerce_store_city 'London' && wp-env run cli -- wp option update woocommerce_store_postcode 'EC1A 1BB' && wp-env run cli -- wp option update woocommerce_default_country 'GB' && wp-env run cli -- wp option update woocommerce_currency 'GBP'"
16+
}
17+
}

CODE_OF_CONDUCT.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Code of Conduct
2+
3+
This project follows the **[Contributor Covenant, version 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/)**.
4+
5+
By participating in this project (filing issues, opening pull requests, commenting), you agree to abide by its terms.
6+
7+
## Reporting
8+
9+
Reports of unacceptable behaviour may be sent to **conduct@automattic.com**. All reports will be reviewed and investigated promptly and fairly. Reporter privacy will be respected.

0 commit comments

Comments
 (0)