desktop-team-doc 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/README.md +89 -0
  2. package/content/docs/README.md +227 -0
  3. package/content/docs/index.md +352 -0
  4. package/content/docs/instructions/coding-conventions/.clang-format +65 -0
  5. package/content/docs/instructions/coding-conventions/cpp.md +132 -0
  6. package/content/docs/instructions/coding-conventions/frontend.md +612 -0
  7. package/content/docs/instructions/coding-conventions/team-wide.md +176 -0
  8. package/content/docs/instructions/workflows/assets/jira-1.png +0 -0
  9. package/content/docs/instructions/workflows/assets/jira-comment.png +0 -0
  10. package/content/docs/instructions/workflows/assets/jira-release-note.png +0 -0
  11. package/content/docs/instructions/workflows/assets/jira-tag.png +0 -0
  12. package/content/docs/instructions/workflows/code-review.md +451 -0
  13. package/content/docs/instructions/workflows/git-branch-convention.md +246 -0
  14. package/content/docs/instructions/workflows/git-commit.md +95 -0
  15. package/content/docs/instructions/workflows/jira-process.md +173 -0
  16. package/content/docs/instructions/workflows/jira-ticket-guide.md +105 -0
  17. package/content/docs/instructions/workflows/pull-request-generation.md +319 -0
  18. package/content/docs/instructions/workflows/scrum-process.md +104 -0
  19. package/content/docs/instructions/workflows/survey-project-setup.md +76 -0
  20. package/content/docs/knowledge/architecture/README.md +11 -0
  21. package/content/docs/knowledge/architecture/audio-plugin-architecture.md +213 -0
  22. package/content/docs/knowledge/architecture/cross-platform-design.md +176 -0
  23. package/content/docs/knowledge/architecture/frontend-native-bridge.md +193 -0
  24. package/content/docs/knowledge/architecture/native-command.md +189 -0
  25. package/content/docs/knowledge/architecture/state-management-architecture.md +105 -0
  26. package/content/docs/knowledge/component-library/ControlComponent/README.md +281 -0
  27. package/content/docs/knowledge/component-library/ControlComponent/accessibility/accessibility-implementation.md +503 -0
  28. package/content/docs/knowledge/component-library/ControlComponent/common-mechanisms.md +278 -0
  29. package/content/docs/knowledge/component-library/ControlComponent/core/error-handling.md +451 -0
  30. package/content/docs/knowledge/component-library/ControlComponent/core/native-interface.md +515 -0
  31. package/content/docs/knowledge/component-library/ControlComponent/core/state-management.md +509 -0
  32. package/content/docs/knowledge/component-library/ControlComponent/creating-new-controls.md +654 -0
  33. package/content/docs/knowledge/component-library/ControlComponent/design/api-design-reference.md +1142 -0
  34. package/content/docs/knowledge/component-library/ControlComponent/design/design-principles.md +336 -0
  35. package/content/docs/knowledge/component-library/ControlComponent/design/styling-architecture.md +595 -0
  36. package/content/docs/knowledge/component-library/ControlComponent/design/visual-feedback.md +456 -0
  37. package/content/docs/knowledge/component-library/ControlComponent/development-environment.md +213 -0
  38. package/content/docs/knowledge/component-library/ControlComponent/interaction/gesture-algorithms.md +705 -0
  39. package/content/docs/knowledge/component-library/ControlComponent/interaction/touch-support.md +525 -0
  40. package/content/docs/knowledge/component-library/ControlComponent/interaction/value-processing-patterns.md +801 -0
  41. package/content/docs/knowledge/component-library/ControlComponent/interaction/velocity-damping-systems.md +741 -0
  42. package/content/docs/knowledge/component-library/ControlComponent/knob/architecture.md +490 -0
  43. package/content/docs/knowledge/component-library/ControlComponent/knob/how-to-use.md +304 -0
  44. package/content/docs/knowledge/component-library/ControlComponent/knob/index.md +105 -0
  45. package/content/docs/knowledge/component-library/ControlComponent/optimization/performance-benchmarks.md +535 -0
  46. package/content/docs/knowledge/component-library/ControlComponent/optimization/performance-optimization.md +1092 -0
  47. package/content/docs/knowledge/component-library/ControlComponent/quick-start.md +345 -0
  48. package/content/docs/knowledge/component-library/ControlComponent/slider/architecture.md +444 -0
  49. package/content/docs/knowledge/component-library/ControlComponent/slider/how-to-use.md +470 -0
  50. package/content/docs/knowledge/component-library/ControlComponent/slider/index.md +107 -0
  51. package/content/docs/knowledge/component-library/ControlComponent/testing-guide.md +950 -0
  52. package/content/docs/knowledge/component-library/ControlComponent/troubleshooting.md +657 -0
  53. package/content/docs/knowledge/component-library/frontend-develop/LICENSE.txt +176 -0
  54. package/content/docs/knowledge/component-library/frontend-develop/SKILL.md +124 -0
  55. package/content/docs/knowledge/component-library/frontend-develop/references/code-organization.md +620 -0
  56. package/content/docs/knowledge/component-library/frontend-develop/references/coding-standards.md +275 -0
  57. package/content/docs/knowledge/component-library/frontend-develop/references/component-reusability.md +559 -0
  58. package/content/docs/knowledge/component-library/frontend-develop/references/examples.md +554 -0
  59. package/content/docs/knowledge/component-library/frontend-develop/references/layout-separation.md +638 -0
  60. package/content/docs/knowledge/component-library/frontend-develop/references/performance-optimization.md +678 -0
  61. package/content/docs/knowledge/component-library/frontend-develop/references/state-management.md +331 -0
  62. package/content/docs/knowledge/component-library/frontend-develop/references/styling-guidelines.md +349 -0
  63. package/content/docs/knowledge/component-library/frontend-develop/references/type-safety.md +493 -0
  64. package/content/docs/knowledge/development/assets/cyberduck-aws-credentials.png +0 -0
  65. package/content/docs/knowledge/development/assets/postman-environment-setup.png +0 -0
  66. package/content/docs/knowledge/development/aws-storage.md +95 -0
  67. package/content/docs/knowledge/development/crm-system.md +22 -0
  68. package/content/docs/knowledge/development/glossary.md +246 -0
  69. package/content/docs/knowledge/development/pg-api-guide.md +71 -0
  70. package/content/docs/knowledge/development/staging-license-management.md +44 -0
  71. package/content/docs/knowledge/development/tech-stack.md +240 -0
  72. package/content/docs/knowledge/domain/popup-system.md +106 -0
  73. package/content/docs/knowledge/domain/sigpath.md +264 -0
  74. package/content/docs/knowledge/environment-setup/aax-signing-update.md +149 -0
  75. package/content/docs/knowledge/environment-setup/assets/aax-1.png +0 -0
  76. package/content/docs/knowledge/environment-setup/assets/aax-2.png +0 -0
  77. package/content/docs/knowledge/environment-setup/assets/aax-3.png +0 -0
  78. package/content/docs/knowledge/environment-setup/assets/aax-4.png +0 -0
  79. package/content/docs/knowledge/environment-setup/assets/aax-5.png +0 -0
  80. package/content/docs/knowledge/environment-setup/assets/aax-6.png +0 -0
  81. package/content/docs/knowledge/environment-setup/assets/aax-7.png +0 -0
  82. package/content/docs/knowledge/environment-setup/assets/buildmachine-1.png +0 -0
  83. package/content/docs/knowledge/environment-setup/assets/buildmachine-10.png +0 -0
  84. package/content/docs/knowledge/environment-setup/assets/buildmachine-11.png +0 -0
  85. package/content/docs/knowledge/environment-setup/assets/buildmachine-12.png +0 -0
  86. package/content/docs/knowledge/environment-setup/assets/buildmachine-13.png +0 -0
  87. package/content/docs/knowledge/environment-setup/assets/buildmachine-14.png +0 -0
  88. package/content/docs/knowledge/environment-setup/assets/buildmachine-2.png +0 -0
  89. package/content/docs/knowledge/environment-setup/assets/buildmachine-3.png +0 -0
  90. package/content/docs/knowledge/environment-setup/assets/buildmachine-4.png +0 -0
  91. package/content/docs/knowledge/environment-setup/assets/buildmachine-5.png +0 -0
  92. package/content/docs/knowledge/environment-setup/assets/buildmachine-6.png +0 -0
  93. package/content/docs/knowledge/environment-setup/assets/buildmachine-7.png +0 -0
  94. package/content/docs/knowledge/environment-setup/assets/buildmachine-8.png +0 -0
  95. package/content/docs/knowledge/environment-setup/assets/buildmachine-9.png +0 -0
  96. package/content/docs/knowledge/environment-setup/build-machine-setup.md +224 -0
  97. package/content/docs/knowledge/environment-setup/build-machine-troubleshooting.md +193 -0
  98. package/content/docs/knowledge/implementation-guides/adding-amp.md +190 -0
  99. package/content/docs/knowledge/implementation-guides/adding-fx.md +111 -0
  100. package/content/docs/knowledge/implementation-guides/cab-integration.md +194 -0
  101. package/content/docs/knowledge/implementation-guides/custom-pedal-integration.md +309 -0
  102. package/content/docs/knowledge/projects/BIAS_ONE_GUI/README.md +17 -0
  103. package/content/manifest.json +122 -0
  104. package/content/rules/cpp.mdc +135 -0
  105. package/content/rules/frontend.mdc +615 -0
  106. package/content/rules/index.mdc +256 -0
  107. package/content/rules/knowledge.mdc +46 -0
  108. package/content/rules/team-wide.mdc +179 -0
  109. package/content/rules/workflows.mdc +43 -0
  110. package/content/tools/agents/context-compressor.md +357 -0
  111. package/content/tools/agents/context-writer.md +328 -0
  112. package/content/tools/agents/release-notes-generator.md +389 -0
  113. package/content/tools/agents/srs-writer-agent.md +63 -0
  114. package/content/tools/mcp/README.md +25 -0
  115. package/content/tools/mcp/mcp-desktop-team.example.json +13 -0
  116. package/content/tools/skills/frontend-develop/LICENSE.txt +176 -0
  117. package/content/tools/skills/frontend-develop/SKILL.md +124 -0
  118. package/content/tools/skills/frontend-develop/references/code-organization.md +620 -0
  119. package/content/tools/skills/frontend-develop/references/coding-standards.md +275 -0
  120. package/content/tools/skills/frontend-develop/references/component-reusability.md +559 -0
  121. package/content/tools/skills/frontend-develop/references/examples.md +554 -0
  122. package/content/tools/skills/frontend-develop/references/layout-separation.md +638 -0
  123. package/content/tools/skills/frontend-develop/references/performance-optimization.md +678 -0
  124. package/content/tools/skills/frontend-develop/references/state-management.md +331 -0
  125. package/content/tools/skills/frontend-develop/references/styling-guidelines.md +349 -0
  126. package/content/tools/skills/frontend-develop/references/type-safety.md +493 -0
  127. package/content/tools/slash-commands/commit.md +17 -0
  128. package/content/tools/slash-commands/context-compress.md +149 -0
  129. package/content/tools/slash-commands/context-write.md +92 -0
  130. package/content/tools/slash-commands/jira.md +12 -0
  131. package/content/tools/slash-commands/pr-gen.md +12 -0
  132. package/content/tools/slash-commands/pr-review.md +12 -0
  133. package/dist/commands/detect.d.ts +1 -0
  134. package/dist/commands/detect.js +33 -0
  135. package/dist/commands/install.d.ts +1 -0
  136. package/dist/commands/install.js +100 -0
  137. package/dist/commands/uninstall.d.ts +1 -0
  138. package/dist/commands/uninstall.js +132 -0
  139. package/dist/index.d.ts +2 -0
  140. package/dist/index.js +53 -0
  141. package/dist/lib/detect-env.d.ts +3 -0
  142. package/dist/lib/detect-env.js +52 -0
  143. package/dist/lib/prompt-env.d.ts +3 -0
  144. package/dist/lib/prompt-env.js +16 -0
  145. package/dist/lib/resolve-doc-repo.d.ts +14 -0
  146. package/dist/lib/resolve-doc-repo.js +61 -0
  147. package/dist/lib/symlink.d.ts +7 -0
  148. package/dist/lib/symlink.js +60 -0
  149. package/dist/lib/sync-from-manifest.d.ts +8 -0
  150. package/dist/lib/sync-from-manifest.js +64 -0
  151. package/package.json +46 -0
@@ -0,0 +1,65 @@
1
+ Language: Cpp
2
+ Standard: Latest
3
+
4
+ ColumnLimit: 100
5
+ PenaltyExcessCharacter: 10000
6
+ PenaltyBreakString: 50
7
+ LineEnding: LF
8
+
9
+ # Indentation and Braces
10
+ IndentWidth: 4
11
+ ContinuationIndentWidth: 8
12
+ AlignAfterOpenBracket: Align
13
+ AlignOperands: Align
14
+ AllowShortIfStatementsOnASingleLine: WithoutElse
15
+ AllowShortLoopsOnASingleLine: true
16
+ AllowShortFunctionsOnASingleLine: Inline
17
+ AlwaysBreakBeforeMultilineStrings: false
18
+ AlwaysBreakTemplateDeclarations: Yes
19
+ BreakBeforeTernaryOperators: true
20
+ BreakConstructorInitializersBeforeComma: false
21
+ ConstructorInitializerAllOnOneLineOrOnePerLine: true
22
+ Cpp11BracedListStyle: true
23
+ IndentCaseLabels: false
24
+ AllowShortBlocksOnASingleLine: Always
25
+ BreakBeforeBraces: Custom
26
+ BraceWrapping:
27
+ AfterClass: true
28
+ AfterControlStatement: Never
29
+ AfterEnum: true
30
+ AfterFunction: true
31
+ AfterStruct: true
32
+ AfterUnion: true
33
+ BeforeCatch: false
34
+ BeforeElse: false
35
+ BeforeLambdaBody: true
36
+
37
+ # Spaces
38
+ DerivePointerAlignment: false
39
+ PointerAlignment: Right
40
+ MaxEmptyLinesToKeep: 2
41
+ SpaceBeforeParens: ControlStatements
42
+ SpaceBeforeAssignmentOperators: true
43
+ SpaceInEmptyParentheses: false
44
+ SpacesBeforeTrailingComments: 1
45
+ SpacesInAngles: false
46
+ SpacesInCStyleCastParentheses: false
47
+ SpacesInParentheses: false
48
+ SpacesInSquareBrackets: false
49
+ UseTab: Never
50
+ ConstructorInitializerIndentWidth: 2
51
+ AccessModifierOffset: -4
52
+
53
+ # Lines
54
+ EmptyLineAfterAccessModifier: Never
55
+ EmptyLineBeforeAccessModifier: LogicalBlock
56
+ InsertNewlineAtEOF: true
57
+
58
+ # Comments
59
+ NamespaceIndentation: Inner
60
+ AlignTrailingComments: true
61
+ FixNamespaceComments: true
62
+
63
+ # Others
64
+ BinPackParameters: true
65
+ BinPackArguments: true
@@ -0,0 +1,132 @@
1
+ # C++ Coding Standards
2
+
3
+ *Last Updated: 2025-10-14*
4
+
5
+ This document outlines the C++ coding standards for the Desktop Team, specifically for BIAS_ONE and related C++ projects.
6
+
7
+ ## Formatting
8
+
9
+ * All C++ code formatting MUST strictly adhere to the `.clang-format` configuration file located in the project root.
10
+ * Ensure any generated or modified code would pass checks using this `.clang-format` file.
11
+ * A reference `.clang-format` configuration is available at [`.clang-format`](./.clang-format) in this directory.
12
+
13
+ ### Key Formatting Rules (from `.clang-format`)
14
+
15
+ * **Indentation**: 4 spaces (not tabs)
16
+ * **Line Length**: Maximum 100 characters
17
+ * **Brace Placement**:
18
+ * Functions, classes, structs, enums, unions: Opening brace on separate line
19
+ * Control statements (if, for, while, etc.): Opening brace on same line
20
+ * Lambda bodies: Opening brace on separate line
21
+ * **Trailing Whitespace**: None allowed
22
+ * **Empty Lines**: No indentation on empty lines; max 2 consecutive empty lines
23
+ * **Pointer Alignment**: Right-aligned (e.g., `int *ptr`, not `int* ptr`)
24
+
25
+ **Note**: These C++ formatting rules differ from team-wide defaults. When conflicts arise, `.clang-format` is the source of truth for C++ code.
26
+
27
+ ## Naming Rules
28
+
29
+ ### General Naming
30
+
31
+ * Names must be descriptive and clear; avoid unclear abbreviations.
32
+ * Commonly recognized abbreviations (e.g., `i`, `T`, `DNS`, `LSTM`) are acceptable.
33
+ * Use full capitalization for acronyms within camelCase names (e.g., `startRPC`, `dnsEntryCount`, not `startRpc`).
34
+ * Template parameter names follow type naming (UpperCamelCase) if they are types, or variable naming (lowerCamelCase) if they are non-types.
35
+ * Namespace names are lowercase with underscores as separators (e.g., `util_embedded_store`).
36
+
37
+ ### File Names
38
+
39
+ * Use UpperCamelCase (e.g., `PresetManager`).
40
+ * Header files use `.hpp`, source files use `.cpp`.
41
+
42
+ ### Type Names
43
+
44
+ * Use UpperCamelCase without underscores for classes, structs, type aliases (`using`/`typedef`), enums, and type template parameters (e.g., `UrlTable`, `PropertiesMap`, `UrlTableErrors`).
45
+
46
+ ### Variable Names
47
+
48
+ * Use lowerCamelCase.
49
+ * Class member non-static variables MUST end with an underscore (`_`) (e.g., `dataMember_`, `pool_`).
50
+ * Struct member variables MUST NOT end with an underscore (e.g., `dataMember`).
51
+ * Do not encode type in variable names (e.g., avoid `strDeviceName`, `pStr`).
52
+
53
+ ### Constant Names
54
+
55
+ * Prefix with `k` and use CamelCase (e.g., `kDaysInAWeek`, `kAndroid8_0_0`). Underscores only if needed for readability within the name itself.
56
+
57
+ ### Enum Names
58
+
59
+ * Use scoped enums: `enum class EnumName { ... };`.
60
+ * Enum type name (`EnumName`): UpperCamelCase.
61
+ * Enum values: lowerCamelCase (like variables) (e.g., `errorOutOfMemory`).
62
+
63
+ ## Functions and Methods
64
+
65
+ * Names use lowerCamelCase (e.g., `doFunc`).
66
+ * Opening `{` and closing `}` braces must be on separate lines (enforced by `.clang-format`).
67
+ * Each function should perform a single, clearly defined task. Refactor if the name isn't descriptive.
68
+ * Parameter Order: Input (`const &`) first, then modification (`&`), then output (`&`).
69
+ * Prefer returning values (using `std::tuple`, structs, etc.) over output parameters.
70
+
71
+ **Example**:
72
+
73
+ ```cpp
74
+ auto processData(const std::string &input, int &counter) -> std::vector<int>
75
+ {
76
+ // Function body
77
+ counter++;
78
+ return result;
79
+ }
80
+ ```
81
+
82
+ ## Lambda Functions
83
+
84
+ * Prefer explicit capture lists (e.g., `[x, &y, z]`) over default capture (`[=]`, `[&]`).
85
+ * Use `[=]` capture only when necessary.
86
+ * Declare lambdas locally within the function if used only there. Consider making them private class methods if reused.
87
+
88
+ ## `auto` Usage
89
+
90
+ ### Variables
91
+
92
+ * Prefer `auto` for declarations, especially with complex/long types (e.g., `auto message = std::string{};`, `constexpr auto kEnable...`).
93
+ * Exception for C-style API init: Declare with explicit type first (`int value; initValue(&value);`), or use an immediately-invoked lambda for const-correct initialization: `auto const value = []{ int v; initValue(&v); return v; }();`.
94
+
95
+ ### Function Return Types
96
+
97
+ * Use `auto -> TrailingReturnType;` (e.g., `auto doFunction() -> std::string;`).
98
+ * Exception for Return Types: Short `inline`, `constexpr`, or `consteval` functions can use plain `auto` deduction if the return type is obvious (e.g., `constexpr auto plusOne(int value)`).
99
+ * Use `decltype(auto)` sparingly, primarily for perfect forwarding or preserving reference types in getters (e.g., `auto& getProperty() { return property_; }`).
100
+
101
+ ## Class Structure
102
+
103
+ ### Order of declarations
104
+
105
+ 1. `public:` types (enums, structs), static methods, constructors/destructor/operators, public methods.
106
+ 2. `public:` member variables (use sparingly).
107
+ 3. `protected:` (use minimally).
108
+ 4. `private:` methods.
109
+ 5. `private:` member variables.
110
+
111
+ * Use separate `public:` and `private:` sections for methods vs. member variables for clarity.
112
+
113
+ ## Pointers and References
114
+
115
+ * Use smart pointers (`std::unique_ptr`, `std::shared_ptr`) to manage ownership instead of raw pointers.
116
+ * Prefer references (`const T&`, `T&`) over raw pointers (`T*`).
117
+ * Use raw pointers only when:
118
+ * Rebinding (pointing to different objects) is needed.
119
+ * `nullptr` representation is needed.
120
+ * Interfacing with C APIs or legacy code requires them.
121
+
122
+ ## Miscellaneous
123
+
124
+ * **Header Guards**: Use `#pragma once`.
125
+
126
+ ## Commenting Policy
127
+
128
+ See [Team-wide Coding Conventions](./team-wide.md#commenting-policy) for the team's commenting policy which applies to all languages including C++.
129
+
130
+ ## Related Resources
131
+
132
+ * [Team-wide Coding Conventions](./team-wide.md) - Universal coding standards across all languages