feat(scribe): the local dev flow is now configured with a .localscrib…#3
Conversation
There was a problem hiding this comment.
Pull request overview
Updates Scribe’s LocalDev workflow to activate via a .localscribe sentinel file (instead of IDE configuration suffixes), adds an import guard for the LocalDev targets, and bumps the package version.
Changes:
- Bump library version from
0.2→0.3. - Switch LocalDev activation to a
.localscribesentinel file and update infrastructure docs accordingly. - Add a double-import guard to
Scribe.LocalDev.targetsand gate its imports/targets on the guard.
Reviewed changes
Copilot reviewed 5 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| version.json | Version bump to 0.3. |
| Scribe/build/Scribe.LocalDev.targets | Adds an import guard and conditions LocalDev target/import execution on a skip flag. |
| Scribe/build/Scribe.LocalDev.props | Updates LocalDev activation docs to sentinel-file based detection. |
| docs/project-setup.md | Updates LocalDev activation steps to recommend .localscribe. |
| docs/architecture-infrastructure.md | Documents the new sentinel-file activation mechanism. |
| .gitignore | Ignores .localscribe sentinel file. |
| .github/copilot-instructions.md | Markdown table formatting tweak. |
| .claude/CLAUDE.md | Markdown table formatting tweak. |
| <PropertyGroup Condition="'$(_ScribeLocalDevTargetsImported)' == 'true'"> | ||
| <_ScribeLocalDevTargetsSkip>true</_ScribeLocalDevTargetsSkip> | ||
| </PropertyGroup> | ||
| <PropertyGroup Condition="'$(_ScribeLocalDevTargetsImported)' != 'true'"> | ||
| <_ScribeLocalDevTargetsImported>true</_ScribeLocalDevTargetsImported> | ||
| </PropertyGroup> |
There was a problem hiding this comment.
The import guard sets a global property _ScribeLocalDevTargetsSkip to true on a second import. Because _ScribeLocalDevTargetsSkip is also used in the Condition for _ScribeLocalDevOverride, a later second import can unintentionally disable the target from running (even if it was defined by the first import). Consider switching to a <Choose>/<When> pattern that avoids evaluating the rest of the file on subsequent imports (without mutating a skip flag that affects target execution-time conditions).
| #### 4. Activate | ||
|
|
||
| Three ways to activate LocalDev: | ||
|
|
||
| 1. **Build configuration:** Select `Debug (Local Scribe)` or `Release (Local Scribe)` in your IDE — configurations are injected automatically. | ||
| 1. **Sentinel file (recommended):** Create a `.localscribe` file in `$(ScribeRoot)` (the shared workspace root). Delete it to deactivate. Add `.localscribe` to `.gitignore`. | ||
| 2. **MSBuild property:** `dotnet build -p:IsLocalScribe=true` |
There was a problem hiding this comment.
LocalDev activation is now documented as the .localscribe sentinel file, but README.md still instructs activating via Debug (Local Scribe) configuration. To keep docs consistent (and per the documentation-sync requirement), please update the README LocalDev section to reflect the sentinel-file activation as well.
…elockfile