首页/DevOps/add-setting-env
A

add-setting-env

by @lobehubv1.0.0
0.0(0)

添加服务器端环境变量以配置用户设置的默认值,遵循用户自定义、服务器变量、硬编码的优先级,实现灵活配置。

Environment VariablesConfiguration ManagementDeploymentDevOps PracticesLobeHubGitHub
安装方式
npx skills add lobehub/lobehub --skill add-setting-env
compare_arrows

Before / After 效果对比

1
使用前
1用户设置的默认值硬编码在代码中,难以灵活配置和管理,每次修改默认值都需要重新部署应用。
2```typescript
3// 硬编码的默认值
4const DEFAULT_THEME = 'light';
5const DEFAULT_LANGUAGE = 'en';
6```
使用后
1通过服务器端环境变量配置用户设置的默认值,实现用户自定义 > 服务器环境变量 > 硬编码默认值的优先级管理,提高配置灵活性。
2```typescript
3// 使用环境变量配置默认值
4import { createEnv } from '@t3-oss/env-nextjs';
5import { z } from 'zod';
6
7export const getAppConfig = () => {
8  return createEnv({
9    server: {
10      DEFAULT_THEME: z.enum(['light', 'dark']).default('light'),
11      DEFAULT_LANGUAGE: z.string().default('en'),
12    },
13    runtimeEnv: process.env,
14  });
15};
16```

description SKILL.md

add-setting-env

Adding Environment Variable for User Settings Add server-side environment variables to configure default values for user settings. Priority: User Custom > Server Env Var > Hardcoded Default Steps 1. Define Environment Variable Create src/envs/.ts: import { createEnv } from '@t3-oss/env-nextjs'; import { z } from 'zod'; export const getConfig = () => { return createEnv({ server: { YOUR_ENV_VAR: z.coerce.number().min(MIN).max(MAX).optional(), }, runtimeEnv: { YOUR_ENV_VAR: process.env.YOUR_ENV_VAR, }, }); }; export const Env = getConfig(); 2. Update Type (if new domain) Add to packages/types/src/serverConfig.ts: import { UserConfig } from './user/settings'; export interface GlobalServerConfig { ?: PartialDeep<UserConfig>; } Prefer reusing existing types from packages/types/src/user/settings. 3. Assemble Server Config (if new domain) In src/server/globalConfig/index.ts: import { Env } from '@/envs/'; export const getServerGlobalConfig = async () => { const config: GlobalServerConfig = { : cleanObject({ : Env.YOUR_ENV_VAR, }), }; return config; }; 4. Merge to User Store (if new domain) In src/store/user/slices/common/action.ts: const serverSettings: PartialDeep = { : serverConfig., }; 5. Update .env.example # (range/options, default: X) # YOUR_ENV_VAR= 6. Update Documentation docs/self-hosting/environment-variables/basic.mdx (EN) docs/self-hosting/environment-variables/basic.zh-CN.mdx (CN) Example: AI_IMAGE_DEFAULT_IMAGE_NUM // src/envs/image.ts AI_IMAGE_DEFAULT_IMAGE_NUM: z.coerce.number().min(1).max(20).optional(), // packages/types/src/serverConfig.ts image?: PartialDeep; // src/server/globalConfig/index.ts image: cleanObject({ defaultImageNum: imageEnv.AI_IMAGE_DEFAULT_IMAGE_NUM }), // src/store/user/slices/common/action.ts image: serverConfig.image, // .env.example # AI_IMAGE_DEFAULT_IMAGE_NUM=4 Weekly Installs339Repositorylobehub/lobehubGitHub Stars73.7KFirst SeenJan 27, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled oncodex293opencode290gemini-cli289github-copilot274claude-code244cursor235

forum用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价,来写第一条吧

统计数据

安装量0
评分0.0 / 5.0
版本1.0.0
更新日期2026年3月17日
对比案例1 组

用户评分

0.0(0)
5
0%
4
0%
3
0%
2
0%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Claude Code

时间线

创建2026年3月17日
最后更新2026年3月17日