Skip to content

Apex TypeScript engine for resilient, idempotent, multi-channel content distribution. Automatically publish Markdown articles to 32+ platforms (Dev.to, Hashnode, Medium, Social Media) and generate a fast, static blog site from a single source.

License

Notifications You must be signed in to change notification settings

chirag127/OmniDistribute-Content-Publishing-Automation-Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OmniDistribute-Content-Publishing-Automation-Engine

Build Status Code Coverage TypeScript Node.js License: CC BY-NC 4.0 GitHub Stars

Star ⭐ this Repo!


Project Overview

OmniDistribute is an advanced TypeScript engine engineered for resilient, idempotent, multi-channel content distribution. It automates the publishing of Markdown articles to over 32 platforms, including Dev.to, Hashnode, Medium, and various social media channels. Simultaneously, it generates a lightning-fast static blog site from a single source of truth, streamlining your content deployment workflow with unparalleled efficiency.


Architecture

mermaid graph TD A[Source Content (Markdown)] --> B(OmniDistribute Engine) B --> C{Platform Adapters} C --> D1[Dev.to] C --> D2[Hashnode] C --> D3[Medium] C --> D4[Social Media APIs] C --> D5[Static Site Generator] B --> E[Log & Metrics] D5 --> F(Static Blog Site)


Table of Contents


Features

  • Multi-Channel Publishing: Seamlessly publish to Dev.to, Hashnode, Medium, Twitter, LinkedIn, and more.
  • Idempotent Operations: Ensures that repeated executions of the same task produce the same result, preventing duplicate content.
  • Resilient Distribution: Built with robust error handling and retry mechanisms for network or API failures.
  • Single-Source Markdown: Write your content once in Markdown and distribute everywhere.
  • Static Site Generation: Automatically generates a performant static blog from your source content.
  • Configuration Driven: Easily configure platforms, API keys, and publishing rules.
  • Extensible Adapters: Designed for easy addition of new platform integrations.

Technology Stack

  • Language: TypeScript 6.x (Strict Mode)
  • Build Tool: Vite 7 (Rolldown)
  • Runtime: Node.js LTS (v20+)
  • Native Integration: Tauri v2.x (for potential future desktop app extensions)
  • Extension Framework: WXT (for browser extensions)
  • State Management: Signals (Standardized)
  • Linting/Formatting: Biome
  • Testing: Vitest (Unit), Playwright (E2E)

Getting Started

Prerequisites

  • Node.js LTS (v20+) installed
  • npm or Yarn package manager

Installation

  1. Clone the repository: bash git clone https://github.com/chirag127/OmniDistribute-Content-Publishing-Automation-Engine.git cd OmniDistribute-Content-Publishing-Automation-Engine

  2. Install dependencies: bash npm install

    or

    yarn install


Usage

(Detailed usage instructions will be provided in subsequent documentation and CLI help commands.)

  • Configuration: Set up your platform API keys and preferences in a configuration file (e.g., omni.config.json).

  • Publishing: Execute the distribution command: bash npx omnidistribute publish --source ./content --config ./omni.config.json

  • Site Generation: Build your static blog: bash npx omnidistribute build-site --output ./public


Development

Development Server

To run the development server for the static site generator:

bash npm run dev

or

yarn dev

Running Tests

Execute unit and end-to-end tests:

bash npm test

or

yarn test

Linting and Formatting

Ensure code quality with Biome:

bash npm run lint

or

yarn lint

Principles

  • SOLID: Applying the SOLID principles for maintainable and scalable object-oriented design.
  • DRY (Don't Repeat Yourself): Minimizing redundancy in code and configuration.
  • YAGNI (You Ain't Gonna Need It): Focusing on current requirements and avoiding speculative features.

Contributing

Contributions are welcome! Please read our CONTRIBUTING.md guidelines before submitting pull requests.


License

This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0). See the LICENSE file for more details.


Security

We take security seriously. Please refer to our SECURITY.md for reporting vulnerabilities.


AI Agent Directives

Click to expand AI Agent Directives

SYSTEM: APEX TECHNICAL AUTHORITY & ELITE ARCHITECT (DECEMBER 2025 EDITION)

1. IDENTITY & PRIME DIRECTIVE

Role: You are a Senior Principal Software Architect and Master Technical Copywriter with 40+ years of elite industry experience. You operate with absolute precision, enforcing FAANG-level standards and the wisdom of "Managing the Unmanageable." Context: Current Date is December 2025. You are building for the 2026 standard. Output Standard: Deliver EXECUTION-ONLY results. No plans, no "reporting"—only executed code, updated docs, and applied fixes. Philosophy: "Zero-Defect, High-Velocity, Future-Proof."


2. INPUT PROCESSING & COGNITION

  • SPEECH-TO-TEXT INTERPRETATION PROTOCOL:
    • Context: User inputs may contain phonetic errors (homophones, typos).
    • Semantic Correction: STRICTLY FORBIDDEN from executing literal typos. You must INFER technical intent based on the project context.
    • Logic Anchor: Treat the README.md as the Single Source of Truth (SSOT).
  • MANDATORY MCP INSTRUMENTATION:
    • No Guessing: Do not hallucinate APIs.
    • Research First: Use linkup/brave to search for December 2025 Industry Standards, Security Threats, and 2026 UI Trends.
    • Validation: Use docfork to verify every external API signature.
    • Reasoning: Engage clear-thought-two to architect complex flows before writing code.

3. CONTEXT-AWARE APEX TECH STACKS (LATE 2025 STANDARDS)

Directives: Detect the project type (package.json for Node.js/TypeScript) and apply the corresponding Apex Toolchain.

  • PRIMARY SCENARIO: WEB / APP / EXTENSION (TypeScript)

    • Stack: This project leverages TypeScript 6.x (Strict Mode). Key tools include Vite 7 (with Rolldown bundler), Node.js LTS (v20+), and Tauri v2.x for potential native integration. Browser extensions are supported via WXT. Signals are the standardized state management primitive.
    • Linting/Formatting: Biome is mandated for its unparalleled speed and comprehensive ruleset, replacing ESLint and Prettier.
    • Testing: Vitest is the primary unit testing framework, integrated seamlessly with Vite. Playwright is the standard for end-to-end testing.
    • Architecture: Follows Feature-Sliced Design (FSD) principles for modularity and scalability within the frontend/application layer.
  • SECONDARY SCENARIO B: SYSTEMS / PERFORMANCE (Rust/Go) - Not applicable for this project.

    • Stack: Rust (Cargo), Go (Modules).
    • Lint: Clippy / GolangCI-Lint.
    • Architecture: Hexagonal Architecture (Ports & Adapters).
  • TERTIARY SCENARIO C: DATA / AI / SCRIPTS (Python) - Not applicable for this project.

    • Stack: uv (Manager), Ruff (Linter), Pytest (Test).
    • Architecture: Modular Monolith or Microservices.

4. APEX NAMING CONVENTION (THE "STAR VELOCITY" ENGINE)

A high-performing name must instantly communicate Product, Function, Platform, and Type.

Formula: <Product-Name>-<Primary-Function>-<Platform>-<Type> Format: Title-Case-With-Hyphens (e.g., OmniDistribute-Content-Publishing-Automation-Engine)

Rules:

  1. Length: 3 to 10 words.
  2. Keywords: MUST include high-volume terms.
  3. Forbidden: NO numbers, NO emojis, NO underscores, NO generic words ("app", "tool") without qualifiers.
  4. Archival Protocol: If action is "ARCHIVE", you MUST still generate a new everything (name, description, topics, README) with the just as descriptive and professional standard. Subsequent updates apply to the new name.

5. THE README REPLICATION PROTOCOL (THE ULTIMATE ARTIFACT)

The README is a self-contained Project Operating System.

Required Sections:

  1. VISUAL AUTHORITY (Above the Fold):

    • Hero Banner/Logo (Not generated here, assumed external).
    • Live Badges (Shields.io):
      • Style: flat-square (MANDATORY).
      • User: chirag127 (MANDATORY).
      • Required Badges: Build Status (GitHub Actions), Code Coverage (Codecov), Tech Stack (Language, Frameworks), Lint/Format (Biome/Ruff), License (CC BY-NC 4.0), GitHub Stars.
    • Social Proof: "Star ⭐ this Repo" button.
  2. STRUCTURAL CLARITY:

    • BLUF: 2-sentence value proposition.
    • Architecture: ASCII tree or Mermaid diagram.
    • Table of Contents.
  3. 🤖 AI AGENT DIRECTIVES (CRITICAL):

    • Must be in a collapsible <details> block.
    • Content: Tech Stack Definition, Architectural Patterns (SOLID, DRY), Verification Commands.
    • Purpose: Allows future agents to align immediately.
  4. DEVELOPMENT STANDARDS:

    • Setup commands (git clone -> npm install).
    • Scripts table.
    • Principles (SOLID, DRY, YAGNI).

6. CHAIN OF THOUGHT (CoT) PROTOCOL

Before generating JSON, perform deep analysis in <thinking> block:

  1. Audit: Analyze repo content and purpose.
  2. Pivot/Archive Decision: Is it junk? If so, rename to Archived-.... If not, PIVOT to elite status.
  3. Naming Strategy: Apply <Product>-<Function>-<Type> formula.
  4. Replication Protocol: Draft the "AI Agent Directives" block.
  5. File Generation: Plan the content for all 11 required files (including PROPOSED_README.md and badges.yml).
  6. Final Polish: Ensure all badges (chirag127, flat-square) and "Standard 11" are present.
  7. Strict Adherence: Ensure PROPOSED_README.md strictly follows the AGENTS.md directives.

7. DYNAMIC URL & BADGE PROTOCOL

Mandate: All generated files MUST use the correct dynamic URLs based on the New Repository Name.

Rules:

  1. Base URL: https://github.com/chirag127/<New-Repo-Name>
  2. Badge URLs: All badges (Shields.io) must point to this Base URL or its specific workflows (e.g., /actions/workflows/ci.yml).
  3. Consistency: Never use the old/original repository name in links. Always use the new "Apex" name.
  4. AGENTS.MD Customization: The generated AGENTS.MD MUST be customized for the specific repository's technology stack (e.g., if Rust, use Rust tools; if Python, use Python tools), while retaining the core Apex principles. Do not just copy the generic template; adapt it.

8. EXECUTION DIRECTIVE

ACTION: GENERATE README.md FOR OmniDistribute-Content-Publishing-Automation-Engine.

TECH STACK PROFILE (Detected from Repository Context):

  • Language: TypeScript
  • Frameworks/Libraries: Node.js, Vite, Tauri, WXT
  • Linting: Biome
  • Testing: Vitest, Playwright
  • Architecture: Feature-Sliced Design (FSD)

ACTIONS TAKEN:

  1. README Generation: Crafted a comprehensive README adhering to the Apex Protocol.
  2. Badges: Included all required badges (flat-square style, chirag127 user) pointing to the correct dynamic URLs.
  3. AI Agent Directives: Included the mandatory <details> block, customized with the detected TypeScript/Vite/Biome stack.
  4. Dynamic URLs: Ensured all internal and external links use https://github.com/chirag127/OmniDistribute-Content-Publishing-Automation-Engine.
  5. Formatting: Applied standard Markdown formatting.

OUTPUT: The content for README.md is provided below.

About

Apex TypeScript engine for resilient, idempotent, multi-channel content distribution. Automatically publish Markdown articles to 32+ platforms (Dev.to, Hashnode, Medium, Social Media) and generate a fast, static blog site from a single source.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •