Skip to content

Commit 19d2bd1

Browse files
committed
fix: makeEnglishFrom ...
1 parent 26336a7 commit 19d2bd1

File tree

4 files changed

+38
-42
lines changed

4 files changed

+38
-42
lines changed

ARCHITECTURE.md

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,18 @@ This design document shall be stable and amendments go through a proper process
1111
## Overview
1212

1313
Standard is a collection of functionality and best practices (_"framework"_) to bootstrap and sustain the automatable sections of the Software Delivery Lifecycle (SDLC) _efficiently_ with the power of Nix and Flakes.
14-
In particular, Standard is a _Horizontal Integration Framework_ which integrates _vertical_ tooling.
14+
In particular, Standard is a _Horizontal\* Integration Framework_ which integrates _vertical\*_ tooling.
1515

16-
> Glossary:
16+
> <sub>We occasionally adapt concepts from non-technical contexts. This is one instance.</sub>
1717
>
1818
> _Vertical Tooling_ does one thing and does it well in a narrow scope (i.e "vertical").
1919
>
2020
> _Horizontal Tooling_ stitches vertical tooling together to a polished whole.
21-
>
22-
> <sub>
23-
> Where does this terminology come from?
24-
> We occasionally borrow concepts from organizational science.
25-
> </sub>
2621
27-
In that context, subject to integration are the end-to-end automatable sections of the SDLC process for which we offer well-integrated tools and best practices.
28-
_Efficient_ SDLCs are characterized by two things.
22+
What is being integrated are the end-to-end automatable sections of the SDLC.
23+
For these we curate a collection of functionality, tools and best practices.
24+
25+
An SDLCs _efficiency_ on the is characterized by two things.
2926

3027
Firstly, by adequate _lead time_ which is the amount of time it takes to set up an initial version of the software delivery pipeline.
3128
It needs to be _adequate_ rather than _just fast_, as it takes place in the context of a team.
@@ -94,14 +91,14 @@ And we focus on:
9491

9592
Where is Standard located in the big picture?
9693

97-
This graphic locates Standard across the SDLC & ALM.
94+
This graphic locates Standard across the SDLC & Application Lifecycle Management (ALM).
9895

9996
But not only that.
10097
It also explains how automation in itself is implemented as _code_, just as the application itself.
10198
Therefore, we make a distinction between:
10299

103-
- first order application code on the first level (L1); and
104-
- higher order supporting code on higher levels as exemplified by L2 and L3.
100+
- first order application code (L1); and
101+
- above that, higher order supporting code as exemplified by L2 and L3.
105102

106103
> Glossary:
107104
>
@@ -125,7 +122,7 @@ They are abstract definitions of artifact classes.
125122
Those abstract classes implement _shared functionality_.
126123

127124
A few examples of artifact classes in our scope are: packages, containers, scripts and manifests, among others.
128-
Examples of shared functionality are _push_ on containers and on packages _build_.
125+
Examples of shared functionality are _push_ on containers and _build_ on packages.
129126

130127
_**Cells**_, in turn, organize your code into related units of functionality.
131128
Hence, Cells are a code _orgnization principle_.
@@ -141,11 +138,11 @@ On the right side of the graphic, we sketch an idea how these components are put
141138

142139
### Paisano (Code Organization)
143140

144-
We already learnt about Paisano's two main abstractions: Cells & Block Types.
141+
We already learned about Paisano's two main abstractions: Cells & Block Types.
145142

146143
Cells enable and encourage the user to cleanly organize their code into related units of functionality.
147144
The concrete semantics of code layout are completely at her choosing.
148-
For example, she could separate application tiers like frontend and backend into their own Cell, each.
145+
For example, she could separate application tiers like frontend and backend into their own cells, each.
149146
Or she could reflect the microservices architecture in the Cells.
150147

151148
Paisano has a first class concept of Cells.
@@ -170,21 +167,21 @@ By using these principles rather than a rigid opinionated structure, it also rem
170167

171168
In summary, all these organization and typing principles enable:
172169

173-
- Easy refactoring of your repository's namespace for devops artifacts
170+
- Easy refactoring of your repository's devops namespace
174171
- Intuitive grouping of functionality that encourages well-defined internal boundaries
175-
- Thereby keeping your automation code clean and maintainable
172+
- Allowing for keeping your automation code clean and maintainable
176173
- Making use of Block Types and the shared library to implement the DRY principle
177174
- Reasoning about the content of your repo through structured data
178175
- Thereby interesting user interfaces, such as a CLI, TUI or even a UI
179-
- But also services such as (close to) zero config & self-updating CI
176+
- As well as also services like a (close to) zero config, self-updating CI
180177
- Similar organizational principles help to lower the cost of context switching between different projects
181178

182179
### Standard's Block Types (DevOps Type System)
183180

184181
As mentioned above, Standard exploits the Block Type abstraction to provide artifact types for the SDLC.
185182
Within the semantics of each Block Type, we implement shared functionality.
186183
This is designed to offer the user an optimized, audited implementation.
187-
It also saves the need to devise "yet another" local implementation of otherwise well-understood generic functionality, such as, for example the building of a package or the pushing of a container image.
184+
Alleviates the burdon of devising "yet another" local implementation of otherwise well-understood generic functionality, such as, the building of a package or the pushing of a container image.
188185

189186
### Standard's Cells (Function Library)
190187

COMPARE.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ _Where appropriate, we compare with `divnix/paisano`, instead_.
66

77
### flake-utils
88

9-
`numtide/flake-utils` is a small & lightweight utility with a focus on generating flake file _outputs_ in accordance with the packaging use case built-in into the Nix CLI tooling.
9+
`numtide/flake-utils` is a small & lightweight utility with a focus on generating flake file _outputs_ in accordance with the packaging use case built into the Nix CLI tooling.
1010

1111
Paisano, in turn, is an importer with a focus on _code organization_; it still plugs well into a `flake.nix` file, but also preserves its index function by keeping it clean.
1212
While you _can_ use it to match the schema that Nix CLI expects, it also enables more flexibility as it is not specially optimized for the Nix _package manager use case_.
1313

1414
### flake-parts
1515

16-
`hercules-ci/flake-parts` is a component aggregator with a focus on a flake schema that is built-in into the Nix CLI tooling that makes use of the NixOS module system for composability and aggregation.
16+
`hercules-ci/flake-parts` is a component aggregator with a focus on a flake schema that is built into the Nix CLI tooling that makes use of the NixOS module system for composability and aggregation.
1717

1818
Paisano, in turn, is an importer with a focus on _code organization_; it still plugs well into a `flake.nix` file, but also preserves its index function by keeping it clean.
1919
While you _can_ use it to match the schema that Nix CLI expects, it also enables more flexibility as it is not specially optimized for the Nix _package manager use case_.
@@ -24,12 +24,12 @@ However, in that role, it gives you back the freedom to use the output schema th
2424
Convergence towards the Flakes output schema is provided via the harvester family of functions (`winnow`, `harvest` & `pick`).
2525
Depending on the domain schema, it can be a _lossy_ convergence due the lesser expressivity of the flake output schema.
2626

27-
Flake Parts aggregates bespoke use-case specific interfaces implemented in the module system DSL.
27+
Flake Parts aggregates bespoke use-case specific interfaces implemented in a domain specific language based on Nix (i.e. "the module system").
2828
Paisano, in turn, focuses on code organization along high level code boundaries connected by generic interfaces.
2929

30-
The core tenet of Flake Parts is bespoke module system DSL interfaces for each use case.
30+
The core tenet of Flake Parts is domain specific interfaces for each use case.
3131

32-
The core tenet of Paisano remains Nix' original functional style.
32+
The core tenet of Paisano remains Nix' original functional style paired with a function library.
3333

3434
### Devshell
3535

@@ -45,7 +45,7 @@ Most languages are already covered.
4545
### Bazel
4646

4747
Bazel is similar to Nix in that it creates cross-language build graphs.
48-
However, it doesn't not guarantee reproducibility.
48+
However, it does not guarantee reproducibility.
4949
Currently it has more advanced build caching strategies: a gap that the Nix community is very eager to close soon.
5050

5151
### My CI/CD

PITCH.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ It is essential to have an idea of who they are, so let's introduce:
77
Makes resources available in return for the expectation of future benefits.
88

99
**_The Provider of Automation_**
10-
Sets up and maintains the automation alongside the SDLC.
11-
A helpful analogy would be the person who sets up and maintains the conveyor belt, which moves features to production.
10+
Sets up and maintains the automation along the SDLC.
11+
A helpful analogy would be the person who sets up and maintains the conveyor belt which moves features to production.
1212

1313
**_The Consumer of Automation_**
14-
Consumes and co-maintaines the automation alongside the SDLC.
15-
A helpful analogy would be that this person not only uses and configures our conveyor belt, but is also capable of maintaining it.
14+
Consumes and co-maintaines the automation along the SDLC.
15+
A helpful analogy would be that this person not only uses and configures our conveyor belt, but is also capable of occasionally maintaining it.
1616

17-
It is equally essential to have an understanding what they value, so let's try to get an overview.
17+
It is essential to have an understanding what they value, so let's try to get an overview.
1818
We'll make use of a high level value matrix with simple sentiment scores:
1919

2020
- :heart_eyes: &rarr; <i>"absolutely love it!!!"</i>

ROADMAP.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Roadmap
22

3-
The freestyle history of the project was productive at its time.
4-
But recently, it has been outgrowing its freedom to freestyle.
3+
The freestyle history of the project was productive during the alpha stage, but as the code stabilizes, so too must our processes.
54

65
This roadmap gives an overview of the short and mid term direction that the project aims to take.
76

@@ -13,22 +12,22 @@ These help us to better understand the work spectrum associated with the project
1312

1413
##### Process Categories
1514

16-
To run an _automation_ we have to _set it up_, first.
15+
To run _automation_ we have to _set it up_, first.
1716
We should keep that in mind when working on the backlog and therefore classify:
1817

1918
- Setup
2019
- Automation
2120

22-
Work packages that supports setup typically involve:
21+
For setup, besides function libraries, a variety of supporting material is crucial, such as:
2322

24-
- Documentation & Setup Instructions
25-
- Pattern & Shared Mental Models
26-
- Quick Start Template
23+
- Documentation & Instructions
24+
- Patterns & Shared Mental Models
25+
- Quick Start Templates
2726
- Onboarding & Learning Content
2827

2928
##### Process Regions
3029

31-
Per our [architectural overview](./ARCHITECTURE.md), we distinguishe these process regions:
30+
Per our [architectural overview](./ARCHITECTURE.md), we distinguish these process regions:
3231

3332
- Development Environment
3433
- Build Pipeline
@@ -37,12 +36,12 @@ Per our [architectural overview](./ARCHITECTURE.md), we distinguishe these proce
3736
##### Deliverable Types
3837

3938
- Docs
40-
- CLI Commands or TUI functionality
39+
- CLI commands or TUI helpers
4140
- Integrations
42-
- Library Functions
41+
- Library functions
4342
- Block Types
44-
- Stable Interfaces
45-
- Community Outreach
43+
- Stable interfaces
44+
- Community outreach
4645

4746
## Milestone v1
4847

0 commit comments

Comments
 (0)