You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Updated bin/dev --help with SERVICE DEPENDENCIES section
- Added comprehensive documentation in docs/building-features/process-managers.md
- Includes configuration examples, field descriptions, and sample output
- Added security note about command execution
- Documents zero-impact behavior when .dev-services.yml doesn't exist
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
2. Run Shakapacker's `precompile_hook` once (if configured in `config/shakapacker.yml`)
21
+
3. Set `SHAKAPACKER_SKIP_PRECOMPILE_HOOK=true` to prevent duplicate execution
22
+
4. Try to use Overmind (if installed)
23
+
5. Fall back to Foreman (if installed)
24
+
6. Show installation instructions if neither is found
24
25
25
26
### Precompile Hook Integration
26
27
@@ -57,6 +58,94 @@ default: &default
57
58
58
59
See the [i18n documentation](./i18n.md#internationalization) for more details on configuring the precompile hook.
59
60
61
+
### Service Dependency Checking
62
+
63
+
`bin/dev` can automatically verify that required external services (like Redis, PostgreSQL, Elasticsearch) are running before starting your development server. This prevents cryptic error messages and provides clear instructions on how to start missing services.
64
+
65
+
#### Configuration
66
+
67
+
Create a `.dev-services.yml` file in your project root:
68
+
69
+
```yaml
70
+
services:
71
+
redis:
72
+
check_command: 'redis-cli ping'
73
+
expected_output: 'PONG'
74
+
start_command: 'redis-server'
75
+
install_hint: 'brew install redis (macOS) or apt-get install redis-server (Linux)'
76
+
description: 'Redis (for caching and background jobs)'
Please start these services before running bin/dev:
130
+
131
+
redis
132
+
Redis (for caching and background jobs)
133
+
134
+
To start:
135
+
redis-server
136
+
137
+
Not installed? brew install redis (macOS) or apt-get install redis-server (Linux)
138
+
139
+
💡 Tips:
140
+
• Start services manually, then run bin/dev again
141
+
• Or remove service from .dev-services.yml if not needed
142
+
• Or add service to Procfile.dev to start automatically
143
+
```
144
+
145
+
#### Security Note
146
+
147
+
⚠️ Commands in `.dev-services.yml` are executed during `bin/dev` startup. Only add commands from trusted sources. Consider adding `.dev-services.yml` to `.gitignore` if it contains machine-specific paths or sensitive information.
0 commit comments