-
Notifications
You must be signed in to change notification settings - Fork 0
Comparing changes
Open a pull request
base repository: evlist/codespaces-grafting
base: v1.1.0
head repository: evlist/codespaces-grafting
compare: v1.2.0
- 5 commits
- 10 files changed
- 1 contributor
Commits on Jan 5, 2026
-
Add visibility improvements: CONTRIBUTING.md, badges, support section
- Create CONTRIBUTING.md with clear contribution guidelines - Add badges to README: release version, license, Codespaces - Add Support & Community section linking to FAQ, Issues, Discussions - Topics can be added manually via GitHub repo settings: github-codespaces, devcontainer, wordpress, template, devops, bash
Configuration menu - View commit details
-
Copy full SHA for ce1b24b - Browse repository at this point
Copy the full SHA ce1b24bView commit details -
docs: modularize bootstrap and clarify .local customization pattern
- Extract plugin installation from bootstrap.sh to 20-plugins.sh * Provides clear separation of concerns * Serves as example for custom hooks (themes, content import) * Includes comprehensive documentation in header comments - Add 'Customization' section to FAQ with 4 new Q&A: * How to customize bootstrap process (environment + hooks) * How to test themes instead of plugins (25-themes.local.sh example) * How to skip plugin installation (empty variables, not file deletion) * How to add custom WP-CLI commands (40-custom.local.sh pattern) - Add 'Bootstrap customization' section to MAINTAINER.md: * Guide for creating custom bootstrap hooks * Theme development hook example with .local.sh suffix * Clarify scion-managed vs custom hooks distinction * Explain proper way to disable hooks without modifying scion files - Update README files to highlight modular .d pattern: * Emphasize .local.sh suffix for upgrade-safe customizations * Show bootstrap.sh.d/ structure with existing hooks * Link to FAQ customization section - Rename 50.local → 50-plugins.local for naming consistency Key principle: Files with .local or .local.* suffix are excluded from sync during upgrades, enabling safe customization without forking.
Configuration menu - View commit details
-
Copy full SHA for 5d13eb2 - Browse repository at this point
Copy the full SHA 5d13eb2View commit details -
docs(faq): add design philosophy and scope clarification
Add new Q&A in Design Decisions section to address common concerns: - 'Wait, copying files is a terrible pattern?' * Explains why file copying is standard for infrastructure (apt, Docker, OS installs) * Justifies approach for Codespaces as VM configuration * Details Debian-inspired semantics (*.local.*, 3-way merge, dry-run) * Analogy: 'apt install devcontainer' vs 'npm install library' - 'Shouldn't we use git subtree or submodules?' * Lists trade-offs (complexity, merge conflicts, history pollution) * Explains benefits of current approach (simplicity, transparency) * Invites community to propose alternatives via Discussion/Issues - 'Is this specific to testing WP plugins?' * Clarifies adaptability to themes, WP core, WP-CLI * Links to Customization section - 'Is this specific to WordPress, LAMP, or PHP?' * Distinguishes generic pattern from current LAMP+WP implementation * Encourages forks for other stacks (Node.js, Python, PostgreSQL, etc.) - 'Why a single container instead of separate containers?' * Justifies simplicity for development vs production isolation * Lists advantages (direct access, simple debugging, fast startup) * References early multi-container attempts in commit history * Clear position: multi-container for prod, simplicity for dev These additions preemptively address philosophical objections and clarify the project's scope and extensibility.
Configuration menu - View commit details
-
Copy full SHA for 858382a - Browse repository at this point
Copy the full SHA 858382aView commit details -
docs: split dual-license badge into separate GPL and MIT badges
Replace single combined license badge with two distinct badges: - License: GPL-3.0-or-later (links to LICENSES/GPL-3.0-or-later.txt) - License: MIT (links to LICENSES/MIT.txt) This makes the dual-licensing more visible and allows users to click directly on the license they want to review.
Configuration menu - View commit details
-
Copy full SHA for 9faa90a - Browse repository at this point
Copy the full SHA 9faa90aView commit details -
feat: unify scion specification format and add @ref shortcut
Simplify and unify scion specification across the codebase: - Replace SCION_ID/SCION_REF with single SCION variable * Format: owner/repo@ref or full URL * Examples: evlist/codespaces-grafting@stable, @main * Consistent with parse_repo_spec() input format - Add --scion @ref shortcut syntax: * @main resolves to default_scion@main * @v1.0.0 resolves to default_scion@v1.0.0 * Base repo read from .devcontainer/.cs_env.d/graft.local.env * Useful for testing different branches without retyping full repo - Update graft.local.env format: * Before: SCION_ID=owner/repo + SCION_REF=branch (split) * After: SCION=owner/repo@ref (unified) * Includes examples and format documentation - Fix export verb to respect --scion flag: * Was always using PWD, now checks if SCION_SPEC provided first * Enables: graft export --stock repo --scion @main - Update FAQ documentation: * New Q&A explaining --scion @ref syntax * Updated downgrade/version example with SCION format * Examples for all three syntaxes (@ref, owner/repo@ref, URL) Tests validated: - export without --scion (uses default from graft.local.env) - export with --scion owner/repo@ref (full spec) - export with --scion @main (shortcut resolves correctly) - upgrade with --scion @main (changes ref from stable to main)
Configuration menu - View commit details
-
Copy full SHA for 6b5fa9e - Browse repository at this point
Copy the full SHA 6b5fa9eView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v1.1.0...v1.2.0