x-fidelity 1.7.0 → 1.8.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.
- package/CHANGELOG.md +7 -0
- package/README.md +81 -15
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [1.8.0](https://github.com/zotoio/x-fidelity/compare/v1.7.0...v1.8.0) (2024-08-01)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* Add system architecture diagram to README.md ([ce80b79](https://github.com/zotoio/x-fidelity/commit/ce80b795031c366b232e51c0cf0e651fa77c364c))
|
|
7
|
+
|
|
1
8
|
# [1.7.0](https://github.com/zotoio/x-fidelity/compare/v1.6.1...v1.7.0) (2024-07-30)
|
|
2
9
|
|
|
3
10
|
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# x-fidelity
|
|
2
2
|
|
|
3
|
-
x-fidelity is an advanced CLI tool designed to
|
|
3
|
+
x-fidelity is an advanced CLI tool and paired config server designed to perform opinionated framework adherence checks within a codebase. It provides a flexible and extensible way to ensure your projects are using specific standards, tools and best practices.
|
|
4
4
|
|
|
5
5
|
```
|
|
6
6
|
=====================================
|
|
@@ -38,29 +38,32 @@ x-fidelity is an advanced CLI tool designed to enforce opinionated framework adh
|
|
|
38
38
|
|
|
39
39
|
1. [Intent and Purpose](#intent-and-purpose)
|
|
40
40
|
2. [Key Features](#key-features)
|
|
41
|
-
3. [
|
|
42
|
-
4. [
|
|
43
|
-
5. [
|
|
44
|
-
6. [
|
|
45
|
-
7. [
|
|
46
|
-
8. [
|
|
47
|
-
9. [
|
|
48
|
-
10. [
|
|
49
|
-
11. [
|
|
50
|
-
12. [
|
|
41
|
+
3. [System Architecture](#system-architecture)
|
|
42
|
+
4. [Installation](#installation)
|
|
43
|
+
5. [Usage](#usage)
|
|
44
|
+
6. [Configuration](#configuration)
|
|
45
|
+
7. [Extending x-fidelity](#extending-x-fidelity)
|
|
46
|
+
8. [OpenAI Integration](#openai-integration)
|
|
47
|
+
9. [Hosting Config Servers](#hosting-config-servers)
|
|
48
|
+
10. [Best Practices](#best-practices)
|
|
49
|
+
11. [Linting](#linting)
|
|
50
|
+
12. [Contributing](#contributing)
|
|
51
|
+
13. [License](#license)
|
|
51
52
|
|
|
52
53
|
## Intent and Purpose
|
|
53
54
|
|
|
54
55
|
x-fidelity aims to streamline the process of maintaining code quality and consistency across projects. By providing a flexible, rule-based system, it allows teams to:
|
|
55
56
|
|
|
56
|
-
- Enforce coding standards and best practices
|
|
57
|
-
- Ensure consistent project structures
|
|
58
|
-
- Maintain up-to-date dependencies
|
|
57
|
+
- Enforce bespoke coding standards and best practices
|
|
58
|
+
- Ensure consistent project archetype structures
|
|
59
|
+
- Maintain up-to-date private dependencies
|
|
59
60
|
- Catch potential issues early in the development process
|
|
60
|
-
- Integrate advanced code analysis
|
|
61
|
+
- Integrate GenAI-based advanced code analysis (experimental)
|
|
61
62
|
|
|
62
63
|
The tool is designed to be highly customizable, allowing teams to define their own archetypes, rules, and checks tailored to their specific needs and tech stacks.
|
|
63
64
|
|
|
65
|
+
> x-fidelity is not a replacement for standard linting more generalised code analysis tools. it is intended to help with management of bespoke requirements and as a simple way to experiment with GenAI based code reviews.
|
|
66
|
+
|
|
64
67
|
## Key Features
|
|
65
68
|
|
|
66
69
|
- **Flexible Archetype System**: Define custom project archetypes with specific rules and configurations.
|
|
@@ -72,6 +75,69 @@ The tool is designed to be highly customizable, allowing teams to define their o
|
|
|
72
75
|
- **OpenAI Integration**: Leverage AI for advanced code analysis and suggestions.
|
|
73
76
|
- **Extensible Architecture**: Easily add new operators, facts, and rules to suit your needs.
|
|
74
77
|
|
|
78
|
+
## System Architecture
|
|
79
|
+
|
|
80
|
+
The following diagram illustrates the overall architecture of the x-fidelity system:
|
|
81
|
+
|
|
82
|
+
```mermaid
|
|
83
|
+
graph TD
|
|
84
|
+
subgraph "Client Environments"
|
|
85
|
+
CI[CI Environment]
|
|
86
|
+
Local[Local Development]
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
subgraph "x-fidelity Core"
|
|
90
|
+
Engine[Analysis Engine]
|
|
91
|
+
CLI[CLI Interface]
|
|
92
|
+
ConfigMgr[Config Manager]
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
subgraph "x-fidelity Infrastructure"
|
|
96
|
+
CS[Config Server]
|
|
97
|
+
TS[Telemetry Server]
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
subgraph "External Services"
|
|
101
|
+
GH[GitHub]
|
|
102
|
+
OAI[OpenAI API]
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
subgraph "Data Sources"
|
|
106
|
+
Files[Repository Files]
|
|
107
|
+
Deps[Dependencies]
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
CI -->|Use| Engine
|
|
111
|
+
Local -->|Use| Engine
|
|
112
|
+
CI -->|Use| CLI
|
|
113
|
+
Local -->|Use| CLI
|
|
114
|
+
|
|
115
|
+
CLI -->|Initialize| ConfigMgr
|
|
116
|
+
Engine -->|Use| ConfigMgr
|
|
117
|
+
|
|
118
|
+
ConfigMgr -->|Fetch config| CS
|
|
119
|
+
Engine -->|Send telemetry| TS
|
|
120
|
+
|
|
121
|
+
Engine -->|Analyze| Files
|
|
122
|
+
Engine -->|Check| Deps
|
|
123
|
+
|
|
124
|
+
CS -->|Optional: Fetch rules| GH
|
|
125
|
+
TS -->|Optional: Store data| GH
|
|
126
|
+
|
|
127
|
+
Engine -.->|Optional: AI analysis| OAI
|
|
128
|
+
|
|
129
|
+
classDef optional stroke-dasharray: 5 5
|
|
130
|
+
class OAI optional
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
This diagram shows the main components of x-fidelity and how they interact:
|
|
134
|
+
|
|
135
|
+
- **Client Environments**: Where x-fidelity is used (CI systems or local development).
|
|
136
|
+
- **x-fidelity Core**: The main components of the system, including the analysis engine, CLI interface, and configuration manager.
|
|
137
|
+
- **x-fidelity Infrastructure**: Servers for configuration and telemetry.
|
|
138
|
+
- **External Services**: GitHub for repository interaction and optional OpenAI integration.
|
|
139
|
+
- **Data Sources**: The files and dependencies that x-fidelity analyzes.
|
|
140
|
+
|
|
75
141
|
## Installation
|
|
76
142
|
|
|
77
143
|
Install x-fidelity using Node.js 18+ and Yarn:
|