This page was put together with the help of Claude Code on 09/14/26 and is a work in progress. If anything here is confusing or doesn't match what you're actually seeing, ask Ashley.
Welcome to Nexvel Solutions
We build and maintain sites for local-service businesses
— roofing, plumbing, dental, legal, and similar clients.
Most of our sites are
headless WordPress — WordPress as the
backend/CMS with a separate Gatsby, Astro, or Next.js
frontend — alongside some older traditional (non-block)
WordPress sites. We've recently pivoted to building
custom WordPress block themes
(Gutenberg / theme.json) for new work, and
are converting some existing headless sites over to that
model. The headless sites share a custom component
library.
A lot of day-to-day development happens inside Claude Code, using a large project-specific skill library plus MCP integrations for hosting (Cloudways), WordPress, and deploys (Netlify). This doc exists so none of that has to be rediscovered the hard way.
As lead developer, Ashley reviews all pull requests. New devs report to Jeff and Chad. Tasks are assigned through Monday — anyone on the team can assign one, but expect many of yours to come through Ashley. Depending on the project or task, devs may work solo on a client or as part of a pair/team — it varies.
Onboarding Checklist
Checked items are saved locally in your browser, so you can close this and pick up where you left off.
Accounts & Access
Local Environment
Ashley uses Zed as a text editor, but use whatever you're comfortable with.
First Week
First Month
Tech Stack
| Layer | What we use |
|---|---|
| Headless WordPress | WordPress as backend/CMS with a separate Gatsby, Astro, or Next.js frontend |
| Traditional WordPress | Older sites on classic (non-block) PHP themes, still maintained |
| Custom block themes |
Gutenberg / theme.json,
template parts, patterns, native Gutenberg
blocks — the direction we've recently
pivoted to for new builds, and for
converting some existing headless sites
|
| Shared components (headless sites) | A versioned component monorepo — see Conventions for the versioning convention |
| Forms | Varies by project — Formidable Forms on many WordPress sites, Netlify Forms or Netlify Functions on headless sites, and Contact Form 7, Elementor, or Forminator on others. Check what the specific client site already uses before adding a new one. Forminator is preferred for new WordPress sites. |
| Hosting / infra | Cloudways and Netlify |
| Site monitoring | Upptime-based status monitoring for client sites — github.com/nexvelsolutions/nexvel-upptime |
Engineering Conventions
These are hard-won rules from real client work, not stylistic preferences. Breaking them tends to cause real rework.
- No hardcoding. All text and images must be editable in the WordPress admin. Never bake copy or image URLs directly into block markup or template code.
-
No inline styles. Strip
style/ width / color attributes from block JSON. All visual styling lives in CSS classes in the theme stylesheet. - Use custom post types sparingly. Default to modeling content with block markup or the Customizer/Options API — reach for a CPT only when the content genuinely calls for it.
-
Prefer concrete names when one exists.
If the client/team has a name for a section (e.g.
leak-repair), use that instead of an abstract slot name. Generic names likecontent-section-2are fine when a section genuinely doesn't have a more specific name. -
Component versioning ≠ supersession.
V-numbered shared components (
HeaderV11vsHeaderV2) are independent variants built for different clients/use-cases — not an old/new pair. Don't "upgrade" a client off an older version unless you're explicitly asked to. -
CSS should be mobile-first. Write
base/unqueried styles for the smallest screen, then
use
min-widthmedia queries to add complexity for larger screens — not the reverse.
Git & Workflow Discipline
-
Almost always open a PR, and let Ashley know
about it.
Don't merge straight to
mainunless the change is really small.
Claude Code & Tooling
Most newer WordPress development on the team happens inside Claude Code. Many of the WordPress-specific skills below come bundled with WordPress Studio; others are project-specific, written for Nexvel's own conventions and gotchas. Claude Code will usually pick the right one automatically based on what you ask for — worth knowing the list exists in case it doesn't.
Key skills
| Skill | Use it for | Source |
|---|---|---|
| Studio CLI | WordPress development workflows using Studio CLI | WordPress Studio |
wp-block-themes |
Any work on template parts, templates,
patterns, or theme.json
|
WordPress Studio |
wp-block-development |
Building/editing individual Gutenberg blocks | WordPress Studio |
wp-rest-api |
Custom REST routes, controllers, meta exposure | WordPress Studio |
wp-wpcli-and-ops |
WP-CLI tasks — search-replace, db import/export, cron, multisite | WordPress Studio |
wp-plugin-development |
Plugin architecture, activation hooks, admin UI, security basics | WordPress Studio |
wp-performance |
Profiling, query/DB optimization, object caching, cron | Unknown |
wp-phpstan |
Static analysis setup and fixes | Unknown |
security-review |
Before shipping anything touching auth, input handling, or user data | Unknown |
dev-test |
Spinning up a new dev/test WordPress instance | Nexvel-specific |
monthly-updates |
Running the recurring client maintenance workflow | Nexvel-specific |
monthly-updates-follow-up |
Re-submitting contact forms for clients who didn't confirm receipt during the monthly maintenance run | Nexvel-specific |
wordpress-automated-redirects
|
Setting up redirects, consolidating town/location pages into county pages, and importing redirects into the Redirection plugin | Nexvel-specific |
blueprint /
wp-playground
|
Disposable WP instances and Playground blueprint config | Unknown |
MCP integrations
- Cloudways — server/app management, backups, monitoring, DNS, directly from Claude Code
- Netlify — deploys for headless/static client sites
- WordPress — via the Abilities API and a set of MCP Abilities plugins: block editor (parse/validate/generate Gutenberg content), database (confirm-gated search/replace), Formidable forms, Wordfence security, broken link checking, and core site management (content, menus, users, media, widgets, plugins, options)
Recurring Maintenance
Every client site gets a monthly (and quarterly)
maintenance pass, run through the
monthly-updates skill:
- Monday client list review
- MainWP plugin/core updates across all managed sites
- Update testing on each site
- Contact form tests
- WhatConverts verification
- Wordfence security scans
- Static-site build checks (for sites still on Gatsby/Astro/Next)
- Quarterly only: broken-link checks and site-speed tests
Clients who don't confirm receipt of a form test get a
follow-up pass via the
monthly-updates-follow-up skill, which just
re-submits the form — it doesn't re-run the whole
workflow.
Getting Help
- Technical lead / access or account issues: Ashley
- Client credentials, such as DNS: Google Drive > Shared drives > Nexvel Team Drive > Client Folders > _Client Logins
- Slack: most channels are project-specific, but there's a #general-dev channel for anything not tied to one client
- Client-facing production issue: create a task on Monday and assign it to Ashley first — she'll decide whether to hand it to you or handle it herself
Changelog
Update this whenever something in the doc changes, so it's clear it's being kept current.
- 2026-09-14 — Initial version.