Dieser Commit ist enthalten in:
Claude Project Manager
2025-07-08 13:13:46 +02:00
Ursprung d1667f9e0d
Commit 5f32daf3a4
15 geänderte Dateien mit 1139 neuen und 136 gelöschten Zeilen

Datei anzeigen

@ -58,10 +58,12 @@ class ProjectManager:
self.projects: Dict[str, Project] = {}
self.vps_project = None
self.admin_panel_project = None
self.activity_server_project = None
self._ensure_data_dir()
self.load_projects()
self._initialize_vps_project()
self._initialize_admin_panel_project()
self._initialize_activity_server_project()
def _ensure_data_dir(self):
"""Ensure data directory exists"""
@ -101,6 +103,22 @@ class ProjectManager:
else:
self.admin_panel_project = self.projects[admin_id]
def _initialize_activity_server_project(self):
"""Initialize the permanent Activity Server project"""
activity_id = "activity-server-permanent"
if activity_id not in self.projects:
self.activity_server_project = Project(
name="Activity Server",
path="/home/claude-dev/cpm-activity-server",
project_id=activity_id
)
self.activity_server_project.description = "CPM Activity Server"
self.activity_server_project.tags = ["activity", "server", "cpm"]
self.projects[activity_id] = self.activity_server_project
self.save_projects()
else:
self.activity_server_project = self.projects[activity_id]
def load_projects(self):
"""Load projects from JSON file"""
logger.info("Loading projects from file")
@ -162,12 +180,13 @@ class ProjectManager:
def get_all_projects(self) -> List[Project]:
"""Get all projects sorted alphabetically by name"""
projects = list(self.projects.values())
# Sort alphabetically, but keep VPS and Admin Panel first
# Sort alphabetically, but keep VPS projects first
vps = [p for p in projects if p.id == "vps-permanent"]
admin = [p for p in projects if p.id == "admin-panel-permanent"]
others = [p for p in projects if p.id not in ["vps-permanent", "admin-panel-permanent"]]
activity = [p for p in projects if p.id == "activity-server-permanent"]
others = [p for p in projects if p.id not in ["vps-permanent", "admin-panel-permanent", "activity-server-permanent"]]
others.sort(key=lambda p: p.name.lower()) # Sort alphabetically by name (case-insensitive)
return vps + admin + others
return vps + admin + activity + others
def update_project(self, project_id: str, **kwargs):
"""Update project properties"""