AI 资讯
Replicating GitLab's Centralized CI/CD Pipeline in GitHub Using a Central Repository to Avoid Duplication
Introduction Transitioning from GitLab’s centralized CI/CD pipeline structure to GitHub Actions presents a unique challenge for developers accustomed to GitLab’s modular approach. In GitLab, a central 'pipelines' repository acts as a single source of truth, referenced by individual projects via the include keyword. This mechanism eliminates duplication of CI/CD configurations, ensuring consistency and reducing maintenance overhead. However, GitHub Actions operates under a different paradigm, where workflows are typically defined within the .github/workflows directory of each repository. This disparity forces users to rethink how to achieve centralization without GitLab’s native include functionality. The core issue lies in GitHub’s scoping rules for reusable workflows. While GitHub supports uses to reference workflows from a central repository, these workflows must reside in a publicly accessible repository or the same repository. This constraint introduces versioning challenges , as changes to the central workflow can inadvertently break dependent projects if not managed carefully. For instance, updating a reusable workflow without tagging a stable version can lead to inconsistent behavior across projects, as GitHub defaults to using the latest commit. Another friction point is the lack of direct equivalence between GitLab’s include and GitHub’s uses . GitLab’s include allows for seamless integration of CI configurations, treating the included file as part of the local context. In contrast, GitHub’s uses references an external workflow, which operates in its own scope . This means inputs and outputs must be explicitly defined, increasing the complexity of migration. For example, a GitLab CI job that references a shared script might fail in GitHub Actions if the script relies on environment variables not passed through the uses interface. To address these challenges, developers must adopt a hybrid approach . Composite actions , which bundle multiple steps into a sin
开源项目
🔥 UditAkhourii / adhd - ADHD — a skill for coding agents. Tree-of-thought with pruni
GitHub热门项目 | ADHD — a skill for coding agents. Tree-of-thought with pruning, built on the Claude & Codex Agent SDK. Fans out parallel divergent thoughts under different cognitive frames, scores, prunes traps, deepens the survivors. The no-brainer skill for creative and interdisciplinary work. | Stars: 2,491 | 983 stars this week | 语言: TypeScript
开源项目
🔥 tokio-rs / axum - HTTP routing and request-handling library for Rust that focu
GitHub热门项目 | HTTP routing and request-handling library for Rust that focuses on ergonomics and modularity | Stars: 26,687 | 22 stars today | 语言: Rust
开源项目
🔥 microsoft / flint-chart - 🪄 Flint is a visualization language that lets AI agents reli
GitHub热门项目 | 🪄 Flint is a visualization language that lets AI agents reliably create expressive, good-looking charts from simple, human-editable chart specs. | Stars: 2,372 | 218 stars today | 语言: TypeScript
开源项目
🔥 NanmiCoder / cc-haha - 本地优先的跨平台 Claude Code / Agent 桌面工作台:多 Agent、Git Worktree、代码 D
GitHub热门项目 | 本地优先的跨平台 Claude Code / Agent 桌面工作台:多 Agent、Git Worktree、代码 Diff、技能市场、多模型、Computer Use、任务感知桌面宠物,并支持微信、飞书、钉钉、Telegram、WhatsApp 与 H5 访问。 | Stars: 13,667 | 53 stars today | 语言: TypeScript
开源项目
🔥 renatoasse / opensquad
GitHub热门项目 | | Stars: 1,995 | 6 stars today | 语言: JavaScript
开源项目
🔥 volcengine / OpenViking - Self-evolving Context Database for AI Agents. Unify Agent Me
GitHub热门项目 | Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills. | Stars: 27,552 | 180 stars today | 语言: Python
开源项目
🔥 HKUDS / OpenSpace - "OpenSpace: The Skill Management Layer for AI Agents" -- htt
GitHub热门项目 | "OpenSpace: The Skill Management Layer for AI Agents" -- https://open-space.cloud/ | Stars: 7,129 | 91 stars today | 语言: Python
开源项目
🔥 paperswithbacktest / awesome-systematic-trading - A curated list of awesome libraries, packages, strategies, b
GitHub热门项目 | A curated list of awesome libraries, packages, strategies, books, blogs, tutorials for systematic trading. | Stars: 9,199 | 113 stars today | 语言: Python
AI 资讯
Docusaurus i18n: How to keep translations in sync (manual vs Crowdin vs GitHub Action)
If you maintain a Docusaurus site in more than one language, you already know the actual problem isn't translation — it's staying in sync . Someone updates three paragraphs in the English docs, and six months later the Chinese (or Spanish, or whatever) version is quietly wrong, and nobody notices until a user files an issue about it. I went looking at how teams actually solve this, and it mostly comes down to three approaches. Writing this down mostly for my own reference, but sharing in case it saves someone else the research. Approach 1: Just do it manually This is what most small-to-mid docs sites do, at least at first. A maintainer (or a translator on Slack) watches for doc PRs and manually updates the other language folders. It works fine until it doesn't. The failure mode is always the same: it's invisible. Nobody gets paged when a translated page goes stale — it just sits there, slightly wrong, until a reader notices the code sample doesn't match anymore. For a project with a handful of docs and one contributor doing translations, this is honestly fine. Past ~50-100 pages or more than one language, it stops scaling — not because the translation work is hard, but because tracking what changed becomes a full-time job nobody signed up for. Approach 2: A translation management platform (Crowdin, Lokalise, etc.) These are built for exactly this problem and they're genuinely good at it — string extraction, translator workflows, in-context editing, the works. If you have a dedicated localization team or professional translators involved, this is probably still the right call. The tradeoff for a docs-only, engineering-driven project: they're built around the assumption that there's a human translator (or a review pipeline) doing the actual translating, plus a separate sync step to pull translations back into your repo. That's the right tool when translation quality and nuance matter enormously (marketing copy, legal text) or when you have translators who aren't devel
AI 资讯
7-OH Users Are Stockpiling and Doing Reddit Detoxes to Prep for Ban
The opioid-like compound, which is found in kratom, can cause brutal withdrawal symptoms and will soon be a controlled substance. Some users tell WIRED it has relieved their pain and anxiety.
开源项目
🔥 sickn33 / agentic-awesome-skills - AAS Core is the local, agent-first control plane for complet
GitHub热门项目 | AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 1,987+ agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench. | Stars: 44,034 | 73 stars today | 语言: Python
AI 资讯
One small AI workflow that solved our stale API documentation problem
One of the most annoying parts of backend development isn't building APIs. It's keeping the...
开源项目
🔥 opengeos / GeoLibre - A lightweight, cloud-native GIS platform for visualizing, ex
GitHub热门项目 | A lightweight, cloud-native GIS platform for visualizing, exploring, and analyzing geospatial data. It runs in the web browser, on the desktop, on mobile, and inside Jupyter notebooks. | Stars: 2,613 | 420 stars today | 语言: TypeScript
AI 资讯
Nine Months of Nagging, Zero Reading
🦄 I shipped a linter that fails your commit if you won't admit AI touched the code, and then did the most predictable thing possible—let nine months of the data sit there untouched while I busied myself with other things. Then I actually looked at it: nine months of footers piled up in git log like a lonely change jar. Every one of them said how much of those commits were mine, but I hadn't ever sat down and actually counted the jar. So I built the thing to count it. 🪙 The Jar Nobody Counted 🫙 Nine months of commits, every single one carrying a footer that states how much of it I actually wrote, and I could not have told you the number—not roughly or even within twenty points. It was all sitting in git log , structured, and enforced on every commit by a hook I built specifically for that purpose. But it was completely inert. Dropping change in a jar isn't the same as knowing how much money is in it. rai-lint will block your commit until you write the footer, but then it's done—the pile just sits there, and I never built the thing that adds it up. anchildress1 / rai-lint Dual-language linter for Responsible AI commit footers — shared logic for Node (commitlint) and Python (gitlint). Stop playing hide-and-seek with AI in your commits. A dual-language validation framework that makes AI attribution non-negotiable. 📊 Project Stats 🗣️ Languages 📦 Packages 🤖 AI & Automation 🔧 Quality & Standards Installation • Quick Start • Required Commit Footers • Documentation What is this? 🤖 RAI Lint enforces Responsible AI (RAI) attribution in every commit. No more "who wrote this?" moments. No more mystery code. Just honest, trackable AI contributions. Read the full story: Did AI Erase Attribution? Your Git History Is Missing a Co-Author %%{init: {'theme':'dark'}}%% flowchart LR A[Developer Commits] --> B{Has AI Footer?} B -->|Yes| C[Commit Accepted ✅] B -->|No| D[Commit Rejected ❌] C --> E[Clear AI Attribution] D --> F[Add Footer & Retry] Loading Why does this exist? Because transpa
AI 资讯
Turning surprise AI bills into accountable growth
This is a story of how you receive a higher bill than expected and how GitHub's Billing Controls help clarity and predictability. Let's begin our story. Confusion: The bill is higher than expected The AI bill is higher than expected. Now what? Finance wants to understand what is driving the cost. Engineering leaders, on the other hand, want to preserve the productivity gains behind the increased usage. The administrator needs to balance both priorities and put a policy in place that the business can understand. One question drives the investigation: Where is the increase coming from, and how do we control it without disrupting valuable work? To answer it, we first need to follow the spend. Once we know who owns it, we can apply guardrails at the right level. Investigation: Follow the spend Setting a limit too early could restrict useful adoption without addressing the main source of cost. So, let's find out what changed and who can act on it. The investigation begins in the billing administration portal, where usage and budget settings appear in one place. Fig 01: A unified billing workspace connects usage evidence to budget controls. Identify the consumption category First, we identify which product changed. GitHub reports this by SKU , which simply means the billing category for a product or service. Fig 02: Grouping metered usage by billing category highlights Copilot Enterprise usage. Grouping usage by billing category shows which product is driving the increase. In this example, the chart points to Copilot Enterprise usage. Leaders can then ask whether that growth comes from valuable adoption, an unusual workload, or demand that has outgrown its budget. Locate the accountable organization Once you know which product is driving the cost, find out who owns the usage. An enterprise-wide total can hide a sharp increase in one organization. Fig 03: Organization-level grouping identifies the business unit accountable for demand. The organization view points to the le
AI 资讯
The harness is all you need (mostly)
A practical GitHub Copilot workflow for prototyping, planning, implementing, and reviewing software without chasing every new AI tool. The post The harness is all you need (mostly) appeared first on The GitHub Blog .
AI 资讯
GitHub Copilot app for Beginners: Getting started
New to the GitHub Copilot app? Learn how to start projects, work with AI agents, explore canvases, and streamline your development workflow. The post GitHub Copilot app for Beginners: Getting started appeared first on The GitHub Blog .
开源项目
🔥 calesthio / Crucix - Your personal intelligence agent. Watches the world from mul
GitHub热门项目 | Your personal intelligence agent. Watches the world from multiple data sources and pings you when something changes. | Stars: 10,756 | 257 stars this week | 语言: JavaScript
开源项目
🔥 google / langextract - A Python library for extracting structured information from
GitHub热门项目 | A Python library for extracting structured information from unstructured text using LLMs with precise source grounding and interactive visualization. | Stars: 37,881 | 401 stars this week | 语言: Python