Add vibe-kanban

This commit is contained in:
2025-12-31 01:31:54 +07:00
parent 488d7c2a76
commit a37b59f29a
41 changed files with 2004 additions and 0 deletions

BIN
src/Managing.Api/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -35,6 +35,7 @@
<PackageReference Include="xunit" Version="2.8.0"/>
<PackageReference Include="Polly" Version="8.4.0"/>
<PackageReference Include="Polly.Extensions.Http" Version="3.0.0"/>
<PackageReference Include="DotNetEnv" Version="3.1.1"/>
</ItemGroup>
<ItemGroup>

View File

@@ -29,6 +29,46 @@ using Serilog.Events;
using Serilog.Sinks.Elasticsearch;
using OpenApiSecurityRequirement = Microsoft.OpenApi.Models.OpenApiSecurityRequirement;
using OpenApiSecurityScheme = NSwag.OpenApiSecurityScheme;
using DotNetEnv;
// Optionally load .env file if it exists (primarily for Vibe Kanban worktrees)
// This is optional - if no .env file exists, the app will use system env vars and appsettings.json
// This must happen before WebApplication.CreateBuilder to ensure env vars are available
var enableEnvFile = Environment.GetEnvironmentVariable("ENABLE_ENV_FILE") != "false"; // Can be disabled via env var
if (enableEnvFile)
{
// Try multiple locations: current directory, project root, and solution root
var envFilePaths = new[]
{
Path.Combine(Directory.GetCurrentDirectory(), ".env"), // Current working directory
Path.Combine(AppContext.BaseDirectory, ".env"), // Executable directory
Path.GetFullPath(Path.Combine(AppContext.BaseDirectory, "..", "..", "..", "..", ".env")), // Project root (from bin/Debug/net8.0)
Path.GetFullPath(Path.Combine(Directory.GetCurrentDirectory(), ".env")), // Current directory (absolute)
};
string? loadedEnvPath = null;
foreach (var envPath in envFilePaths)
{
if (File.Exists(envPath))
{
try
{
Env.Load(envPath);
loadedEnvPath = envPath;
Console.WriteLine($"✅ Loaded .env file from: {envPath} (optional - for Vibe Kanban worktrees)");
break;
}
catch (Exception ex)
{
Console.WriteLine($"⚠️ Failed to load .env file from {envPath}: {ex.Message}");
}
}
}
// Silently continue if no .env file found - this is expected in normal operation
// .env file is only needed for Vibe Kanban worktrees
}
// Builder
var builder = WebApplication.CreateBuilder(args);