Skip to content

Latest commit

 

History

49 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bit Connect

build

A community forum for WordPress. Your users open topics for feature requests, bug reports and feedback; everyone else upvotes and comments; and you move each topic through the stages of your roadmap so people can see what you are actually building.

This repository holds the complete source of the free plugin — the one published on WordPress.org. Everything the plugin ships is built from what is here, and the sections below are enough to build it yourself.

Building the plugin

The compiled JavaScript and CSS under assets/ are not committed — they are generated. To produce them:

git clone https://github.com/bit-apps-pro/bit-connect.git
cd bit-connect
composer install
pnpm install
pnpm build:free

That writes assets/ (WordPress admin panel) and assets/client/ (the public portal). At that point the directory is the plugin: copy it into wp-content/plugins/bit-connect and activate it.

Requirements: PHP ≥ 8.2, Node ≥ 20, pnpm ≥ 9, and Composer 2. No private registry, credential or submodule is involved — a plain git clone is enough, and no .env is needed to build.

An installable zip

To get the file you would upload under Plugins → Add New → Upload Plugin:

pnpm prod:free-zip

That builds the frontend, resolves PHP dependencies with --no-dev, stages the shipped files, strips development artefacts, and writes build/bit-connect-<version>.zip. The version comes from the Version: header in bit-connect.php. Your working tree is left as it was — development dependencies are reinstalled once the staging copy has been taken.

Without a local toolchain

The build workflow runs those same steps on every push to main and every pull request, then uploads the result. Open a run under Actions → build and download bit-connect-zip from its Artifacts section; it holds the same bit-connect-<version>.zip you would get locally. Artifacts are kept for 14 days.

Pushing a v<version> tag — v1.0.0, matching the Version: header — runs the same build and then publishes that zip as a GitHub Release, which is the durable place to fetch a given version. The workflow refuses a tag whose version disagrees with the header. WordPress.org itself is still updated from a local pnpm prod:free-zip.

How the build is wired

Piece Where
Admin panel entry and config vite.config.mts, frontend/admin/
Portal entry and config vite.config.client.mts, frontend/client/
Portal server-side render backend/app/SSR/ — rendered by PHP per request, not prebuilt
PHP plugin bit-connect.php, backend/

The frontend is React + TypeScript, bundled by Vite, with Ant Design and Tailwind (namespaced with a prefix so it cannot collide with a theme). PHP dependencies are re-namespaced at install time by Imposter under BitApps\BitConnect\Deps\, so two plugins bundling the same library never fight.

Developing

pnpm dev            # admin + portal dev servers
pnpm test           # Vitest
pnpm ts-check       # TypeScript
pnpm lint           # ESLint (writes fixes)
pnpm test:e2e       # Playwright, against DEV_DOMAIN
composer test       # PHPUnit (needs tests.config.php — see the setup guide)
composer analyze    # PHPStan
composer lint       # php-cs-fixer + PHPCS (writes fixes)

To work on the plugin, clone it into the plugins directory of any WordPress install you can run locally:

cd wp-content/plugins
git clone https://github.com/bit-apps-pro/bit-connect.git
cd bit-connect
composer install && pnpm install
pnpm build:free      # once, so the plugin has assets to activate with

Activate Bit Connect in wp-admin, then run pnpm dev. It starts two Vite servers — the admin panel on :3000 and the portal on :3001 — and writes a .port file. That file is how PHP knows to load the dev servers instead of the built files, so both hot-reload while you edit. Stopping pnpm dev removes it and the plugin goes back to serving assets/; if a crash ever leaves .port behind, delete it by hand.

cp .env.example .env if you need to change where the dev servers bind, serve them over HTTPS, or point the end-to-end tests at your site. Every value in it is optional.

docs/project-setup-instruction.md walks through the whole setup, including wp-cli.

About the Pro add-on

Some features are provided by Bit Connect Pro, a separate add-on plugin that is not hosted on WordPress.org and whose source is not in this repository. Everything in the free plugin works without it.

You will see a few *.pro.tsx placeholder modules in the admin source. They exist so the import graph resolves: each free screen dispatches on IS_PRO_ACTIVE, which is a compile-time false in this build, so the bundler removes the placeholder and its branch entirely. Nothing in assets/ comes from them — they carry no implementation to begin with.

Contributing

Issues and pull requests are welcome here. Development happens in a private monorepo that holds both the free plugin and the add-on, so accepted changes are applied there and land back in this repository with the next release; the commit history here is one publication per released version rather than a running log.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages