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,135 @@
1
+ ---
2
+ alwaysApply: true
3
+ ---
4
+ # C++ Coding Standards
5
+
6
+ *Last Updated: 2025-10-14*
7
+
8
+ This document outlines the C++ coding standards for the Desktop Team, specifically for BIAS_ONE and related C++ projects.
9
+
10
+ ## Formatting
11
+
12
+ * All C++ code formatting MUST strictly adhere to the `.clang-format` configuration file located in the project root.
13
+ * Ensure any generated or modified code would pass checks using this `.clang-format` file.
14
+ * A reference `.clang-format` configuration is available at [`.clang-format`](./.clang-format) in this directory.
15
+
16
+ ### Key Formatting Rules (from `.clang-format`)
17
+
18
+ * **Indentation**: 4 spaces (not tabs)
19
+ * **Line Length**: Maximum 100 characters
20
+ * **Brace Placement**:
21
+ * Functions, classes, structs, enums, unions: Opening brace on separate line
22
+ * Control statements (if, for, while, etc.): Opening brace on same line
23
+ * Lambda bodies: Opening brace on separate line
24
+ * **Trailing Whitespace**: None allowed
25
+ * **Empty Lines**: No indentation on empty lines; max 2 consecutive empty lines
26
+ * **Pointer Alignment**: Right-aligned (e.g., `int *ptr`, not `int* ptr`)
27
+
28
+ **Note**: These C++ formatting rules differ from team-wide defaults. When conflicts arise, `.clang-format` is the source of truth for C++ code.
29
+
30
+ ## Naming Rules
31
+
32
+ ### General Naming
33
+
34
+ * Names must be descriptive and clear; avoid unclear abbreviations.
35
+ * Commonly recognized abbreviations (e.g., `i`, `T`, `DNS`, `LSTM`) are acceptable.
36
+ * Use full capitalization for acronyms within camelCase names (e.g., `startRPC`, `dnsEntryCount`, not `startRpc`).
37
+ * Template parameter names follow type naming (UpperCamelCase) if they are types, or variable naming (lowerCamelCase) if they are non-types.
38
+ * Namespace names are lowercase with underscores as separators (e.g., `util_embedded_store`).
39
+
40
+ ### File Names
41
+
42
+ * Use UpperCamelCase (e.g., `PresetManager`).
43
+ * Header files use `.hpp`, source files use `.cpp`.
44
+
45
+ ### Type Names
46
+
47
+ * Use UpperCamelCase without underscores for classes, structs, type aliases (`using`/`typedef`), enums, and type template parameters (e.g., `UrlTable`, `PropertiesMap`, `UrlTableErrors`).
48
+
49
+ ### Variable Names
50
+
51
+ * Use lowerCamelCase.
52
+ * Class member non-static variables MUST end with an underscore (`_`) (e.g., `dataMember_`, `pool_`).
53
+ * Struct member variables MUST NOT end with an underscore (e.g., `dataMember`).
54
+ * Do not encode type in variable names (e.g., avoid `strDeviceName`, `pStr`).
55
+
56
+ ### Constant Names
57
+
58
+ * Prefix with `k` and use CamelCase (e.g., `kDaysInAWeek`, `kAndroid8_0_0`). Underscores only if needed for readability within the name itself.
59
+
60
+ ### Enum Names
61
+
62
+ * Use scoped enums: `enum class EnumName { ... };`.
63
+ * Enum type name (`EnumName`): UpperCamelCase.
64
+ * Enum values: lowerCamelCase (like variables) (e.g., `errorOutOfMemory`).
65
+
66
+ ## Functions and Methods
67
+
68
+ * Names use lowerCamelCase (e.g., `doFunc`).
69
+ * Opening `{` and closing `}` braces must be on separate lines (enforced by `.clang-format`).
70
+ * Each function should perform a single, clearly defined task. Refactor if the name isn't descriptive.
71
+ * Parameter Order: Input (`const &`) first, then modification (`&`), then output (`&`).
72
+ * Prefer returning values (using `std::tuple`, structs, etc.) over output parameters.
73
+
74
+ **Example**:
75
+
76
+ ```cpp
77
+ auto processData(const std::string &input, int &counter) -> std::vector<int>
78
+ {
79
+ // Function body
80
+ counter++;
81
+ return result;
82
+ }
83
+ ```
84
+
85
+ ## Lambda Functions
86
+
87
+ * Prefer explicit capture lists (e.g., `[x, &y, z]`) over default capture (`[=]`, `[&]`).
88
+ * Use `[=]` capture only when necessary.
89
+ * Declare lambdas locally within the function if used only there. Consider making them private class methods if reused.
90
+
91
+ ## `auto` Usage
92
+
93
+ ### Variables
94
+
95
+ * Prefer `auto` for declarations, especially with complex/long types (e.g., `auto message = std::string{};`, `constexpr auto kEnable...`).
96
+ * 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; }();`.
97
+
98
+ ### Function Return Types
99
+
100
+ * Use `auto -> TrailingReturnType;` (e.g., `auto doFunction() -> std::string;`).
101
+ * 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)`).
102
+ * Use `decltype(auto)` sparingly, primarily for perfect forwarding or preserving reference types in getters (e.g., `auto& getProperty() { return property_; }`).
103
+
104
+ ## Class Structure
105
+
106
+ ### Order of declarations
107
+
108
+ 1. `public:` types (enums, structs), static methods, constructors/destructor/operators, public methods.
109
+ 2. `public:` member variables (use sparingly).
110
+ 3. `protected:` (use minimally).
111
+ 4. `private:` methods.
112
+ 5. `private:` member variables.
113
+
114
+ * Use separate `public:` and `private:` sections for methods vs. member variables for clarity.
115
+
116
+ ## Pointers and References
117
+
118
+ * Use smart pointers (`std::unique_ptr`, `std::shared_ptr`) to manage ownership instead of raw pointers.
119
+ * Prefer references (`const T&`, `T&`) over raw pointers (`T*`).
120
+ * Use raw pointers only when:
121
+ * Rebinding (pointing to different objects) is needed.
122
+ * `nullptr` representation is needed.
123
+ * Interfacing with C APIs or legacy code requires them.
124
+
125
+ ## Miscellaneous
126
+
127
+ * **Header Guards**: Use `#pragma once`.
128
+
129
+ ## Commenting Policy
130
+
131
+ See [Team-wide Coding Conventions](./team-wide.md#commenting-policy) for the team's commenting policy which applies to all languages including C++.
132
+
133
+ ## Related Resources
134
+
135
+ * [Team-wide Coding Conventions](./team-wide.md) - Universal coding standards across all languages