Add comprehensive CI documentation to README files

Co-authored-by: dwinkler1 <22460147+dwinkler1@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-01-11 20:34:23 +00:00
commit 0514ba1283
2 changed files with 100 additions and 0 deletions

70
README.md Normal file
View file

@ -0,0 +1,70 @@
# Nix Project Templates (np)
A collection of Nix flake templates for reproducible development environments.
## Templates
### RDE (Research Development Environment)
The default template for data science and research projects with support for R, Python, and Julia.
**Quick start:**
```bash
nix flake init -t github:dwinkler1/np#rde
nix develop
```
**Features:**
- 🔬 Multi-language support (R, Python, Julia)
- 📦 Reproducible with Nix
- 🎨 Neovim-based IDE with LSP support
- 📊 Research-focused workflows
- 🔧 Modular and customizable
See [templates/rde/README.md](templates/rde/README.md) for full documentation.
## CI/CD
All templates are automatically tested to ensure functionality:
- **Build Tests**: Templates build successfully on Linux and macOS
- **Functionality Tests**: All commands and language support are verified
- **Configuration Tests**: Multiple configurations (R, Python, Julia) are tested
- **Automated Updates**: Dependencies are updated daily via automated PRs
### CI Workflows
- `.github/workflows/check.yml` - Comprehensive functionality tests (Ubuntu)
- `.github/workflows/check_macos.yml` - macOS compatibility tests
- `.github/workflows/update.yml` - Automated dependency updates
## Usage
1. **Initialize a new project:**
```bash
nix flake init -t github:dwinkler1/np#rde
```
2. **Enter development environment:**
```bash
nix develop
# or with direnv
echo "use flake" > .envrc && direnv allow
```
3. **Start working:**
```bash
p-initProject # Create project structure
p # Launch Neovim
```
## Contributing
Contributions are welcome! Please ensure:
- All templates pass CI tests
- Documentation is updated for new features
- Code follows existing patterns
## License
See [LICENSE](LICENSE) file for details.

View file

@ -337,6 +337,36 @@ p-updateDeps
# Or check overlays/r.nix for package name
```
## CI and Testing
This template is automatically tested on every change to ensure all functionality works correctly. The CI workflow (`.github/workflows/check.yml`) runs comprehensive tests including:
### Default Configuration Tests (R enabled)
- ✅ Template builds successfully
- ✅ Flake check passes
- ✅ Development shell enters without errors
- ✅ Neovim launches in headless mode
- ✅ R console is available and runs code
- ✅ Utility commands (initProject, updateDeps) are available
- ✅ Project structure creation works correctly
### Python Configuration Tests
- ✅ Template builds with Python enabled
- ✅ Python commands (p-py, p-ipy, p-initPython) are available
- ✅ Python interpreter launches and executes code
### Julia Configuration Tests
- ✅ Template builds with Julia enabled
- ✅ Julia commands (p-jl, p-initJl) are available
- ✅ Julia REPL launches and executes code
The CI runs on:
- Every push to template files (`.nix`, `.sh`, `.lua`, `flake.lock`)
- Every pull request affecting the template
- Manual dispatch for testing
This ensures that users can confidently use the template knowing that all advertised functionality has been verified.
## Related Documentation
- [REFACTORING.md](REFACTORING.md) - Technical details about the modular structure