34 lines
No EOL
1.5 KiB
Markdown
34 lines
No EOL
1.5 KiB
Markdown
# Aether Project Rules for Claude Code
|
|
|
|
You are working on **Project Aether** — a beautiful, fast, native open-source Qt 6 client for the self-hosted Stoat backend.
|
|
|
|
**Non-negotiable rules (always follow):**
|
|
|
|
- Every source file (.cpp, .qml, CMakeLists.txt) must start with the exact AGPL-3.0 SPDX header:
|
|
```qml
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
// Copyright (C) 2026 Aether Contributors
|
|
//
|
|
// This file is part of Aether.
|
|
//
|
|
// Aether is free software: you can redistribute it and/or modify it
|
|
// under the terms of the GNU Affero General Public License as published
|
|
// by the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
|
|
Keep the modular QML structure: separate files in src/qml/components/, src/qml/styles/, src/qml/utils/.
|
|
Every QML file must import:
|
|
|
|
import QtQuick 2.15
|
|
import QtQuick.Controls 2.15
|
|
import QtQuick.Controls.Material 2.15
|
|
import QtQuick.Layouts 1.15
|
|
import Aether 1.0
|
|
|
|
Theme and Constants are singletons — always use Theme.xxx and Constants.xxx. Never use hard-coded colors or sizes.
|
|
Never use letterSpacing — use font.letterSpacing.
|
|
Never use modelData directly in Repeater — always use model.modelData or named roles.
|
|
When fixing errors, change only the necessary lines. Do not rewrite whole files unless asked.
|
|
Keep code clean, well-commented, and easily changeable later.
|
|
|
|
This is the permanent rule set for Aether. Follow it strictly in every response. |