chore: initial commit of TaskTracker project

Existing ASP.NET API with vanilla JS SPA, WindowWatcher, Chrome extension, and MCP server.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-26 22:08:45 -05:00
commit e12f78c479
66 changed files with 5170 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
namespace TaskTracker.Core.DTOs;
public class ApiResponse<T>
{
public bool Success { get; set; }
public T? Data { get; set; }
public string? Error { get; set; }
public static ApiResponse<T> Ok(T data) => new() { Success = true, Data = data };
public static ApiResponse<T> Fail(string error) => new() { Success = false, Error = error };
}
public class ApiResponse
{
public bool Success { get; set; }
public string? Error { get; set; }
public static ApiResponse Ok() => new() { Success = true };
public static ApiResponse Fail(string error) => new() { Success = false, Error = error };
}

View File

@@ -0,0 +1,9 @@
namespace TaskTracker.Core.DTOs;
public class ContextEventRequest
{
public string Source { get; set; } = string.Empty;
public string AppName { get; set; } = string.Empty;
public string WindowTitle { get; set; } = string.Empty;
public string? Url { get; set; }
}

View File

@@ -0,0 +1,10 @@
namespace TaskTracker.Core.DTOs;
public class ContextSummaryItem
{
public string AppName { get; set; } = string.Empty;
public string Category { get; set; } = string.Empty;
public int EventCount { get; set; }
public DateTime FirstSeen { get; set; }
public DateTime LastSeen { get; set; }
}

View File

@@ -0,0 +1,9 @@
namespace TaskTracker.Core.DTOs;
public class CreateAppMappingRequest
{
public string Pattern { get; set; } = string.Empty;
public string MatchType { get; set; } = string.Empty;
public string Category { get; set; } = string.Empty;
public string? FriendlyName { get; set; }
}

View File

@@ -0,0 +1,9 @@
using TaskTracker.Core.Enums;
namespace TaskTracker.Core.DTOs;
public class CreateNoteRequest
{
public string Content { get; set; } = string.Empty;
public NoteType Type { get; set; } = NoteType.General;
}

View File

@@ -0,0 +1,9 @@
namespace TaskTracker.Core.DTOs;
public class CreateTaskRequest
{
public string Title { get; set; } = string.Empty;
public string? Description { get; set; }
public string? Category { get; set; }
public int? ParentTaskId { get; set; }
}

View File

@@ -0,0 +1,6 @@
namespace TaskTracker.Core.DTOs;
public class TaskActionRequest
{
public string? Note { get; set; }
}