From 4527829bac77669e710401d50484800caa9f4117 Mon Sep 17 00:00:00 2001 From: Cody Seibert Date: Tue, 9 Dec 2025 14:08:23 -0500 Subject: [PATCH] feat: Add Unlicense (more permissive than MIT) - Add LICENSE file with Unlicense which dedicates the software to the public domain --- LICENSE | 24 ++++ app/package.json | 1 + app/src/components/layout/sidebar.tsx | 168 +++++++++++++++++--------- 3 files changed, 134 insertions(+), 59 deletions(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..fdddb29a --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/app/package.json b/app/package.json index c4cfb7e7..ff8489ee 100644 --- a/app/package.json +++ b/app/package.json @@ -2,6 +2,7 @@ "name": "automaker", "version": "0.1.0", "private": true, + "license": "Unlicense", "main": "electron/main.js", "scripts": { "dev": "next dev -p 3007", diff --git a/app/src/components/layout/sidebar.tsx b/app/src/components/layout/sidebar.tsx index 81cab1ba..6652a0ec 100644 --- a/app/src/components/layout/sidebar.tsx +++ b/app/src/components/layout/sidebar.tsx @@ -103,9 +103,12 @@ export function Sidebar() { setCurrentProject(project); if (initResult.createdFiles && initResult.createdFiles.length > 0) { - toast.success(initResult.isNewProject ? "Project initialized" : "Project updated", { - description: `Set up ${initResult.createdFiles.length} file(s) in .automaker`, - }); + toast.success( + initResult.isNewProject ? "Project initialized" : "Project updated", + { + description: `Set up ${initResult.createdFiles.length} file(s) in .automaker`, + } + ); } else { toast.success("Project opened", { description: `Opened ${name}`, @@ -124,28 +127,56 @@ export function Sidebar() { { label: "Project", items: [ - { id: "board", label: "Kanban Board", icon: LayoutGrid, shortcut: NAV_SHORTCUTS.board }, - { id: "agent", label: "Agent Runner", icon: Bot, shortcut: NAV_SHORTCUTS.agent }, + { + id: "board", + label: "Kanban Board", + icon: LayoutGrid, + shortcut: NAV_SHORTCUTS.board, + }, + { + id: "agent", + label: "Agent Runner", + icon: Bot, + shortcut: NAV_SHORTCUTS.agent, + }, ], }, { label: "Tools", items: [ - { id: "spec", label: "Spec Editor", icon: FileText, shortcut: NAV_SHORTCUTS.spec }, - { id: "context", label: "Context", icon: BookOpen, shortcut: NAV_SHORTCUTS.context }, - { id: "tools", label: "Agent Tools", icon: Wrench, shortcut: NAV_SHORTCUTS.tools }, + { + id: "spec", + label: "Spec Editor", + icon: FileText, + shortcut: NAV_SHORTCUTS.spec, + }, + { + id: "context", + label: "Context", + icon: BookOpen, + shortcut: NAV_SHORTCUTS.context, + }, + { + id: "tools", + label: "Agent Tools", + icon: Wrench, + shortcut: NAV_SHORTCUTS.tools, + }, ], }, ]; // Handler for selecting a project by number key - const selectProjectByNumber = useCallback((num: number) => { - const projectIndex = num - 1; - if (projectIndex >= 0 && projectIndex < projects.length) { - setCurrentProject(projects[projectIndex]); - setIsProjectPickerOpen(false); - } - }, [projects, setCurrentProject]); + const selectProjectByNumber = useCallback( + (num: number) => { + const projectIndex = num - 1; + if (projectIndex >= 0 && projectIndex < projects.length) { + setCurrentProject(projects[projectIndex]); + setIsProjectPickerOpen(false); + } + }, + [projects, setCurrentProject] + ); // Handle number key presses when project picker is open useEffect(() => { @@ -215,7 +246,13 @@ export function Sidebar() { } return shortcuts; - }, [currentProject, setCurrentView, toggleSidebar, projects.length, handleOpenFolder]); + }, [ + currentProject, + setCurrentView, + toggleSidebar, + projects.length, + handleOpenFolder, + ]); // Register keyboard shortcuts useKeyboardShortcuts(navigationShortcuts); @@ -232,36 +269,37 @@ export function Sidebar() { )} data-testid="sidebar" > - {/* Floating Collapse Toggle Button - Desktop only */} -
- + {/* Floating Collapse Toggle Button - Desktop only - At border intersection */} +
+
{/* Logo */}
@@ -282,34 +320,46 @@ export function Sidebar() { Automaker
- - {/* Project Actions */} - {sidebarOpen && ( -
- - -
- )}
+ {/* Project Actions - Moved above project selector */} + {sidebarOpen && ( +
+ + +
+ )} + {/* Project Selector */} {sidebarOpen && projects.length > 0 && (
- +
- );