- name
- explicit-configuration
- user-invocable
- false
- description
- Prefer explicit configuration over framework defaults to prevent environment-dependent failures
- allowed-tools
- []
# Explicit Configuration
## Name
han-core:explicit-configuration
## Description
When configuring services, APIs, or framework features, explicitly set all parameters rather than relying on defaults. Defaults vary across versions, environments, and frameworks.
## Principle
What works with defaults in development may fail in production. Explicit configuration is documentation that runs.
## Examples
**Database connections:**
- Set pool size, timeout, retry policy explicitly
- Don't rely on default connection string parsing
**API calls:**
- Set timeout, retry count, headers explicitly
- Don't assume default content-type
**Framework config:**
- Set port, environment, logging level explicitly
- Don't rely on framework auto-detection
**Security settings:**
- Never rely on default CORS, auth, or session config
- Always configure explicitly, even if the default is "secure"
## Anti-Pattern
```
createServer() // relies on default port, middleware, error handling
```
## Pattern
```
createServer({
port: config.PORT,
timeout: 30000,
cors: { origin: config.ALLOWED_ORIGINS }
})
```
## When to Apply
- Any time you're initializing a service, client, or framework
- Any time you're configuring infrastructure (Docker, CI, cloud services)
- Any time the behavior difference between dev and production matters
GitHubで見る