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.
Files changed (3) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +81 -15
  3. 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 enforce opinionated framework adherence checks within a codebase. It provides a flexible and extensible way to ensure your projects follow specific standards and best practices.
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. [Installation](#installation)
42
- 4. [Usage](#usage)
43
- 5. [Configuration](#configuration)
44
- 6. [Extending x-fidelity](#extending-x-fidelity)
45
- 7. [OpenAI Integration](#openai-integration)
46
- 8. [Hosting Config Servers](#hosting-config-servers)
47
- 9. [Best Practices](#best-practices)
48
- 10. [Linting](#linting)
49
- 11. [Contributing](#contributing)
50
- 12. [License](#license)
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 using AI (via OpenAI)
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:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "x-fidelity",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "cli for opinionated framework adherence checks",
5
5
  "main": "dist/xfidelity",
6
6
  "bin": {