config-system

Centralize global and per-tenant system settings across Go and Flutter.

Updated Apr 3, 2026
One-click install
npx skills add https://github.com/Adrinc/camsys --skill config-system
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: config-system
Source: https://github.com/Adrinc/camsys/tree/main/.agent/skills/config-system
Command: npx skills add https://github.com/Adrinc/camsys --skill config-system

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Managing global and per-tenant configurations across backend and frontend is complex and error-prone. This skill delivers a complete module to model, store, and expose system settings with multi-tenant scope, validation, and UI support.

Core Features & Use Cases

  • Centralized settings model with tenant-scoped overrides and global defaults.
  • Type-safe values per setting (string, number, boolean, json, secret) and corresponding UI editing.
  • End-to-end integration with Go backend, SQL migrations (sqlc), and Flutter frontend, including caching and admin UI.
  • Use cases include SMTP, storage limits, feature flags, timeouts, and application metadata.

Quick Start

Follow the provided file structure to integrate the system settings module into your Go backend and Flutter frontend.

Frequently Asked Questions about config-system

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manage multi-tenant system settings across a Go backend and Flutter frontend?

Multi-tenant system settings are managed by centralizing global defaults and tenant-scoped overrides. A Go backend with sqlc handles storage and SQL migrations, while a Flutter frontend provides the admin UI for editing type-safe values.

What is the best way to override global configuration defaults for individual tenants?

Overriding global configuration defaults for individual tenants involves modeling tenant-scoped settings that fall back to global values. This supports type-specific overrides for strings, numbers, booleans, JSON, and secrets.

Can I use sqlc to handle SQL migrations for a multi-tenant configuration module?

Yes, sqlc handles SQL migrations for a multi-tenant configuration module by generating type-safe Go code from SQL. This ensures settings are stored and queried reliably across global and tenant-specific scopes.

Does this multi-tenant settings approach support runtime caching for loaded configurations?

Yes, the multi-tenant settings approach supports runtime caching for loaded configurations. This reduces database queries by caching global defaults and tenant-scoped overrides in the Go backend during application runtime.

How do I securely store and manage SMTP and storage limits for different tenants?

Securely storing and managing SMTP and storage limits for different tenants uses type-safe values including a secret type. The centralized settings model validates these configurations and exposes them securely to the admin UI.

What types of values are supported for feature flags and application timeouts in a centralized settings model?

The centralized settings model supports string, number, boolean, JSON, and secret value types for feature flags and application timeouts. This ensures type-safe editing and validation within the Flutter admin UI.