# ss-tools Development Guidelines Auto-generated from all feature plans. Last updated: 2025-12-19 ## Knowledge Graph (GRACE) **CRITICAL**: This project uses a GRACE Knowledge Graph for context. Always load the root map first: - **Root Map**: `.ai/ROOT.md` -> `[DEF:Project_Knowledge_Map:Root]` - **Project Map**: `.ai/PROJECT_MAP.md` -> `[DEF:Project_Map]` - **Standards**: Read `.ai/standards/` for architecture and style rules. ## Active Technologies - Python 3.9+, Node.js 18+ + `uvicorn`, `npm`, `bash` (003-project-launch-script) - Python 3.9+, Node.js 18+ + SvelteKit, FastAPI, Tailwind CSS (inferred from existing frontend) (004-integrate-svelte-kit) - N/A (Frontend integration) (004-integrate-svelte-kit) - Python 3.9+, Node.js 18+ + FastAPI, SvelteKit, Tailwind CSS, Pydantic (005-fix-ui-ws-validation) - N/A (Configuration based) (005-fix-ui-ws-validation) - Filesystem (plugins, logs, backups), SQLite (optional, for job history if needed) (005-fix-ui-ws-validation) - Python 3.9+ (Backend), Node.js 18+ (Frontend) + FastAPI, SvelteKit, Tailwind CSS (007-migration-dashboard-grid) - N/A (Superset API integration) (007-migration-dashboard-grid) - Python 3.9+ (Backend), Node.js 18+ (Frontend) + FastAPI, SvelteKit, Tailwind CSS, Pydantic, Superset API (007-migration-dashboard-grid) - N/A (Superset API integration - read-only for metadata) (007-migration-dashboard-grid) - Python 3.9+ (backend), Node.js 18+ (frontend) + FastAPI, SvelteKit, Tailwind CSS, Pydantic, SQLAlchemy, Superset API (008-migration-ui-improvements) - SQLite (optional for job history), existing database for mappings (008-migration-ui-improvements) - Python 3.9+, Node.js 18+ + FastAPI, SvelteKit, Tailwind CSS, Pydantic, SQLAlchemy, Superset API (008-migration-ui-improvements) - Python 3.9+, Node.js 18+ + FastAPI, APScheduler, SQLAlchemy, SvelteKit, Tailwind CSS (009-backup-scheduler) - SQLite (`tasks.db`), JSON (`config.json`) (009-backup-scheduler) - Python 3.9+ (Backend), Node.js 18+ (Frontend) + FastAPI, SvelteKit, Tailwind CSS, Pydantic, SQLAlchemy, `superset_tool` (internal lib) (010-refactor-cli-to-web) - SQLite (for job history/results, connection configs), Filesystem (for temporary file uploads) (010-refactor-cli-to-web) - Python 3.9+ + FastAPI, Pydantic, requests, pyyaml (migrated from superset_tool) (012-remove-superset-tool) - SQLite (tasks.db, migrations.db), Filesystem (012-remove-superset-tool) - Filesystem (local git repo), SQLite (for GitServerConfig, Environment) (011-git-integration-dashboard) - Python 3.9+ (Backend), Node.js 18+ (Frontend) + FastAPI, SvelteKit, GitPython (or CLI git), Pydantic, SQLAlchemy, Superset API (011-git-integration-dashboard) - SQLite (for config/history), Filesystem (local Git repositories) (011-git-integration-dashboard) - Node.js 18+ (Frontend Build), Svelte 5.x + SvelteKit, Tailwind CSS, `date-fns` (existing) (013-unify-frontend-css) - LocalStorage (for language preference) (013-unify-frontend-css) - Python 3.9+ (Backend), Node.js 18+ (Frontend) + FastAPI (Backend), SvelteKit (Frontend) (014-file-storage-ui) - Local Filesystem (for artifacts), Config (for storage path) (014-file-storage-ui) - Python 3.9+ (Backend), Node.js 18+ (Frontend) + FastAPI (Backend), SvelteKit + Tailwind CSS (Frontend) (015-frontend-nav-redesign) - N/A (UI reorganization and API integration) (015-frontend-nav-redesign) - SQLite (`auth.db`) for Users, Roles, Permissions, and Mappings. (016-multi-user-auth) - SQLite (existing `tasks.db` for results, `auth.db` for permissions, `mappings.db` or new `plugins.db` for provider config/metadata) (017-llm-analysis-plugin) - Python 3.9+ (Backend), Node.js 18+ (Frontend) + FastAPI, SvelteKit, Tailwind CSS, SQLAlchemy, WebSocket (existing) (019-superset-ux-redesign) - SQLite (tasks.db, auth.db, migrations.db) - no new database tables required (019-superset-ux-redesign) - Python 3.9+ (backend), Node.js 18+ (frontend) + FastAPI, SvelteKit, Tailwind CSS, SQLAlchemy/Pydantic task models, existing task/websocket stack (020-task-reports-design) - SQLite task/result persistence (existing task DB), filesystem only for existing artifacts (no new primary store required) (020-task-reports-design) - Python 3.9+ (Backend), Node.js 18+ (Frontend Build) (001-plugin-arch-svelte-ui) ## Project Structure ```text backend/ frontend/ tests/ ``` ## Commands cd src; pytest; ruff check . ## Code Style Python 3.9+ (Backend), Node.js 18+ (Frontend Build): Follow standard conventions ## Recent Changes - 020-task-reports-design: Added Python 3.9+ (backend), Node.js 18+ (frontend) + FastAPI, SvelteKit, Tailwind CSS, SQLAlchemy/Pydantic task models, existing task/websocket stack - 019-superset-ux-redesign: Added Python 3.9+ (Backend), Node.js 18+ (Frontend) + FastAPI, SvelteKit, Tailwind CSS, SQLAlchemy, WebSocket (existing) - 017-llm-analysis-plugin: Added Python 3.9+ (Backend), Node.js 18+ (Frontend)