Skip to content

Commit e60ef98

Browse files
committed
Refactor principles section: correct phrasing, enhance clarity, and add improvement cycle diagram
1 parent 603222d commit e60ef98

File tree

1 file changed

+122
-18
lines changed

1 file changed

+122
-18
lines changed

introduction-to-codebase-interface/slides.md

Lines changed: 122 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -164,56 +164,160 @@ graph TD
164164

165165
## Principles
166166

167-
1. Identify and empathise all audience perspectives on the codebase.
167+
1. Identify and empathise with all audience perspectives on the codebase.
168168
2. Provide specific interfaces for each audience perspective.
169169
3. Keep interfaces clear, concise, and focused on audience needs.
170-
4. Regularly update interfaces as the codebase evolves.
171-
5. Set expectations and encourage feedback from all audiences to improve interfaces.
172170

173171
--
174172

175173
<!-- markdownlint-disable MD024 MD029 -->
176174
## Principles
177175

176+
4. Regularly update interfaces as the codebase evolves.
177+
5. Set the expectations and encourage feedback from all audiences to improve interfaces.
178178
6. Provide a replicable cross-platform codebase experience.
179-
7. Utilise cross-platform and cross-IDE tools and technologies.
180-
8. Provide a consistent abstraction over languages and frameworks.
181-
9. Do not be constrained by current technology and tools - provoke change.
182-
10. Empathise with your own future self who could become any of the audience perspectives at any time.
179+
180+
--
181+
182+
## Principles
183+
184+
7. Provide a consistent abstraction over languages and frameworks.
185+
8. Do not be constrained by current technology and tools - provoke change.
186+
9. Empathise with your own future self who could become any of the audience perspectives at any time.
183187

184188
<!-- markdownlint-enable MD024 MD029 -->
185189

186190
---
187191

192+
## The Improvement Cycle
193+
194+
```mermaid
195+
graph TB
196+
INTERFACES["📋 Clear Interfaces<br/><small>Set Expectations</small>"]
197+
CONFIDENCE["✨ Confident Users<br/><small>Know What to Expect</small>"]
198+
FEEDBACK["💬 Better Feedback<br/><small>Specific & Actionable</small>"]
199+
IMPROVEMENTS["🔧 Improvements<br/><small>Enhanced Interfaces</small>"]
200+
201+
INTERFACES ==> CONFIDENCE
202+
CONFIDENCE ==> FEEDBACK
203+
FEEDBACK ==> IMPROVEMENTS
204+
IMPROVEMENTS ==> INTERFACES
205+
206+
classDef cycle fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px,color:#1b5e20
207+
class INTERFACES,CONFIDENCE,FEEDBACK,IMPROVEMENTS cycle
208+
```
209+
210+
---
211+
188212
## Benefits
189213

190-
- **Bold text** with `**text**`
191-
- *Italic text* with `*text*`
192-
- `Inline code` with backticks
193-
- [Links](https://codebaseinterface.org)
214+
- 🚀 **Faster onboarding** - People know what to expect
215+
- 🆘 **Fewer support requests** - Clear guidance upfront
216+
- 🤝 **Better contributions** - Contributors understand the process
217+
- **Higher quality** - Feedback loop drives improvements
194218

195219
---
196220

197-
## Fragment Animations
221+
## Tooling
222+
223+
- **Taskfile** - Cross-platform task automation and CLI abstraction
224+
- **EditorConfig** - Consistent code formatting across editors and teams
225+
- **Pre-commit** - Automated code quality checks before commits
226+
- **Conventional Commits** - Standardised commit messages for better changelogs
198227

199-
- Item 1 <!-- .element: class="fragment" -->
200-
- Item 2 <!-- .element: class="fragment" -->
201-
- Item 3 <!-- .element: class="fragment" -->
228+
--
202229

203-
Note:
204-
These are speaker notes. They won't appear on the slides.
205-
Press 'S' during the presentation to view them.
230+
## CLI Abstractions
231+
232+
```mermaid
233+
graph TD
234+
%% Audiences
235+
CONTRIBUTOR["🧑‍💻 Contributor<br/><small>Developer</small>"]
236+
BUILD_AGENT["🤖 Build Agent<br/><small>CI/CD System</small>"]
237+
238+
%% Abstraction Layer
239+
CLI["⚙️ Abstracted CLI<br/><small>Taskfile/Make/Just</small>"]
240+
241+
%% Common Commands
242+
INSTALL["📦 task install"]
243+
TEST["🧪 task test"]
244+
BUILD["🔨 task build"]
245+
246+
%% Language-Specific Tools
247+
NODE["🟨 Node.js<br/><small>npm install<br/>npm test<br/>npm run build</small>"]
248+
PYTHON["🐍 Python<br/><small>pip install<br/>pytest<br/>python -m build</small>"]
249+
GO["🐹 Go<br/><small>go mod download<br/>go test<br/>go build</small>"]
250+
RUST["🦀 Rust<br/><small>cargo install<br/>cargo test<br/>cargo build</small>"]
251+
252+
%% Connections
253+
CONTRIBUTOR ==> CLI
254+
BUILD_AGENT ==> CLI
255+
256+
CLI --> INSTALL
257+
CLI --> TEST
258+
CLI --> BUILD
259+
260+
INSTALL -.-> NODE
261+
INSTALL -.-> PYTHON
262+
INSTALL -.-> GO
263+
INSTALL -.-> RUST
264+
265+
TEST -.-> NODE
266+
TEST -.-> PYTHON
267+
TEST -.-> GO
268+
TEST -.-> RUST
269+
270+
BUILD -.-> NODE
271+
BUILD -.-> PYTHON
272+
BUILD -.-> GO
273+
BUILD -.-> RUST
274+
275+
%% Styling
276+
classDef audience fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px,color:#4a148c
277+
classDef abstraction fill:#e8f5e8,stroke:#2e7d32,stroke-width:3px,color:#1b5e20
278+
classDef command fill:#e3f2fd,stroke:#1976d2,stroke-width:2px,color:#1565c0
279+
classDef language fill:#fff3e0,stroke:#f57c00,stroke-width:2px,color:#e65100
280+
281+
class CONTRIBUTOR,BUILD_AGENT audience
282+
class CLI abstraction
283+
class INSTALL,TEST,BUILD command
284+
class NODE,PYTHON,GO,RUST language
285+
```
206286

207287
---
208288

289+
## Remember
290+
291+
**Tooling helps, but YOU must deliver on the expectations you set.**
292+
293+
```mermaid
294+
graph TD
295+
296+
EXPECTATIONS["📋 Set Expectations<br/><small>Clear Interfaces</small>"]
297+
YOU["👤 YOU<br/><small>Deliver on Promises</small>"]
298+
SUCCESS["✨ Benefits of Good Codebase Interface<br/><small>Trust & Quality</small>"]
299+
300+
EXPECTATIONS ==> YOU
301+
YOU ==> SUCCESS
302+
303+
classDef action fill:#e8f5e8,stroke:#2e7d32,stroke-width:3px,color:#1b5e20
304+
classDef success fill:#e3f2fd,stroke:#1976d2,stroke-width:2px,color:#1565c0
305+
306+
class EXPECTATIONS,YOU action
307+
class SUCCESS success
308+
```
309+
209310
---
210311

312+
<!-- markdownlint-disable MD026 -->
211313
## Thank You!
314+
<!-- markdownlint-enable MD026-->
212315

213316
Visit [codebaseinterface.org](https://codebaseinterface.org)
214317

215318
### Support
216319

217320
If you found this presentation helpful, consider supporting the project:
218321

322+
- 👥 Follow the github organisation [Codebase Interface](https://github.com/codebase-interface)
219323
- ⭐ Star the [GitHub repository](https://github.com/codebase-interface/codebase-interface.github.io)

0 commit comments

Comments
 (0)