Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
170981f
Update sync workflow to create individual PRs per file
StevenTCramer Jul 23, 2025
dc5900d
Reorganize coding standards documentation
StevenTCramer Jul 23, 2025
cae0fa2
Add Kanban task 038 for building Dev Container for Claude Code
StevenTCramer Jul 25, 2025
4668698
Move Kanban task 038 to InProgress
StevenTCramer Jul 25, 2025
3cf0fff
Add Dev Container configuration for Claude Code
StevenTCramer Jul 26, 2025
7fcaaa1
Fix .NET 10 preview installation in dev container
StevenTCramer Jul 26, 2025
da7ccfa
Use direct download URL for .NET 10 Preview 6
StevenTCramer Jul 26, 2025
2c7751a
Fix .NET 10 Preview 6 download URL
StevenTCramer Jul 26, 2025
e156e5d
Fix PowerShell installation - add lsb-release dependency
StevenTCramer Jul 26, 2025
a107c0a
Fix PowerShell installation for Debian 12 (bookworm)
StevenTCramer Jul 26, 2025
f161404
Fix Docker installation for Debian
StevenTCramer Jul 26, 2025
172fc63
Remove Docker-in-Docker from dev container
StevenTCramer Jul 26, 2025
e00db55
Add Docker socket mount for Aspire support
StevenTCramer Jul 26, 2025
93b4657
Fix docker group creation error
StevenTCramer Jul 26, 2025
f250a65
Add CMD to keep container running
StevenTCramer Jul 26, 2025
38525de
Fix post-create script path
StevenTCramer Jul 26, 2025
984910e
Fix paths in post-create script
StevenTCramer Jul 26, 2025
eb12ba8
Fix UID mismatch - use UID 1000 for vscode user
StevenTCramer Jul 26, 2025
a50f83a
Fix Claude config and PowerShell script permissions
StevenTCramer Jul 26, 2025
5c0097b
Set execute permissions on PowerShell scripts
StevenTCramer Jul 26, 2025
2cef2fc
Remove chmod workaround from post-create script
StevenTCramer Jul 26, 2025
a7f6c62
Set execute permissions on all PowerShell scripts
StevenTCramer Jul 26, 2025
ba18cfe
Fix firewall script to handle CNAME DNS responses
StevenTCramer Jul 26, 2025
dc6c02b
Remove automatic build from dev container post-create
StevenTCramer Jul 26, 2025
60a092c
Add dev container validation script
StevenTCramer Jul 26, 2025
be32b9e
Fix Claude installation and add Aspire workload
StevenTCramer Jul 26, 2025
5cefafd
Fix Aspire installation for .NET 10 preview 6 in dev container
StevenTCramer Jul 26, 2025
b2f8391
Add workload update to post-create script to prevent verification war…
StevenTCramer Jul 26, 2025
171a199
Fix project reference paths in integration test projects
StevenTCramer Jul 26, 2025
2d15473
Remove obsolete configuration and diagram files
StevenTCramer Nov 5, 2025
00c9c35
docs: add WSL dev cert trust guide
StevenTCramer Nov 6, 2025
fbf6418
build: update SDK to 10.0.100-rc2
StevenTCramer Nov 6, 2025
fe0df7f
Add Kanban updates for tasks 037 and 038
StevenTCramer Nov 6, 2025
0452c2e
Ignore agent workspace directory
StevenTCramer Nov 6, 2025
fa9ab35
Remove duplicate Kanban task 037 from ToDo
StevenTCramer Nov 6, 2025
de9818b
Migrate to TimeWarp.Mediator
StevenTCramer Nov 6, 2025
e1b9c90
Move Kanban task 037 to done
StevenTCramer Nov 6, 2025
91196c7
Add Kanban task 039: Migrate from FluentAssertions to Shouldly
StevenTCramer Nov 6, 2025
431228a
Move Kanban task 039 to InProgress
StevenTCramer Nov 6, 2025
62b2a26
Migrate tests from FluentAssertions to Shouldly
StevenTCramer Nov 6, 2025
20bb300
Finalize Shouldly migration documentation
StevenTCramer Nov 6, 2025
b32b6ea
Disable GitHub workflows and sync configuration
StevenTCramer Nov 6, 2025
3d79417
Remove obsolete Kanban backlog tasks and documentation
StevenTCramer Nov 6, 2025
f42f721
Rename Kanban task 038 to 041 to resolve duplicate numbering
StevenTCramer Nov 6, 2025
96254dc
Move Kanban task 041 to InProgress
StevenTCramer Nov 6, 2025
742d668
Remove unused TimeWarp.MediatR project
StevenTCramer Nov 6, 2025
6df3097
Update Playwright E2E harness
StevenTCramer Nov 6, 2025
ce400b4
Comment out TimeWarp.Automation.Tests from default test run
StevenTCramer Nov 6, 2025
c76ba61
Align partial class analyzer tests with Fixie
StevenTCramer Nov 6, 2025
dcd16e8
Expand partial class analyzer coverage
StevenTCramer Nov 6, 2025
a384c19
Support kebab-case partial class filenames
StevenTCramer Nov 6, 2025
c658a8a
Align integration tests with Aspire resources
StevenTCramer Nov 6, 2025
3dd7ade
Align integration problem details handling
StevenTCramer Nov 6, 2025
486dadd
Remove extraneous whitespace
StevenTCramer Nov 7, 2025
ab320d4
Add query string support to Hello endpoint
StevenTCramer Nov 7, 2025
ecd7d13
Refactor BaseApiService response handling
StevenTCramer Nov 7, 2025
c8e10cb
Configure test infrastructure for proper dependency injection
StevenTCramer Nov 7, 2025
711ee0d
Update Hello endpoint tests with improved error diagnostics
StevenTCramer Nov 7, 2025
0614e37
Add VSCode launch configuration for debugging
StevenTCramer Nov 8, 2025
0767b1e
Add repository path definitions infrastructure
StevenTCramer Nov 8, 2025
9cf3ee6
Add VSCode launch configurations for all Fixie test projects
StevenTCramer Nov 8, 2025
1cf1953
Remove TimeWarp.Console template (replaced by TimeWarp.Nuru package)
StevenTCramer Nov 8, 2025
d78fd91
Migrate integration tests to Aspire DistributedApplicationTestingBuil…
StevenTCramer Nov 9, 2025
31ff243
Add VSCode workspace configuration for build and debug tasks
StevenTCramer Nov 9, 2025
59440ec
Add runfiles documentation for .NET 10 file-based apps
StevenTCramer Nov 9, 2025
bac49d8
Temporarily disable SourceGenerator and Playwright tests
StevenTCramer Nov 9, 2025
10dc2fe
Update NuGet packages - Wave 1: Platform Patches
StevenTCramer Nov 9, 2025
9d33764
Update gRPC packages from 2.67.0 to 2.71.0 (Wave 2 - Part 1)
StevenTCramer Nov 9, 2025
0bc7aa0
Update UI & Tooling packages (Wave 2 - Part 2)
StevenTCramer Nov 9, 2025
2e99d51
Update Serilog sink packages (Wave 2 - Part 3)
StevenTCramer Nov 9, 2025
90132dd
Update TimeWarp.Fixie from 3.0.0 to 3.1.0 (Wave 4)
StevenTCramer Nov 9, 2025
ae54cff
Update JetBrains.Annotations from 2024.3.0 to 2025.2.2
StevenTCramer Nov 9, 2025
c71ecc6
Update Microsoft.CodeAnalysis packages from 4.12.0 to 4.14.0
StevenTCramer Nov 9, 2025
104697e
Update OpenTelemetry packages from 1.11.x to 1.13.x
StevenTCramer Nov 9, 2025
4657926
Update FluentValidation.AspNetCore from 11.3.0 to 11.3.1
StevenTCramer Nov 9, 2025
abcea75
Update Riok.Mapperly and libphonenumber-csharp
StevenTCramer Nov 9, 2025
5631338
Update System.ServiceModel.Primitives from 8.1.1 to 8.1.2
StevenTCramer Nov 9, 2025
dcefd17
Update TimeWarp.SourceGenerators from 1.0.0-alpha.8 to 1.0.0-beta.7
StevenTCramer Nov 9, 2025
9d36658
Add Kanban task 042: Migrate from Swashbuckle to Scalar
StevenTCramer Nov 9, 2025
5787b89
Migrate from Swashbuckle to Scalar for API documentation
StevenTCramer Nov 9, 2025
91d1e2e
Remove deprecated FluentValidation.AspNetCore package
StevenTCramer Nov 9, 2025
18d52a7
Migrate from Swashbuckle to Scalar and remove deprecated FluentValida…
StevenTCramer Nov 9, 2025
3807784
Update FastEndpoints from 5.34.0 to 7.1.0
StevenTCramer Nov 9, 2025
5144a0a
Add Kanban task 043: Remove AutoMapper and document Mapperly
StevenTCramer Nov 9, 2025
184c2e5
Remove unused AutoMapper dependency
StevenTCramer Nov 9, 2025
d52bff6
Complete task 043: Remove AutoMapper and document Mapperly
StevenTCramer Nov 9, 2025
ee47c56
Update xunit.runner.visualstudio from 3.0.1 to 3.1.5
StevenTCramer Nov 9, 2025
cf4f967
Fix Aspire integration test resource name and endpoint
StevenTCramer Nov 9, 2025
4d91359
Update Microsoft.Azure.AppConfiguration.AspNetCore to 8.4.0
StevenTCramer Nov 10, 2025
43bbefc
Update Microsoft.NET.Test.Sdk to 18.0.0
StevenTCramer Nov 10, 2025
d22a996
Update Azure.Identity to 1.17.0
StevenTCramer Nov 10, 2025
2b948e0
Update Microsoft.Identity.Web to 4.0.1
StevenTCramer Nov 10, 2025
60003f1
Update NuGet package update task with completion status
StevenTCramer Nov 10, 2025
9c1a266
Fix Aspire breaking changes from package updates
StevenTCramer Nov 10, 2025
9ec0948
Update Aspire packages to 9.5.2
StevenTCramer Nov 10, 2025
89edfaf
Complete NuGet package update task documentation
StevenTCramer Nov 10, 2025
8fe4045
Rename WeatherForecastDto to TWeatherForecast and fix clone test
StevenTCramer Nov 10, 2025
764db61
Update documentation to use TUser naming convention
StevenTCramer Nov 10, 2025
ea0424f
Add TimeWarp Architecture repository avatar
StevenTCramer Nov 10, 2025
797942e
Fix FetchWeatherForecasts test by registering required services
StevenTCramer Nov 10, 2025
4fd743a
Update NuGet package task with final completion status
StevenTCramer Nov 10, 2025
6c49f87
Upgrade to .NET 10 and resolve build warnings
StevenTCramer Nov 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 62 additions & 36 deletions .github/workflows/sync-configurable-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,45 +53,71 @@ jobs:
git config --global user.email "github-actions[bot]@users.noreply.github.com"
./.github/scripts/sync-configurable-files.ps1

- name: Create Pull Request
- name: Check for existing PRs and create individual PRs
if: steps.sync.outputs.changes_made == 'true'
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.SYNC_PAT || secrets.GITHUB_TOKEN }}
commit-message: |
Sync configurable files from parent repository

Updated files: ${{ env.CHANGED_FILES }}
Source: ${{ steps.sync.outputs.parent_repo }}@${{ steps.sync.outputs.parent_branch }}

🤖 Generated with GitHub Actions
title: 'Sync configurable files from parent repository'
body: |
## Sync Configurable Files

This PR updates configurable files from the parent repository to maintain consistency.

**Source Repository:** `${{ steps.sync.outputs.parent_repo }}`
**Source Branch:** `${{ steps.sync.outputs.parent_branch }}`

### Files Updated
${{ env.CHANGED_FILES }}

### Files That Failed to Download
${{ env.FAILED_FILES }}

### Configuration
This workflow can be customized by:
- Modifying the `DEFAULT_FILES` environment variable in the workflow
- Using the manual trigger with custom file lists
- Adjusting the cron schedule for different sync frequencies

shell: pwsh
env:
GITHUB_TOKEN: ${{ secrets.SYNC_PAT || secrets.GITHUB_TOKEN }}
run: |
# Get list of changed files from environment variable
$changedFiles = $env:CHANGED_FILES -split ' '

Write-Host "Processing $($changedFiles.Count) changed files..."

foreach ($file in $changedFiles) {
if ([string]::IsNullOrWhiteSpace($file)) { continue }

# Create a branch name based on the file path
$branchName = "sync-file/$($file -replace '[/\\]', '-' -replace '\.', '-')"

Write-Host "`nProcessing file: $file"
Write-Host "Branch name: $branchName"

# Check if a PR already exists for this file
$existingPRs = gh pr list --json title,headRefName,state --jq ".[] | select(.headRefName == `"$branchName`" and .state == `"OPEN`")" 2>$null

if ($existingPRs) {
Write-Host "PR already exists for $file, skipping..."
continue
}

# Create a new branch for this file
git checkout -b $branchName

# Stage only this specific file
git reset --hard HEAD
$targetFile = Join-Path -Path ${{ github.workspace }} -ChildPath $file
$tempFile = Join-Path -Path $env:TEMP -ChildPath "parent-repo" -ChildPath $file
Copy-Item -Path $tempFile -Destination $targetFile -Force
git add $targetFile

# Commit the file
git commit -m "Sync $file from parent repository" -m "Source: ${{ steps.sync.outputs.parent_repo }}@${{ steps.sync.outputs.parent_branch }}" -m "🤖 Generated with GitHub Actions"

# Push the branch
git push origin $branchName --force

# Create PR using gh CLI
$prTitle = "Sync $file from parent repository"
$prBody = @"
## Sync Configurable File

This PR updates a configurable file from the parent repository to maintain consistency.

**File:** ``$file``
**Source Repository:** ``${{ steps.sync.outputs.parent_repo }}``
**Source Branch:** ``${{ steps.sync.outputs.parent_branch }}``

---

🤖 This PR was created automatically by the sync-configurable-files workflow.
branch: sync-configurable-files
branch-suffix: timestamp
delete-branch: true
"@

gh pr create --title "$prTitle" --body "$prBody" --base ${{ github.ref_name }} --head $branchName

# Return to main branch for next file
git checkout ${{ github.ref_name }}
}

- name: Output summary (already handled in PowerShell script)
shell: pwsh
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -451,3 +451,5 @@ GeneratedCode/
# Misc
/output.txt
**/Generated/
.agent/workspace/
TimeWarp.Architecture/.agent/workspace
96 changes: 96 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "fixie: Web.Server.Integration.Tests",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "dotnet",
"args": ["fixie", "Tests/ContainerApps/Web/Web.Server.Integration.Tests", "--debug"],
"cwd": "${workspaceFolder}/TimeWarp.Architecture",
"stopAtEntry": false,
"console": "internalConsole"
},
{
"name": "fixie: Web.Spa.Integration.Tests",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "dotnet",
"args": ["fixie", "Tests/ContainerApps/Web/Web.Spa.Integration.Tests", "--", "debug"],
"cwd": "${workspaceFolder}/TimeWarp.Architecture",
"stopAtEntry": false,
"console": "internalConsole"
},
{
"name": "fixie: Api.Server.Integration.Tests",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "dotnet",
"args": ["fixie", "Tests/ContainerApps/Api/Api.Server.Integration.Tests", "--debug"],
"cwd": "${workspaceFolder}/TimeWarp.Architecture",
"stopAtEntry": false,
"console": "internalConsole"
},
{
"name": "fixie: Aspire",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "dotnet",
"args": ["fixie", "Tests/ContainerApps/Aspire", "--debug"],
"cwd": "${workspaceFolder}/TimeWarp.Architecture",
"stopAtEntry": false,
"console": "internalConsole"
},
{
"name": "fixie: Common.Infrastructure.Tests",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "dotnet",
"args": ["fixie", "Tests/Common/Common.Infrastructure.Tests", "--debug"],
"cwd": "${workspaceFolder}/TimeWarp.Architecture",
"stopAtEntry": false,
"console": "internalConsole"
},
{
"name": "fixie: TimeWarp.Automation.Tests",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "dotnet",
"args": ["fixie", "Tests/Libraries/TimeWarp.Automation.Tests", "--debug"],
"cwd": "${workspaceFolder}/TimeWarp.Architecture",
"stopAtEntry": false,
"console": "internalConsole"
},
{
"name": "fixie: TimeWarp.Architecture.Analyzers.Tests",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "dotnet",
"args": ["fixie", "Tests/Analyzers/TimeWarp.Architecture.Analyzers.Tests", "--debug"],
"cwd": "${workspaceFolder}/TimeWarp.Architecture",
"stopAtEntry": false,
"console": "internalConsole"
},
{
"name": "fixie: TimeWarp.Architecture.SourceGenerator.Tests",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "dotnet",
"args": ["fixie", "Tests/Analyzers/TimeWarp.Architecture.SourceGenerator.Tests", "--debug"],
"cwd": "${workspaceFolder}/TimeWarp.Architecture",
"stopAtEntry": false,
"console": "internalConsole"
}
]
}
22 changes: 22 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"workbench.colorCustomizations": {
"activityBar.activeBackground": "#afcb75",
"activityBar.background": "#afcb75",
"activityBar.foreground": "#15202b",
"activityBar.inactiveForeground": "#15202b99",
"activityBarBadge.background": "#3d81a2",
"activityBarBadge.foreground": "#e7e7e7",
"commandCenter.border": "#15202b99",
"sash.hoverBorder": "#afcb75",
"statusBar.background": "#9abd50",
"statusBar.foreground": "#15202b",
"statusBarItem.hoverBackground": "#7f9e3c",
"statusBarItem.remoteBackground": "#9abd50",
"statusBarItem.remoteForeground": "#15202b",
"titleBar.activeBackground": "#9abd50",
"titleBar.activeForeground": "#15202b",
"titleBar.inactiveBackground": "#9abd5099",
"titleBar.inactiveForeground": "#15202b99"
},
"peacock.remoteColor": "#9abd50"
}
19 changes: 19 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "pwsh",
"args": [
"-File",
"${workspaceFolder}/TimeWarp.Architecture/Build.ps1"
],
"problemMatcher": "$msCompile",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
1 change: 0 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ This is a **multi-project repository** containing .NET project templates and sup

### Main Projects
- **TimeWarp.Architecture/** - Complete distributed microservices architecture template
- **TimeWarp.Console/** - Console application template
- **TimeWarp.Templates/** - Template packaging and documentation

## Development Commands
Expand Down
Loading