Developer pack

Open Source Pack

The packages we publish on npm, PyPI, NuGet and pkg.go.dev, their licences and how to install them.

Generated on request from the live content of this site. Nothing about it is stored ahead of time. File name Tech-Style-Open-Source-Pack.pdf.

When we solve a problem that isn't specific to our business, we publish it. Eight packages across four registries (including JSON Compress, one wire format with six interoperable implementations, three of them published so far on npm, NuGet and pkg.go.dev), plus platforms, plugins and tools on GitHub under MIT, Apache 2.0 or AGPL 3.0. Commercial licensing is available for the AGPL products.

Published on npm, NuGet, PyPI & pkg.go.dev

Install and go

Eight packages across four registries. JSON Compress ships today on npm, NuGet and pkg.go.dev (three of the six implementations of one wire format that all write the same bytes); the PHP, Python and Rust ports build from the repository and are queued for release. Alongside them, pgrecon on PyPI under Apache 2.0 and four more on npm (among them two-factor sign-in for the Strapi admin panel, and a sync plugin carried on the official Strapi Marketplace), plus an agentless Strapi backup tool in development. All extracted from problems we hit doing the work.

pgrecon

Migration reconnaissance for PostgreSQL. Oracle-to-PostgreSQL projects overrun because nobody measures the PL/SQL before committing to a date. pgrecon is the measurement. It parses your DDL and program units with a real grammar, applies 80 rules, reports every incompatibility with evidence and a remedy, turns the result into an effort estimate in person-days that shows its own arithmetic, and converts the schema it can prove into PostgreSQL DDL.

It never connects to your database. It generates a read-only SQL*Plus script your DBA reads and runs; analysis happens locally on the output files. That single design decision is why security teams approve it in minutes.

$ pip install pgrecon
Offline AnalysisGrammar-based PL/SQL Parsing80 RulesSeverity & RemediesEffort EstimationJSON ExportOracle 9.2 → 23aiPython 3.11+Apache 2.0

JSON Compress

Lossless JSON compression that is still JSON. It writes every key name once instead of once per record, turns arrays of like-shaped objects into columns and rows, hoists out the columns whose value never changes, and de-duplicates the values that keep coming back. Record-shaped documents come out 45 to 75% smaller, and decompress hands back exactly what went in, key order included.

It began as an internal helper for moving large result sets between a database layer and a set of front ends, where the payloads were dominated by repeated field names. It kept being copied from project to project, so we wrote it properly, specified the wire format so it could be ported, and then ported it, six times, into JavaScript, .NET, Python, PHP, Go and Rust.

$ npm install @tech-style/json-compress
$ dotnet add package TechStyle.JsonCompress
$ go get github.com/eharain/JSON-Compress/go
6 Interoperable ImplementationsKey CatalogueColumnar TablesConstant & Dictionary ColumnsValue De-duplicationByte-perfect Round TripZero Dependenciesnpm · NuGet · pkg.go.devTypeScript TypesCLI IncludedDocumented Wire FormatMIT

Secure Keystore JS

A secure key-value store with two-layer encryption. A single user key unlocks a per-store master key, and that master key unlocks each value individually, so secrets sit encrypted on disk and are only decrypted, in memory, at the moment you ask for one.

It was built because credentials kept ending up in plaintext config files across our own services. It now backs credential storage in Strapi Content Sync Pro.

$ npm install secure-keystore-js
Two-layer EncryptionAES-256-GCMPer-key EncryptionMultiple StoresImport / ExportCLI ToolMIT

Strapi Content Sync Pro On Strapi Marketplace

Copy, migrate and live-sync content, media and data between Strapi environments. It handles the awkward parts of moving a CMS between staging and production: relations that must land in order, media that shouldn't be re-uploaded, and fields that should never cross the boundary at all.

It is published on the official Strapi Marketplace, listed under Content, Data, Database & Migrations and Import & Export, so it installs and updates alongside the rest of a Strapi project's plugins.

Paired & Single-side ModesBi-directional SyncMedia Sync (HTTP & rsync)Field-level PoliciesOn-demand · Scheduled · LiveLarge Dataset PaginationDependency AnalyticsBulk TransferPause / Resume / CancelPersisted HistoryRetention ControlsAlerts & LoggingAPI Tokens & HMAC-SHA256AGPL 3.0 + Commercial
$ npm install strapi-content-sync-pro

Two-Factor Auth Pro for Strapi New

Strapi ships no second factor for its admin panel. This plugin adds one: TOTP codes from any authenticator app, asked for after the password, with Strapi's own login handler still issuing the session, so nothing about how Strapi signs people in is replaced, only guarded. The same second factor can protect website accounts on users-permissions, including sign-in through an SSO provider.

Administrators set the policy from Settings (optional, required, or required for chosen roles, with a grace period), and a coverage table shows who is actually protected rather than who was asked to be. Administrators who lose their phone are reset from the admin panel (website accounts too from 0.7.0, which is on GitHub and not yet on npm), and one button ends every other admin session at once.

$ npm install strapi-admin-2fa-pro
Admin Panel & Users-PermissionsTOTP · RFC 6238QR Enrolment10 Hashed Recovery CodesRole-based Policy & Grace PeriodSSO Sign-in GatedPer-account LockoutAES-256-GCM SecretsOpt-in Hosted Account PagesAGPL 3.0 + Commercial

Strapi Provider Upload WebDAV

A WebDAV upload provider for Strapi v5. Point the media library at any WebDAV-capable storage (a NAS, a shared host, a self-managed box) instead of an object-store bucket you'd rather not pay for or depend on.

$ npm install strapi-provider-upload-webdav
Strapi v5WebDAVSelf-hosted StorageMIT

Strapi Remote Backup Pro In development

Back up and restore a Strapi instance remotely, without installing a plugin in it. Every other Strapi backup tool is a plugin, which means adding a dependency to a live CMS and redeploying it. This one authenticates against the same admin API the Strapi admin panel itself uses, so there is nothing to install, nothing to redeploy, and nothing running inside your production process.

The engine and its CLI work today: backing up a live Strapi v5 instance and restoring into another runs end to end, proved by a round-trip test against two live instances. The desktop app for Windows, macOS and Linux is designed and skeletoned but not yet implemented, and of the eight delivery destinations only the local one is wired up so far.

No Plugin InstalledStrapi v5 Proved · v4 WrittenCLI Today · Desktop NextContent · Media · SchemasRelation-depth RestoreReviewable Restore DiffLocal Destination TodayS3 · Azure · Drive · SFTP PlannedRetention built · Scheduling plannedAES-256-GCM ArchivesDocumented FormatMIT
$ npx strapi-remote-backup-pro backup
Open-source platforms

Not just utilities: whole products

Five of our platforms are open source in full, licence and all, and several pieces of the Rutba estate are published as repositories of their own.

Actively developed

Rutba Suite

The next generation of our business software, sold as SaaS on rutba.io. Pieces of the estate are published in their own right: Rutba MTA, Rutba Media FileServer and Rutba Native Apps each have a public repository. The core engine, the app groups and the control plane are not published while we settle how the suite is licensed. Actively developed

Archived

Rutba ERP

The first generation, kept online as an archive: 22 Next.js applications on a shared API covering point of sale, inventory, manufacturing, orders, marketplace, helpdesk, HR, payroll and accounting. MIT, and yours to run yourself. New work happens in Rutba Suite. Archived

Actively developed

Rutba Office

A complete desktop office suite given away, in open beta: nine applications in one installer on eighteen engine packages. Among them are OOXML, a spreadsheet calculation engine, a .pptx renderer, a dependency-free PDF writer and a mail library that reads Outlook .pst and .ost in full, with calendar, contacts and proofing engines beside them. 2,213 engine tests at v1.43.0, none failing. AGPL 3.0, with commercial licensing available. Actively developed

Actively developed

Rutba Media FileServer

A masters-only media origin with on-demand resizing and LRU caching, plus an optional digital asset platform: index, versions, collections, MFA, WebDAV and AI enrichment. AGPL 3.0, with commercial licensing available. Actively developed

Actively developed

Rutba MTA

Multi-tenant email relay middleware with reputation-based pacing, suppression management, bounce capture and signed webhooks. AGPL 3.0, with commercial licensing available. Actively developed

Actively developed

pgrecon

Oracle-to-PostgreSQL migration reconnaissance: a read-only extraction script, grammar-based PL/SQL parsing, 80 rules with evidence and remedies, an effort estimate in person-days, and a converter that emits PostgreSQL DDL for what it can prove. Apache 2.0. Actively developed

More repositories

Also on GitHub

The published estate repositories, plus the smaller tools and plugins (some on a registry, some still repository-only). All open to read, fork and use.

The Rutba estate: the published repositories

Rutba

The workspace root: the design record, the repo map and the guardrail hooks

Rutba Native Apps

Windows desktop shells for POS, Mail and Studio, over the offline sync framework · AGPL 3.0 + commercial

Rutba MTA & Rutba Media FileServer

The two workers that are whole products in their own right, each with its own repository and history

Tools & plugins

Strapi Permission Manager Pro

The earlier Strapi permissions plugin, since succeeded by API Guard Pro · MIT

Strapi API Guard Pro

Record- and field-level access rules for the Strapi API: tenant isolation, ownership filters, response field stripping, observe before enforce · alpha

Strapi To Strapi Data Sync

The earlier Strapi-to-Strapi sync plugin, since succeeded by Content Sync Pro · MIT

Strapi Remote Backup Pro

Agentless backup and restore for Strapi · in development

Because the alternative is rewriting it

Every one of these packages started as internal code. A keystore because credentials were sitting in config files. A sync plugin because staging and production kept drifting. A media server because pre-generating six variants per image was costing more disk than the business justified. A migration assessor because every Oracle project we joined had already committed to a date before anyone read the PL/SQL. A remote backup tool because clients kept needing their Strapi instance backed up on hosting we had no deploy access to.

Publishing them costs us documentation time and gains us three things: the discipline of writing an interface someone else can use, the scrutiny of people who don't already know how it works, and the certainty that we can still use our own tools if our priorities change.

Small utilities get permissive licences (MIT, or Apache 2.0 where patent grants matter) because a restrictive licence on a keystore helps nobody. Whole products, and the Strapi plugins sold as products in their own right (Content Sync Pro and Two-Factor Auth Pro), are AGPL 3.0 with a commercial licence beside it: free to use and study, paid for only by those who want to ship them closed or host them for others.

Using our packages?

Libraries free for commercial use under MIT / Apache 2.0 · Commercial licences for the AGPL products and plugins · Issues and pull requests welcome on GitHub · Commercial support and custom work available · Happy to talk through an integration before you commit

Contact

Talk to us

Tech Style Ltd is a UK technology company building enterprise software, procurement intelligence and AI platforms. Tell us what you are trying to do and we will tell you honestly whether we are the right people for it.

This document onlinewww.tech-style.co/open-source
Websitewww.tech-style.co
Enquirieshello@tech-style.co
Productswww.tech-style.co/products
Partner programmewww.tech-style.co/partners
This document was generated on request. It is built from the live content of tech-style.co at the moment you downloaded it, so it can never quote a price, a version or a status the site has since moved on from. Request a fresh copy any time at www.tech-style.co/downloads.

Take this away as a PDF

Open Source Pack, typeset when you click, from the content above.