docs: update documentation for new build directory structure
- Add build locations section to AGENTS.md - Update README.md with build directory information - Fix AGENTS.md vm-run command reference - Document that clean removes both ./build/ and ./result/ - Ensure consistency across all documentation files Addresses documentation inconsistencies after Makefile changes.
This commit is contained in:
@@ -44,7 +44,7 @@ This file provides guidelines for AI coding agents operating within this reposit
|
|||||||
|
|
||||||
1. Use `make vm-run` for local development
|
1. Use `make vm-run` for local development
|
||||||
2. Test with all 15 containers to match production
|
2. Test with all 15 containers to match production
|
||||||
3. Use `make usb-build` for workshop USB drives
|
3. Use `make usb-build` for workshop USB drives (outputs to ./build/iso/)
|
||||||
4. Deploy to cloud with `make deploy-cloud`
|
4. Deploy to cloud with `make deploy-cloud`
|
||||||
|
|
||||||
## General Guidelines
|
## General Guidelines
|
||||||
@@ -56,6 +56,12 @@ This file provides guidelines for AI coding agents operating within this reposit
|
|||||||
- Maintain feature parity between USB/VM environments where possible
|
- Maintain feature parity between USB/VM environments where possible
|
||||||
- **ALWAYS check package existence on search.nixos.org before adding new packages**
|
- **ALWAYS check package existence on search.nixos.org before adding new packages**
|
||||||
|
|
||||||
|
## Build Locations
|
||||||
|
|
||||||
|
- **USB ISOs**: `./build/iso/result/iso/*.iso` (custom build directory)
|
||||||
|
- **VM builds**: `./result/` (Nix default symlink)
|
||||||
|
- **Clean command**: Removes both `./build/` and `./result/` directories
|
||||||
|
|
||||||
## ⚠️ Critical Warnings
|
## ⚠️ Critical Warnings
|
||||||
|
|
||||||
- **NEVER RUN `nix-env`** - This can break your Nix environment. Use `nix-shell`, `nix develop`, or declarative approaches instead.
|
- **NEVER RUN `nix-env`** - This can break your Nix environment. Use `nix-shell`, `nix develop`, or declarative approaches instead.
|
||||||
|
|||||||
8
Makefile
8
Makefile
@@ -5,7 +5,8 @@ export
|
|||||||
|
|
||||||
DOMAIN := $(or $(WORKSHOP_DOMAIN),codecrispi.es)
|
DOMAIN := $(or $(WORKSHOP_DOMAIN),codecrispi.es)
|
||||||
USB_DEVICE := $(or $(USB_DEVICE),/dev/sdX)
|
USB_DEVICE := $(or $(USB_DEVICE),/dev/sdX)
|
||||||
ISO_FILE := $(shell ls result/iso/*.iso 2>/dev/null | head -1)
|
BUILD_DIR := ./build
|
||||||
|
ISO_FILE := $(shell ls $(BUILD_DIR)/iso/result/iso/*.iso 2>/dev/null | head -1)
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@echo "CODE CRISPIES Workshop Infrastructure"
|
@echo "CODE CRISPIES Workshop Infrastructure"
|
||||||
@@ -43,7 +44,8 @@ usb-build:
|
|||||||
echo "Generate with: ssh-keygen -t ed25519"; \
|
echo "Generate with: ssh-keygen -t ed25519"; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
nix build .#live-iso --show-trace
|
@mkdir -p $(BUILD_DIR)
|
||||||
|
nix build .#live-iso --out-link $(BUILD_DIR)/iso --show-trace
|
||||||
@echo "✅ ISO built: $(ISO_FILE)"
|
@echo "✅ ISO built: $(ISO_FILE)"
|
||||||
@echo "📦 Size: $$(du -h $(ISO_FILE) | cut -f1)"
|
@echo "📦 Size: $$(du -h $(ISO_FILE) | cut -f1)"
|
||||||
|
|
||||||
@@ -108,7 +110,7 @@ destroy-cloud:
|
|||||||
cd terraform && terraform destroy -auto-approve
|
cd terraform && terraform destroy -auto-approve
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf result .direnv terraform/.terraform terraform/terraform.tfstate* workshop-vm.*
|
rm -rf result $(BUILD_DIR) .direnv terraform/.terraform terraform/terraform.tfstate* workshop-vm.*
|
||||||
@echo "🧹 Cleaned up build artifacts"
|
@echo "🧹 Cleaned up build artifacts"
|
||||||
|
|
||||||
opencode:
|
opencode:
|
||||||
|
|||||||
@@ -74,11 +74,16 @@ make status-cloud # Check health
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
make vm # Start VM (simulates USB environment)
|
make vm # Start VM (simulates USB environment)
|
||||||
make usb-build # Verify build (builds ISO)
|
make usb-build # Build ISO to ./build/iso/
|
||||||
|
make usb-test # Test ISO in QEMU
|
||||||
```
|
```
|
||||||
|
|
||||||
The VM simulates the USB experience with identical configuration and commands.
|
The VM simulates the USB experience with identical configuration and commands.
|
||||||
|
|
||||||
|
**Build Locations:**
|
||||||
|
- **USB ISOs**: `./build/iso/result/iso/*.iso`
|
||||||
|
- **VM builds**: `./result/` (Nix default)
|
||||||
|
|
||||||
## 📚 Complete Recipe Catalog
|
## 📚 Complete Recipe Catalog
|
||||||
|
|
||||||
Based on Co-op Cloud with quality scoring:
|
Based on Co-op Cloud with quality scoring:
|
||||||
@@ -164,7 +169,7 @@ make opencode # Start opencode in dev shell
|
|||||||
## 🧹 Cleanup
|
## 🧹 Cleanup
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
make clean # Local artifacts
|
make clean # Clean build artifacts (./build/ and ./result/)
|
||||||
make destroy-cloud # Cloud infrastructure
|
make destroy-cloud # Cloud infrastructure
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user