Tech Watch & Dev

Veille technologique pour développeurs : frameworks, bonnes pratiques et architecture.

GitLab CI skill for ai agents based on official docs
▲ 26 r/gitlab+1 crossposts

GitLab CI skill for ai agents based on official docs

I use ai agents as helper I talk to, not for blind vibecoding. One thing I kept noticing is asking agent to write or refactor gitlab ci pipeline, and results are often questionable. It creates a god yaml, outdated keywords, no thought about debugging or developer experience.

I looked for existing skills but did not find anything I would actually trust, most looked generated in one shot. So I spent some time and made my own. Used agent help of course, but went through everything myself and checked it against official docs for GitLab 18+

It covers pipeline structure and refactoring, bash in ci jobs, pipelines and other common patterns, debugging failed pipelines, readable logs and naming

https://github.com/beeyev/skills/

Works with claude code and anything supporting skills format
I have been using it privately for couple of month and improving constantly, maybe it will useful for someone else too

u/beeyev — 2 hours ago

I'm going insane on how to rigorously structure my monorepo (backend + frontend)

TL;DR: Is there already a good framework/starter-kit for designing good maintainable frontend/backend monorepos? I'm not talking about bundlers like turborepo or NX, neither I'm talking about t3-stack or better-t-stack, I'm talking more of a very strict paradigm to design typescript frontend/backend monorepos.

I am currently slowly migrating a vibe-coded prototype to an actual production-ready product and I'm noticing how I'm slowly starting to hate the freedom TS/JS gives you, the fact that you can shape your codebase how you wish, the first refactoring I did was migrating all those scattered small sloppy ts files to domain services/sub-services, providing strong hiearchy (Java/C# like), but then noticed that I wasn't leveraging monorepo's features the fullest, so I had to modularize everything, but here I don't know what to do anymore, I don't think I was the only one facing this issue, and I can't migrate to another language 'cause we just can't afford it. The architecture I've thought of was to divide domains in packages and make packages have a strict structure both folder-wise and code-wise:

@acme/foo/
├── app/
│   ├── services/
│   │   └── foo/
│   │       ├── index.ts
│   │       └── types.ts
│   └── routers/
│       └── index.ts
├── data/
│   ├── models/
│   │   └── index.ts
│   └── index.ts
└── web/
    ├── components/
    │   ├── Foo.svelte
    │   └── Bar.svelte
    └── index.ts

But I feel I'm reinventing something someone must have already figured out, but I don't know where to search anymore...

reddit.com
u/Midk_1 — 5 hours ago
▲ 0 r/devops

What's your setup for managing more than 5 servers?

Once I got past a couple of machines, SSH-ing into each to run

docker/kubectl/systemctl stopped scaling. Curious how others handle

it. one tool, a stitched-together stack, or just tmux and grit?

Where does your approach start to hurt?

reddit.com
u/byte-strix — 6 hours ago
▲ 0 r/webdev

What's the most time-consuming part of evaluating an open-source library before you add it to your project?

I feel like I spend more time evaluating libraries than actually integrating them.

Is the hardest part:

  • Finding good options?
  • Comparing similar libraries?
  • Figuring out which one is actively maintained?
  • Understanding the API?
  • Something else?
reddit.com
u/PreparationLiving126 — 9 hours ago
▲ 15 r/mcp+1 crossposts

apple's safari mcp server is more interesting than i initially thought

apple's safari mcp server only exposes 17 tools and runs inside an isolated webdriver session, while the community safari-mcp implementation has around 96 tools and can work with existing browser sessions.

the difference is pretty interesting. apple seems to be treating mcp as a clean-room debugging environment rather than giving agents access to your actual browser state.

there's also the bigger issue that most browser automation tooling is still heavily chromium-first.

this comparison goes deeper into both approaches:

https://rune.codes/hub/tech-trends/the-safari-mcp-server-could-change-how-developers-debug-websites

do you think browser mcp tools should be isolated by default, or is access to real browser sessions more useful?

u/Low-Trust2491 — 6 hours ago
▲ 1.7k r/coolgithubprojects+2 crossposts

GitFut – your GitHub stats as a World Cup player card, out of 99

With the World Cup on, I built a thing that turns any GitHub profile into a FIFA-style player card. You type a username and it scores the profile out of 99 from real data (commits, stars, contributions, PRs, languages) — six stats, a position, a tier from bronze up to ICON, and an archetype like "Poacher" or "Regista" based on your stat shape.

No login or anything. Download the card or embed it in your README.

▎ Try it in: gitfut.com
▎ Github repo : https://github.com/Younesfdj/gitfut

u/Jazzlike_Shift_1664 — 19 hours ago
▲ 0 r/devops

Has anyone successfully made the jump from SDET to platform engineer from a Tier 1 company?

Hi everyone,

I’m currently an SDET (exp 1 year, total exp 2 years) at a Tier 1 tech company and I’m planning my move into a platform engineer role. I love building tools and want to be closer to product development and feature ownership.

For those who have successfully made this pivot:

Did you find it easier to transfer internally or interview elsewhere?

How did you bridge the gap in System Design if your daily work was focused on automation frameworks?

What was the single most helpful thing you did to prove you were ready?

Appreciate any insights or "traps" to avoid!

reddit.com
u/qwerty35897 — 8 hours ago
▲ 2 r/webdev

What metrics do you guys measure in the frontend?

Such as accecibility with axe devtools, FCP with datadog, error tracking, etc

reddit.com
u/badboyzpwns — 7 hours ago
▲ 0 r/webdev

What is Docker Compose and Volumes? What problem do they solve?

I am still learning , so if I am wrong anywhere or if there is something important that I should know, please let me know.

In a real application, we usually have multiple containers like a frontend, backend, database, Redis, etc.

Managing all these containers manually is very difficult. Also, Docker images are immutable, so whenever we change our code, we don't want to rebuild the image and recreate the container every single time during development.

This is where docker-compose.yml

It lets us define everything in one file. We can define which images to build, which ports to expose, environment variables, volumes, networks, and much more.

Then we can start the entire application with just one command:

- docker compose up

and stop everything with:

- docker compose down

One thing that confused me a lot was volumes.

Let's say I have a folder named backend on my system, and Docker builds an image where all the code is copied into /app.

Then in docker-compose.yml I write:

volumes:
  - ./backend:/app

From what I understood, this bind mount hides (overrides) the /app folder inside the container and mounts my local ./backend folder there instead.

So now the container reads the files directly from my local machine instead of the files that were copied into the image. This is great because whenever I edit my code, I don't have to rebuild the image.

But this creates another problem.

Since the entire backend folder is mounted, it also mounts my local node_modules.

That is not what we want because my local machine could be Windows or macOS, while the container is running Linux. The dependencies inside node_modules are installed for the operating system they were built on, so using the host's node_modules inside a Linux container can cause issues.

This is where a named volume comes in.

We add another volume:

volumes:
  - ./backend:/app
  - backend_node_modules:/app/node_modules

Here, backend_node_modules is just the name of a Docker managed volume.

If this named volume doesn't already exist, Docker creates it. Since the volume is initially empty, Docker copies the existing /app/node_modules from the image into the named volume.

Now this named volume is mounted at /app/node_modules. Since we already mounted ./backend:/app, the container was using the node_modules from my local Windows/macOS machine. This new mount hides those host node_modules and replaces them with the node_modules stored in the backend_node_modules named volume, which contains the Linux dependencies copied from the image.

So the result is:

My application code comes directly from my local machine, so changes are reflected instantly.

node_modules comes from the Linux container, so I don't have operating system compatibility issues.

reddit.com
u/No-Resolution-4054 — 11 hours ago
▲ 0 r/devops

Engineering managers: how do you prevent valuable Slack discussions from disappearing

In my team I notice senior engineers write detailed explanations in Slack, but months later nobody can find them. Curious how others solve this.

reddit.com
u/AsparagusOk893 — 13 hours ago
▲ 0 r/devops

Best way to restrict AWS/Cloudflare app to specific desktops?

Best way to restrict AWS/Cloudflare app to specific desktops?

We are building a fee payment application for a school organization.

**Stack:** DB/Backend on AWS and frontend on Cloudflare.

**The challenge:** We need to restrict payment work flow used by cashiers to specific systems, while the read fees access should be able to be accessed from anywhere.

The desktops are unmanaged, regular PCs, residing in different branches in different cities. They are all connected via standard consumer ISPs (no static IPs, no company intranet).

As we are already using Cloudflare, is this something that can be achieved with Cloudflare Zero Trust free tier?

I have never worked with this restriction before, SO I am open to any suggestions. And as this is a very low budget project, I'm looking for something that costs as less as possible (Preferably free).

reddit.com
u/Cold_Pressure6992 — 10 hours ago