GITHUB TREASURE HUNT · OUTSYSTEMS ECOSYSTEMOutSystems GitHub TreasuresEvery public repo touching OutSystems, code-read and graded. Search semantically (bge-large retrieval + cross-encoder reranking) or filter, and open the gems.
271 gems459 useful261 techniques100 reference2071 discarded
Any verdict
gem
useful
technique
reference
Any category
ai-mcp-llm
api-sdk-wrappers
data-integration-connectors
developer-productivity
extensions-integration-studio
lifetime-devops-cicd
migration-modernization
mobile-plugins
odc-tooling
oml-fileformat-reverse
other-adjacent
platform-admin-selfhosted
reference-samples-architecture
security-tooling
testing-quality
ui-frontend-components
Any quality
3+
4+
5

24 results

The Embedded Chromium Control
★★★★★gem
OutSystems/WebViewOutSystems' official Avalonia/WPF control wrapping CefGlue — embeds Chromium in .NET desktop apps with strongly-typed JS evaluation, custom resource handlers, and cross-platform (Win/macOS/Linux) support.Technique: Cross-platform desktop UI code sharing via partial classes: define `partial class ChromiumBrowser` with the shared surface, then one file per target framework (ChromiumBrowser.Wpf.cs : WpfCefBrowser, ChromiumBrowser.Avalonia.cs : AvaloniaCefBrowser) supplying the platform-specific base class and overrides — avoids #if platform conditionals entirely.
cefgluechromium-embeddingwpfavaloniadotnet-desktopofficial-outsystems
C# · ★ 593 · reference-samples-architecture
The CEF .NET Binding
★★★★★gem
OutSystems/CefGlueOutSystems-maintained full .NET binding for the Chromium Embedded Framework (CEF), including the Python-based code generator that auto-derives the C# P/Invoke interop layer straight from CEF's C++ headers.Technique: Auto-generate typed native bindings from upstream C headers instead of hand-writing them: parse the vendor's public .h files into an AST/schema (cef_parser.py + schema_cef3.py), then run a template-driven emitter (make_interop.py) over that schema to produce the hundreds of thin C# wrapper/proxy classes (*.g.cs) — keeps the binding in sync across CEF version bumps with a scripted regen instead of manual diffing.
cefchromiuminterop-codegenpython-toolingdotnetofficial-outsystems
C# · ★ 451 · reference-samples-architecture
The Mendix MDL Bridge
★★★★★gem
mendixlabs/mxcliA Go CLI + MCP server that lets AI coding agents (Claude Code, Copilot, Cursor, etc.) read and safely mutate binary Mendix .mpr project files through a purpose-built SQL-like textual DSL called MDL, plus a metadata catalog, a Starlark-scriptable linter, a REPL, and a VS Code extension - all Mendix's answer to exactly the OML-tooling-for-AI-agents problem an OutSystems ecosystem builder would want solved.Technique: Core bridging technique: define a terse SQL/Ada-like textual DSL (MDL) that is 5-10x denser than raw model JSON; the agent emits one MDL script, and a deterministic compiler layer fans it out into the many low-level document mutations / MCP calls a real model change requires (README: 'Design principles' section) - directly reusable pattern for any 'let an LLM edit a proprietary binary project format' tool.
mendixlow-codeai-agentmcpdsldevcontainer
Go · ★ 103 · oml-fileformat-reverse
The Pattern Vault
★★★★★gem
OutSystems/outsystems-uiThe actual, current (v2.30.0) source of the OutSystems UI framework - 70+ UI patterns (Carousel, Dropdown, DatePicker, Tabs, Sidebar, RangeSlider, Wizard, BottomSheet, etc.) and screen-template SCSS shipped in every O11/ODC Forge 'OutSystems UI' component, for both Reactive Web and Native Mobile.Technique: Three-layer public/internal split: `OSFramework/OSUI/Pattern/*` holds internal AbstractPattern/AbstractProviderPattern/AbstractConfiguration base classes plus per-pattern Config/Enum/Callbacks/IFoo interfaces (never called directly); `OutSystems/OSUI/Patterns/*API.ts` is the only public surface, exposing flat functions like `Create`, `ChangeProperty`, `Dispose` that Service Studio-generated screens call by pattern ID; `Providers/OSUI/<Pattern>/<Library>/*` wraps a specific third-party library (e.g. AbstractFlatpickr.ts / FlatpickrSingleDate.ts / FlatpickrRangeDate.ts) behind the same AbstractProviderPattern contract, so patterns can swap their underlying library without changing the public API. Cross-cutting concerns (focus trap, RTL/lang MutationObservers, gesture/swipe events, floating-position calc) live in OSFramework/Behaviors and Event/*Observers as reusable, framework-agnostic helper classes.
outsystems-uiui-patternstypescriptscssforge-componento11
TypeScript · ★ 73 · ui-frontend-components
The LifeTime Conductor
★★★★★gem
OutSystems/outsystems-pipelineOfficial OutSystems Python package (PyPI: outsystems-pipeline) wrapping the LifeTime REST API end-to-end: fetch app/environment data, generate deployment manifests, start/continue/monitor deployments, tag apps, run CI-driven BDD/regression tests, and even air-gapped deployment via OSPTool -- with ready-made Jenkins and Azure DevOps pipeline templates.Technique: REST client hardening pattern: wrap every LifeTime endpoint call in a status-code dispatch table mapping each documented HTTP code to a purpose-built exception subclass (NoDeploymentsError, InvalidParametersError, NotEnoughPermissionsError, ImpossibleApplyActionDeploymentError, etc.) defined one-per-file under exceptions/, rather than letting callers deal with raw status codes. Deployment-manifest technique: resolve and persist exact {app version key, environment key, deployment zone key} tuples once against a source environment, then replay that literal manifest through every downstream environment so promotion is deterministic instead of re-querying 'latest tag' at each stage (functions generate_manifest_app_info / generate_manifest_env_info + deploy via manifest instead of via tag).
lifetimerest-api-clientci-cdjenkinsazure-devopsdeployment-manifest
Python · ★ 49 · lifetime-devops-cicd
The React-in-.NET Host
★★★★★gem
OutSystems/ReactViewOutSystems framework for building React.js UIs hosted inside Avalonia/WPF .NET desktop apps, with a companion 'ViewGenerator' tool that auto-generates strongly-typed C# proxy classes straight from TypeScript component declarations.Technique: Type-safe native-shell <-> embedded-web-view binding via naming convention + codegen: author paired TypeScript interfaces `I<Name>Properties` (C#-to-view: events and getters, methods can return void or Promise<T>) and `I<Name>Behaviors` (view-to-C#: void-only methods) on a React component; a build-time generator (ViewGeneratorCore/tools/src/ViewGenerator.ts) reads these declarations and emits matching strongly-typed C# proxy classes — eliminates hand-written JSON-stringify/parse marshalling glue between .NET and embedded JS.
reactavaloniawpfcodegentypescript-to-csharphybrid-desktop-ui
C# · ★ 37 · reference-samples-architecture
The On-Prem Installer's Grimoire
★★★★★gem
OutSystems/OutSystems.SetupToolsMature, PowerShell-Gallery-published PowerShell module for fully scripting an on-prem OutSystems 11 Platform Server installation end-to-end: prereqs, IIS/firewall/perf tuning, Service Studio/Integration Studio install, and programmatic module/solution publishing via Service Center's legacy SOAP/REST APIs.Technique: Lib/ServiceCenterWebServices.ps1 shows two generations of the same trick: (1) `New-WebServiceProxy -Uri http://$SCHost/ServiceCenter/PlatformServices_v8_0_0.asmx?WSDL` (and Solutions.asmx / OutSystemsPlatform.asmx) to get a native .NET SOAP client for Service Center's legacy web services (Applications_Get, Modules_Get, Module_GetVersions, SolutionPack_PublishWith2StepOption/GetPublicationMessages/PublishContinue/PublishAbort), authenticated by passing a hashed password (`GetHashedPassword`) as the SOAP password argument; (2) `Invoke-RestMethod` against `http://$SCHost/ServiceCenter/rest/PlatformServices/Staging_PublishWith2StepOption` with HTTP Basic auth built from the same hashed-password scheme, for the newer REST-style staging publish flow. Also notable: AppInsightsSendEvent/SendModuleLoadEvent/SendFunctionStartEvent in Lib/Common.ps1 show a lightweight opt-out-able telemetry pattern (module load + per-function start/end events) bolted onto a PowerShell module via Application Insights.
powershellon-premplatform-serverunattended-installservice-centersoap-api
PowerShell · ★ 21 · platform-admin-selfhosted
The Private Tunnel
★★★★★gem
OutSystems/cloud-connectorOfficial, actively-maintained (releases as recent as this week) Go CLI (`outsystemscc`) that runs on a customer's private network and opens a secure reverse tunnel to an ODC Private Gateway, letting ODC apps reach on-prem/private services (internal REST APIs, SMTP, DBs, SMB) with zero inbound firewall rules.Technique: Thin-wrapper-over-a-proven-library pattern: instead of reimplementing WebSocket/SSH tunneling, fork chisel (github.com/outsystems/chisel via a go.mod replace directive) and add only the OutSystems-specific bits (URL redirect resolution with resty, remote-string validation rejecting duplicate local ports, token-as-header auth, PID file, custom flag.Value for repeatable --header flags).
odcprivate-gatewaytunnelchiselgolangself-hosted
Go · ★ 19 · platform-admin-selfhosted
The Agent Gateway
★★★★★gem
OutSystems/outsystems-mcpOfficial distribution repo for the OutSystems remote MCP server integration (Claude Code plugin, Claude Desktop config, Kiro Power) -- ships the actual SKILL.md/POWER.md agent-facing instruction docs that define tool conventions, auth flow, mentor session protocol, and error taxonomy for driving OutSystems from any MCP-capable AI assistant.Technique: Cursor-paged, poll-with-backoff pattern for long-running AI-agent-editing sessions: start returns a session/run id + signed resume token; poll immediately while a cursor is still advancing (batched events), back off only once drained and non-terminal (~30s for mentor, 5-15s for publish/deploy/extlib); a failed/cancelled run still returns a fresh resume token in the error payload so you continue the same session rather than burning a new per-tenant slot.
mcpai-agentclaude-code-pluginkiro-poweroauthmentor
★ 19 · ai-mcp-llm
The Observability Accelerator
★★★★★gem
OutSystems/outsystems-elastic-integrationOfficial OutSystems Professional Services accelerator: Elasticsearch ILM policies/index templates/transforms + Logstash pipelines + Kibana dashboards, purpose-built to ingest and visualize OutSystems platform monitoring data (logs, request events, perf counters).Technique: Three pluggable extraction strategies for the same OutSystems log data (direct SQL Server/Oracle JDBC pull from oslog_* tables vs MonitorProbe Forge REST API vs flat CSV) selected purely by swapping which Logstash pipeline folder is mounted -- a clean pattern for building environment-agnostic monitoring ETL. Also documents concrete OutSystems performance metrics worth tracking (SAT, query/integration/extension execution time, session/viewstate size).
elasticsearchlogstashkibanamonitoringmonitorprobeoslog
Shell · ★ 16 · platform-admin-selfhosted
The Grid Blueprint
★★★★★gem
OutSystems/outsystems-datagridOfficial, actively-maintained OutSystems Data Grid (Reactive Web) source: TypeScript OSFramework/Providers abstraction over Wijmo FlexGrid plus a .NET Integration Studio extension for entity-to-JSON metadata conversion.Technique: Provider-abstraction architecture: OSFramework/<Domain>/{Grid,Column,Feature,Event}/I*.ts interfaces + AbstractGrid/AbstractColumn base classes with zero imports from Providers/*; Providers/<Vendor>/* implements the interfaces; a Factory (GridFactory.MakeGrid) in the orchestration layer chooses the concrete provider. Compiles via tsconfig 'outFile' to one AMD bundle so OutSystems can load a single script resource. Also: azure-pipelines.yml step that base64-encodes dist/GridFramework.js and styles/Grid.css and POSTs to '$(updaterUrl)' with Bearer auth to hot-publish into an OutSystems module's web-block resources.
reactive-webweb-blockwijmodatagridtypescriptintegration-studio-extension
TypeScript · ★ 13 · ui-frontend-components
The ODC Codex
★★★★★gem
OutSystems/docs-odcThe official, current Markdown source repository for the OutSystems Developer Cloud (ODC) documentation (900+ docs pages, full error-code catalog, images) -- the canonical source-of-truth behind success.outsystems.com/documentation/outsystems_developer_cloud.Technique: The repo's own CLAUDE.md is a well-designed example of a documentation-repo AI contract: it defers to repo-local source-of-truth config files (toc.yml, config.yml, frontmatter.json) instead of hardcoding rules, bans em-dashes with a decision tree of replacements, and ships parallel .claude/.cursor/.github skill folders (each with the same validate-screenshots/requirements.txt) so multiple AI coding assistants get identical doc-QA tooling.
odcdocumentationexternal-logic-sdkerror-codesclaude-mdvale
Python · ★ 13 · reference-samples-architecture
The Field Medic
★★★★★gem
OutSystems/techsupp-osdiagtoolOutSystems Support's own open-source Windows diagnostic tool (WinForms + CLI) that collects IIS config, Windows Event Log entries, perf counters, live .NET thread dumps, and Platform-DB integrity checks (SQL Server/Oracle) into a single support bundle.Technique: Live (non-invasive) .NET thread-dump collection without a full memory dump: ThreadDumpCollector.cs uses Microsoft.Diagnostics.Runtime (ClrMD) to DataTarget.AttachToProcess(pid, timeout, AttachFlag.Passive), enumerate runtime.Threads, and walk EnumerateStackTrace() per thread -- capped at 200 frames with a [CORRUPTED] guard for unwalkable stacks. This is a clean, reusable pattern for building your own "is this IIS worker process hung" diagnostic without procdump/WinDbg, using just a NuGet package (Microsoft.Diagnostics.Runtime) and attach-mode ClrMD.
diagnosticsclrmdthread-dumpiisplatform-db-integritysupport-tool
C# · ★ 12 · platform-admin-selfhosted
The Capacitor InAppBrowser (Official)
★★★★★gem
ionic-team/capacitor-os-inappbrowserThe actual '@capacitor/inappbrowser' plugin (npm package, author field literally 'Outsystems') used by OutSystems Mobile Apps built on Capacitor: three ways to open a URL (embedded WebView, native system browser via Custom Tabs/SFSafariViewController, or the device's external browser), backed by OutSystems' own native libraries.Technique: Cross-repo native/wrapper split pattern for Capacitor plugins: keep the Capacitor-facing package (definitions.ts/web.ts/index.ts + minimal native shims) thin and version-pin the real native implementation as an external dependency (SPM package + Maven artifact) maintained in its own repo -- lets the native SDK ship its own release cadence/tests independent of the Capacitor wrapper's semantic-release versioning. Also notable: default-on WebView process isolation (separate Android process + data-directory suffix) as the safe default for any embedded-browser feature that must not leak cookies/localStorage into the host app, with an explicit opt-out flag for apps that need shared session state.
capacitormabsinappbrowseroutsystems-mobilewebview-isolationcustom-tabs
TypeScript · ★ 12 · mobile-plugins
The Cartographer
★★★★★gem
OutSystems/outsystems-mapsOfficial, actively-maintained source of the OutSystems Maps Forge/OutSystems-native component: a TypeScript library compiled to a single AMD module that exposes a unified map API to Reactive Web apps, abstracting Google Maps and Leaflet/OpenStreetMap behind a shared OSFramework provider layer.Technique: Five explicit architectural tenets (documented with file/class evidence in ARCHITECTURE.md) for building a provider-swappable OutSystems widget: (T1) isolate all provider-specific code behind a generic AbstractMap<T> + Factory, referenced only from one Factory.ts; (T2) public API methods always return framework interfaces (IMap, IMarker), never concrete provider classes; (T3) the framework layer -- not the provider -- owns component lifecycle/parent-child relationships via IBuilder/IDisposable contracts; (T4) all OutSystems-friendly config (JSON strings, integer enums) is transformed to native provider config only at the boundary via getProviderConfig(); (T5) all events are normalized through AbstractEventsManager so user callbacks never see provider-native event objects.
forge-componenttypescriptosframeworkgoogle-mapsleafletprovider-abstraction
JavaScript · ★ 10 · ui-frontend-components
The Shutter Fork
★★★★★gem
OutSystems/cordova-plugin-cameraOutSystems' actively-maintained fork of Apache cordova-plugin-camera (v4.2.0-OS63) with a proprietary compiled Swift native library (OSCameraLib.xcframework), a modern Kotlin/AndroidX CameraLauncher, and a Capacitor post-update hook that patches the host app's root build.gradle to add OutSystems' private Azure Artifacts Maven feed.Technique: capacitor_hooks/insert_azure_repository.js: reads process.env.CAPACITOR_PLATFORM_NAME / CAPACITOR_ROOT_DIR, locates the 'allprojects { repositories { ... } }' block in android/build.gradle by counting braces from the 'repositories {' index, and inserts a maven{url "...azure feed..."} block just before the closing brace (appended last so Gradle only consults it as a fallback, avoiding build slowdown) -- wired up via package.json's "capacitor:update:after" script, which Capacitor auto-runs after `cap update`.
cordovacapacitormabsazure-artifactsgradle-hookkotlin
JavaScript · ★ 7 · mobile-plugins
The Postgres Bridge
★★★★★gem
ardoric/ardoPostgreSQLA complete, real-world implementation of a custom OutSystems Platform Database Connector for PostgreSQL (plus a bonus Amazon Redshift variant), built against the official (Limited-Availability, approval-gated) 'Database Connector SDK' for BOTH the .NET/HubEdition on-prem platform and the J2EE/Wildfly/JBoss edition.Technique: OutSystems on-prem Database Connector SDK architecture: implement IDatabaseProvider (identity/key + factory methods for IDatabaseServices/IIntegrationDatabaseConfiguration) and plug it into the platform via a provider-discovery mechanism that differs by stack -- .NET: drop a '*DatabaseProvider*.dll' into the platform's plugins/database folder, discovered by DatabasePluginProvider<T> (a generic AbstractPluginProvider subclass) at Service Center startup. J2EE/Wildfly: register the implementation class via a Java ServiceLoader file at META-INF/services/<IDatabaseProvider-fqcn>, package the JDBC driver as a JBoss module (module.xml under modules/outsystems/<slot>/), and add that module+slot pair to the app server's global-modules list with `jboss-cli.sh ... write-attribute(name=global-modules, value=[...])`. Both editions require a full-stack implementation of five services (DML/Introspection/Execution/Transaction/DDL) to be considered platform-compliant, which the huge parallel test suites in this repo exercise concretely.
database-connector-sdkplatform-adminon-prempostgresqlredshiftj2ee
Java · ★ 6 · extensions-integration-studio
The Memory Cortex
★★★★★gem
stefan-d-p/odc-aiagentbuildermemoryA tight, correct ODC External Library sample that wraps Microsoft Kernel Memory (RAG/vector search) with OpenAI embeddings + Qdrant as three OSAction methods -- IndexWebpage, Search, DeleteDocument -- for OutSystems AI Agent Builder tool use.Technique: AsyncUtil.RunSync<T>(Func<Task<T>>) using a dedicated TaskFactory(CancellationToken.None, TaskCreationOptions.None, TaskContinuationOptions.None, TaskScheduler.Default).StartNew(task).Unwrap().GetAwaiter().GetResult() -- avoids the classic deadlock that `.Result`/`.Wait()` can cause when bridging sync ODC External Logic entry points to async .NET libraries.
odc-external-logicai-agent-builderkernel-memoryragqdrantopenai
C# · ★ 3 · ai-mcp-llm
The OML Locksmith
★★★★★gem
silviogarbes/oml-utilitiesCross-platform .NET 6 CLI (dotnet, ~600 lines core) that reads/edits OML files directly by loading OutSystems' own private assemblies (OutSystems.Common / OutSystems.RuntimeCommon / OutSystems.Model.Implementation) via reflection, for platform versions O9.1, O10 and O11.Technique: Embeds the real per-platform-version OutSystems DLLs (OutSystems.Common.9.1/10.0, OutSystems.RuntimeCommon.*, OutSystems.Model.Implementation, Noemax.FastInfoset, ICSharpCode.SharpZipLib) as EmbeddedResource, loads the correct version via an AppDomain.AssemblyResolve hook (AssemblyUtility.GetAssembly), then drives the actual OutSystems.Oml.Oml / OutSystems.Model.Implementation.Oml.Oml type via Activator.CreateInstance + reflection helpers (GetInstanceField/SetInstanceField/ExecuteInstanceMethod using Type.InvokeMember) to call private methods like DumpFragmentsNames, GetFragmentXmlReader, ReplaceFragmentXml and WriteTo. I.e. it manipulates the proprietary OML container by driving OutSystems' own SDK assemblies through reflection rather than hand-parsing the binary/zip format from scratch -- a technique directly reusable for any custom OML tooling.
omlservice-studioreflectioncli-tooldotnetplatform-versions
C# · ★ 3 · oml-fileformat-reverse
The Roslyn Sentinel
★★★★★gem
jonathanalgar/CustomCode-AnalyzerA real Roslyn DiagnosticAnalyzer + CodeFixProvider, packaged both as a VS/VSCode/Rider-installable analyzer (NuGet dev-dependency, auto-referenced via OutSystems.ExternalLibraries.SDK) and a VSIX for Visual Studio, that gives live IDE feedback + one-click quick-fixes for ODC External Libraries SDK rule violations (OS-ELG-MODL-*) as you type C# code -- before you ever upload the assembly to the ODC Portal.Technique: Two-phase Roslyn analysis: RegisterSymbolAction for instant per-declaration checks (e.g. method name starts with underscore) vs RegisterCompilationEndAction with a ConcurrentDictionary to check whole-project invariants (e.g. exactly one [OSInterface] must exist) that need the complete semantic model. CodeFixProvider.RegisterCodeFixesAsync first checks `compilation.ReferencedAssemblyNames` for `OutSystems.ExternalLibraries.SDK` before offering any fix, so the analyzer only activates in genuine ODC external-library projects and stays silent elsewhere.
odc-external-logicroslyn-analyzercsharpvisual-studio-extensionstatic-analysiscode-fix-provider
C# · ★ 3 · extensions-integration-studio
The Library Foundry
★★★★★gem
jonathanalgar/CustomCode-Analyzer-GeneratorA dockerized LLM agent pipeline (LangChain/LangGraph-style, OpenAI/Anthropic models) that takes a natural-language description of desired functionality and generates a fully validated ODC External Library C# project + unit tests, using the sibling CustomCode-Analyzer as a build-time gate and a reflection loop to self-correct on build or test failure.Technique: Agentic validate-and-reflect loop: agents/validation/workflow.py's validate_generated_code() extracts the class name from LLM output, scaffolds a temp C# project referencing the target NuGet packages, builds it (build.build_solution -- which surfaces the CustomCode-Analyzer's OS-ELG-MODL diagnostics as build errors/warnings), and only runs generated + ground-truth unit tests if the build succeeded; failures (ProjectSetupError, PackageInstallationError, build errors, test failures) are captured as structured metrics that agents/generation/llm_generation.py feeds back into a follow-up LLM call for self-correction, with the whole thing sandboxed in Docker and a Redis-backed 'secure gateway' service standing in for OutSystems' network-isolated integration model.
llm-codegenodc-external-logiclangchainreflection-looproslynbenchmarking
Python · ★ 3 · ai-mcp-llm
MABS Plugin CI Playbook
★★★★★gem
OutSystems/cordova-plugin-local-notificationsOutSystems' officially-supported fork of katzer/cordova-plugin-local-notifications, whose 'outsystems' branch (153 commits ahead / 302 behind upstream) reveals the actual internal CI/CD pipeline OutSystems uses to certify Cordova plugins for MABS.Technique: Azure DevOps 'trigger a downstream pipeline via REST, poll every 30s, classify pass/fail/flaky from the Test API' pattern (CI/templates/pipeline_run.js) - directly reusable for any real-device-farm test gating in a release pipeline; also the Capacitor pre-copy config-patch hook pattern for reconciling a Cordova plugin with Capacitor's config.json.
mabscordovaazure-devopssauce-labscapacitorofficial-fork
Java · ★ 3 · mobile-plugins
The External-Logic Starter Kit
★★★★★gem
OutSystems/OutSystems.ExternalLibraries.SDK-templatesOfficial ODC External Libraries SDK template collection: basic/advanced IBAN-checker C# library, a SOAP-consumption template (WCF proxy over BasicHttpBinding), and a full mTLS client-certificate template using NSwag-generated clients -- all wired with [OSInterface]/[OSAction]/[OSParameter].Technique: mTLS-over-NSwag: run NSwag codegen against a Swagger/OpenAPI doc to produce a typed client, then hand-author a partial `<ClientName>Base` class overriding `CreateHttpClientAsync` to build an `HttpClientHandler` with `ClientCertificateOptions = Manual` and `ClientCertificates = { new X509Certificate2(path, password) }`, wiring mutual-TLS into an otherwise-generated REST client consumed from ODC External Logic. Packaging technique: `dotnet publish -c Release -r linux-x64 --self-contained false -f <tfm>` then `Compress-Archive` the publish output into the .zip ODC expects for External Library upload, looped over multiple target framework monikers.
odcexternal-logicexternal-library-sdkcsharpsoapwcf
C# · ★ 3 · extensions-integration-studio
The LifeTime Whisperer
★★★★★gem
promonteiro89/o11-lt-mcpA well-engineered MCP server that exposes the full OutSystems LifeTime REST API v2 as 66 conversational tools across 10 domains (environments, applications, deployments, users, teams, roles, modules, DB connections, configurations, operations), runnable via Docker (stdio) or Streamable HTTP (remote/Claude.ai).Technique: Registry integrity pattern: `findRegistryProblems(tools, handlers)` is a pure function checked both at server boot (process.exit(1) on failure) and in unit tests (src/registry.test.ts) -- catches 'declared a tool but forgot the handler' or 'renamed a tool but not its handler' bugs before they reach runtime, worth reusing for any tool-registry-style MCP server with many domains.
lifetime-apimcpo11deployment-automationtypescriptzod
TypeScript · ★ 2 · lifetime-devops-cicd