Reconnecting the Dots — Bringing the Community Solution Back to pOS Community Site
Now that the Community Solution has reached a more mature enhancement phase, with clearly defined core flows and engagement mechanics, we’ve started revisiting the original pOS’s own Community Site vision.
Earlier research showed that Partners need a structured space to collaborate on implementations, share real-world learnings, discuss roadmap implications, and build visibility within the ecosystem.
Instead of designing something from scratch, we now have the opportunity to leverage the modular foundation of the Community Solution: topic-based groups, structured support hubs, guided content pathways, lightweight contribution mechanics, and transparent update flows, and apply it directly to the pOS partner context.
Alongside defining the features and overall strategy of the community solution tailored to the needs of the pOS community, on the UI side we:
Established the overall visual style and look & feel of the site by creating brand-aligned graphics using AI, and enhanced the user interface with them
Defined a cohesive pOS color scheme (light and a dark mode) by applying pOS brand colors to the Design system
Iterated on layout structure and responsive behavior to ensure a consistent and usable experience across all devices
We’ve completed Module 4: Publishing, covering the final stage of the Docs as Code workflow — how documentation safely moves from reviewed content to live production.
This lesson focused on understanding the different environments that support safe and structured publishing.
Key topics covered:
What environments are and why they are essential in Docs as Code
The roles of development, staging, and production
Additional safety layers such as QA, UAT, and preview environments
How environments integrate with Git workflows and CI/CD pipelines
Best practices for managing environments effectively
Tools such as GitHub Actions, GitLab CI/CD, Netlify, and DocsKit
The main takeaway: environments create a controlled pipeline that allows documentation to evolve continuously without risking production stability.
This lesson focused on how approved documentation changes become publicly available.
Key topics covered:
What merging means and how pull requests ensure traceability
Best practices for small, focused, well-documented PRs
How automated checks support safe merges
What deployment is and how CI/CD pipelines publish updates
How different branches map to different environments
Coordinating documentation releases with product releases
Practical tooling for automated publishing
The main takeaway: merging and deployment complete the Docs as Code lifecycle, enabling documentation to be published in a structured, repeatable, and low-risk way.
With Module 4 completed, the course now covers the full Docs as Code lifecycle: from writing and reviewing to staging, merging, and production deployment.
To learn more about the most recent updates, enhancements and fixes in platformOS, check out our latest release note: platformOS Release Note 11 December, 2025 — Better AI Agents support through .md format, New `high_performance_sql_filtering` config flag, fixes and improvements
NEW
added a new flag to app/config.yml - high_performance_sql_filtering. If enabled, filtering on properties will use more efficient SQL queries behind the scenes. Default is false to maintain backward compatibility, but enabling it can lead to significant performance improvements for applications that heavily utilize property filtering. The optimization and backwards incompatibility is caused by removing extra casting to text, which in many scenarios is not necessary and prevents a default index on the column from being used.
added support for .md format - if a Page uses markdown converter, the content can now be accessible through /:slug.md endpoint instead of a html one. The md is the preferred format for AI agents that consume content from Pages, as it is easier to parse and process compared to HTML.
FIXED
Enforce uniqueness validation for Page slug attribute in admin_page_* GraphQL mutations.
IMPROVED
Added syntax field to platformOS Liquid Tags that will be used by LSP servers to provide better code completion
Check out the pos-cli release notes as well:
Breaking: pos-cli modules download command has been removed. Use pos-cli modules install instead. The --force-dependencies flag is not carried over; install/update always downloads all dependencies.
Improvement: pos-cli modules install now always downloads module files and all dependencies after updating the lock file, ensuring source code is always in sync with the manifest.
Improvement: pos-cli modules update now always downloads updated module files and all dependencies after updating the lock file.
Feature: pos-cli mcp — MCP (Model Context Protocol) server exposing 30+ platformOS tools over stdio and HTTP/SSE transports. Enables AI clients (Claude, Cursor, etc.) to interact with platformOS instances directly.
Feature: pos-cli mcp-config — display and inspect the MCP server tool configuration (which tools are enabled/disabled). Supports --json for raw output. Configurable via MCP_TOOLS_CONFIG env var.
Feature: pos-cli check init [path] — generate a .platformos-check.yml configuration file for the Liquid code quality checker.
Feature: pos-cli check run [path] — run the platformos-check Node.js linter on Liquid/JSON files. Supports -a (auto-fix), -f json (JSON output), -s (silent). No Ruby required.
Feature: pos-cli lsp — start the platformOS Language Server Protocol server for Liquid, GraphQL, and JSON files. Provides autocompletion, diagnostics, hover docs, and go-to-definition in LSP-compatible editors.
Feature: pos-cli fetch-logs [environment] — fetch recent logs as NDJSON (newline-delimited JSON), designed for machine consumption and used internally by the MCP server. Supports --last-log-id for incremental polling.
Chore: replaced archiver with yazl for zip archive creation.
Chore: upgraded commander to v14.
Feature: pos-cli exec liquid command to execute Liquid code directly on an instance (supports -f flag to load from file, requires confirmation on production)
Feature: pos-cli exec graphql command to execute GraphQL queries directly on an instance (supports -f flag to load from file, requires confirmation on production)
Feature: pos-cli test run command to run tests using the tests module
Feature: pos-cli sync -f
Improvement: Enhanced error handling for pos-cli env add with clearer messages when instance is not registered in Partner Portal
Improvement: Better error messages for sync validation errors (422 responses) with detailed error descriptions
Improvement: Added graceful shutdown handling for sync mode to properly cleanup watchers and LiveReload servers
Improvement: Improved browser opening error handling with better error messages for failed attempts
Improvement: Enhanced refresh token error handling during authentication flows
Improvement: Added test coverage measurement capability
Improvement: Updated ESLint configuration and fixed linting errors across the codebase
Major Modernization and Dependency Upgrades
We've completed a comprehensive modernization of the CLI including:
Node.js Version Requirement: Now requires Node.js 22 or higher (up from Node.js 18)
Technical Improvements:
CommonJS to ESM Migration: Entire codebase migrated from CommonJS (require/module.exports) to ES Modules (import/export)
Better tree-shaking and bundle optimization
Native ESM support throughout the codebase
Improved compatibility with modern Node.js ecosystem
Test Framework Migration: Migrated from Jest to Vitest
Better ESM support and faster test execution
Improved watch mode and test coverage reporting
Maintains all existing test functionality with enhanced performance
Deprecation Warnings Removed: All deprecation warnings across dependencies have been resolved for a cleaner development experience
Code Quality Improvements: Updated ESLint configuration, fixed linting issues, and improved error handling patterns throughout
Breaking Changes that may require action from users:
Yeoman generators: If you have custom generators using yeoman-generator, they need to be rewritten for the v7.x update:
No kebab-case in option names (e.g., skip-install → skipInstall)
composeWith() is now async (use await)
The install() action has been removed; use addDependencies() instead
Express v5 route syntax: Routes using wildcards have changed from /* to /*splat format. This is handled automatically, but if you have custom Express middleware in your project, you may need to update route patterns.
Package Upgrades: All major dependencies have been updated to their latest stable versions including:
chalk v5.6, chokidar v5.0, express v5.2, ora v9.0, open v11.0
inquirer v13.2, mime v4.1, multer v2.0, yeoman-environment v5.1, yeoman-generator v7.5
And many other dependency updates for security and stability
Subscribe: get status reports in email
Ensure your project’s success with the power of platformOS.