Skip to content

Commit b6b9bda

Browse files
Jonathan D.A. Jewellclaude
andcommitted
feat: consolidate 5 WordPress repos into wordpress-tools monorepo
Merged repos: - wordpress-secured → secured/ - wp-plugin-conflict-mapper → plugin-conflict-mapper/ - wp-praxis → praxis/ - wp-resurrect → resurrect/ - wp-sinople-theme → sinople-theme/ Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0 parents  commit b6b9bda

948 files changed

Lines changed: 156527 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.

README.adoc

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
= wordpress-tools
2+
// SPDX-License-Identifier: PMPL-1.0-or-later
3+
:author: Jonathan D.A. Jewell <jonathan.jewell@open.ac.uk>
4+
5+
WordPress security, plugin management, and theming tools.
6+
7+
== Components
8+
9+
* `secured/` - WordPress security hardening
10+
* `plugin-conflict-mapper/` - Plugin conflict detection and mapping
11+
* `praxis/` - WordPress best practices framework
12+
* `resurrect/` - WordPress recovery and restoration
13+
* `sinople-theme/` - Custom WordPress theme
14+
15+
== License
16+
17+
PMPL-1.0-or-later
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
## Machine-Readable Artefacts
2+
3+
The following files in `.machine_readable/` contain structured project metadata:
4+
5+
- `STATE.scm` - Current project state and progress
6+
- `META.scm` - Architecture decisions and development practices
7+
- `ECOSYSTEM.scm` - Position in the ecosystem and related projects
8+
- `AGENTIC.scm` - AI agent interaction patterns
9+
- `NEUROSYM.scm` - Neurosymbolic integration config
10+
- `PLAYBOOK.scm` - Operational runbook
11+
12+
---
13+
14+
# CLAUDE.md - AI Assistant Instructions
15+
16+
## Language Policy (Hyperpolymath Standard)
17+
18+
### ALLOWED Languages & Tools
19+
20+
| Language/Tool | Use Case | Notes |
21+
|---------------|----------|-------|
22+
| **ReScript** | Primary application code | Compiles to JS, type-safe |
23+
| **Deno** | Runtime & package management | Replaces Node/npm/bun |
24+
| **Rust** | Performance-critical, systems, WASM | Preferred for CLI tools |
25+
| **Tauri 2.0+** | Mobile apps (iOS/Android) | Rust backend + web UI |
26+
| **Dioxus** | Mobile apps (native UI) | Pure Rust, React-like |
27+
| **Gleam** | Backend services | Runs on BEAM or compiles to JS |
28+
| **Bash/POSIX Shell** | Scripts, automation | Keep minimal |
29+
| **JavaScript** | Only where ReScript cannot | MCP protocol glue, Deno APIs |
30+
| **Nickel** | Configuration language | For complex configs |
31+
| **Guile Scheme** | State/meta files | STATE.scm, META.scm, ECOSYSTEM.scm |
32+
| **Julia** | Batch scripts, data processing | Per RSR |
33+
| **OCaml** | AffineScript compiler | Language-specific |
34+
| **Ada** | Safety-critical systems | Where required |
35+
36+
### BANNED - Do Not Use
37+
38+
| Banned | Replacement |
39+
|--------|-------------|
40+
| TypeScript | ReScript |
41+
| Node.js | Deno |
42+
| npm | Deno |
43+
| Bun | Deno |
44+
| pnpm/yarn | Deno |
45+
| Go | Rust |
46+
| Python | Julia/Rust/ReScript |
47+
| Java/Kotlin | Rust/Tauri/Dioxus |
48+
| Swift | Tauri/Dioxus |
49+
| React Native | Tauri/Dioxus |
50+
| Flutter/Dart | Tauri/Dioxus |
51+
52+
### Mobile Development
53+
54+
**No exceptions for Kotlin/Swift** - use Rust-first approach:
55+
56+
1. **Tauri 2.0+** - Web UI (ReScript) + Rust backend, MIT/Apache-2.0
57+
2. **Dioxus** - Pure Rust native UI, MIT/Apache-2.0
58+
59+
Both are FOSS with independent governance (no Big Tech).
60+
61+
### Enforcement Rules
62+
63+
1. **No new TypeScript files** - Convert existing TS to ReScript
64+
2. **No package.json for runtime deps** - Use deno.json imports
65+
3. **No node_modules in production** - Deno caches deps automatically
66+
4. **No Go code** - Use Rust instead
67+
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, ReScript for apps
68+
6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus
69+
70+
### Package Management
71+
72+
- **Primary**: Guix (guix.scm)
73+
- **Fallback**: Nix (flake.nix)
74+
- **JS deps**: Deno (deno.json imports)
75+
76+
### Security Requirements
77+
78+
- No MD5/SHA1 for security (use SHA256+)
79+
- HTTPS only (no HTTP URLs)
80+
- No hardcoded secrets
81+
- SHA-pinned dependencies
82+
- SPDX license headers on all files
83+
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# wp-plugin-conflict-mapper - Editor Configuration
2+
# https://editorconfig.org
3+
4+
root = true
5+
6+
[*]
7+
charset = utf-8
8+
end_of_line = lf
9+
indent_size = 2
10+
indent_style = space
11+
insert_final_newline = true
12+
trim_trailing_whitespace = true
13+
14+
[*.md]
15+
trim_trailing_whitespace = false
16+
17+
[*.adoc]
18+
trim_trailing_whitespace = false
19+
20+
[*.rs]
21+
indent_size = 4
22+
23+
[*.ex]
24+
indent_size = 2
25+
26+
[*.exs]
27+
indent_size = 2
28+
29+
[*.zig]
30+
indent_size = 4
31+
32+
[*.ada]
33+
indent_size = 3
34+
35+
[*.adb]
36+
indent_size = 3
37+
38+
[*.ads]
39+
indent_size = 3
40+
41+
[*.hs]
42+
indent_size = 2
43+
44+
[*.res]
45+
indent_size = 2
46+
47+
[*.resi]
48+
indent_size = 2
49+
50+
[*.ncl]
51+
indent_size = 2
52+
53+
[*.rkt]
54+
indent_size = 2
55+
56+
[*.scm]
57+
indent_size = 2
58+
59+
[*.nix]
60+
indent_size = 2
61+
62+
[Justfile]
63+
indent_style = space
64+
indent_size = 4
65+
66+
[justfile]
67+
indent_style = space
68+
indent_size = 4
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# Git Attributes for WP Plugin Conflict Mapper
2+
# Defines how Git handles specific file types
3+
4+
# Auto-detect text files and perform LF normalization
5+
* text=auto
6+
7+
# Source code
8+
*.php text eol=lf diff=php
9+
*.js text eol=lf
10+
*.jsx text eol=lf
11+
*.ts text eol=lf
12+
*.tsx text eol=lf
13+
*.css text eol=lf
14+
*.scss text eol=lf
15+
*.sass text eol=lf
16+
*.less text eol=lf
17+
18+
# Documentation
19+
*.md text eol=lf diff=markdown
20+
*.adoc text eol=lf
21+
*.txt text eol=lf
22+
*.rst text eol=lf
23+
24+
# Configuration
25+
*.json text eol=lf
26+
*.yml text eol=lf
27+
*.yaml text eol=lf
28+
*.toml text eol=lf
29+
*.ini text eol=lf
30+
*.xml text eol=lf
31+
32+
# Nix and Nickel files
33+
*.nix text eol=lf
34+
*.ncl text eol=lf
35+
36+
# Shell scripts
37+
*.sh text eol=lf
38+
*.bash text eol=lf
39+
Dockerfile text eol=lf
40+
Containerfile text eol=lf
41+
justfile text eol=lf
42+
43+
# WordPress specific
44+
*.pot text eol=lf
45+
*.po text eol=lf
46+
*.mo binary
47+
48+
# SQL files
49+
*.sql text eol=lf
50+
51+
# Graphics
52+
*.png binary
53+
*.jpg binary
54+
*.jpeg binary
55+
*.gif binary
56+
*.ico binary
57+
*.svg text
58+
*.webp binary
59+
60+
# Archives
61+
*.zip binary
62+
*.tar binary
63+
*.gz binary
64+
*.bz2 binary
65+
*.7z binary
66+
67+
# Fonts
68+
*.ttf binary
69+
*.otf binary
70+
*.woff binary
71+
*.woff2 binary
72+
*.eot binary
73+
74+
# Other binary files
75+
*.pdf binary
76+
*.exe binary
77+
*.dll binary
78+
*.so binary
79+
*.dylib binary
80+
81+
# Export-ignore (exclude from archives)
82+
.gitattributes export-ignore
83+
.gitignore export-ignore
84+
.gitlab-ci.yml export-ignore
85+
.well-known/ai.txt export-ignore
86+
tests/ export-ignore
87+
*.md export-ignore
88+
*.adoc export-ignore
89+
phpunit.xml export-ignore
90+
composer.json export-ignore
91+
composer.lock export-ignore
92+
justfile export-ignore
93+
flake.nix export-ignore
94+
flake.lock export-ignore
95+
96+
# Line ending enforcement for critical files
97+
LICENSE.txt text eol=lf
98+
LICENSE-AGPL text eol=lf
99+
LICENSE-PALIMPSEST text eol=lf
100+
SECURITY.md text eol=lf
101+
CONTRIBUTING.adoc text eol=lf
102+
CODE_OF_CONDUCT.adoc text eol=lf
103+
104+
# Git LFS (Large File Storage) - if needed in future
105+
# *.psd filter=lfs diff=lfs merge=lfs -text
106+
# *.ai filter=lfs diff=lfs merge=lfs -text
107+
108+
# Linguist overrides (for GitHub/GitLab language statistics)
109+
*.php linguist-language=PHP
110+
*.js linguist-language=JavaScript
111+
docs/* linguist-documentation
112+
tests/* linguist-vendored=false
113+
114+
# Diff drivers
115+
*.php diff=php
116+
*.md diff=markdown
117+
*.json diff=json
118+
119+
# Merge strategies
120+
CHANGELOG.md merge=union
121+
122+
# Whitespace handling
123+
*.md whitespace=blank-at-eol,blank-at-eof,space-before-tab,tab-in-indent
124+
*.php whitespace=blank-at-eol,blank-at-eof,space-before-tab
125+
*.js whitespace=blank-at-eol,blank-at-eof,space-before-tab
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Funding platforms for hyperpolymath projects
3+
# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository
4+
5+
github: hyperpolymath
6+
ko_fi: hyperpolymath
7+
liberapay: hyperpolymath
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: "[Bug]: "
5+
labels: 'bug, priority: unset, triage'
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Desktop (please complete the following information):**
27+
- OS: [e.g. iOS]
28+
- Browser [e.g. chrome, safari]
29+
- Version [e.g. 22]
30+
31+
**Smartphone (please complete the following information):**
32+
- Device: [e.g. iPhone6]
33+
- OS: [e.g. iOS8.1]
34+
- Browser [e.g. stock browser, safari]
35+
- Version [e.g. 22]
36+
37+
**Additional context**
38+
Add any other context about the problem here.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
name: Custom issue template
3+
about: Describe this issue template's purpose here.
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+

0 commit comments

Comments
 (0)