frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

LNAI – Define AI coding tool configs once, sync to Claude, Cursor, Codex, etc.

https://github.com/KrystianJonca/lnai
20•iamkrystian17•2h ago

Comments

iamkrystian17•2h ago
I've been using Claude Code, Cursor, and Codex on the same projects. Each tool has its own config format: Claude wants `.claude/`, Cursor wants `.cursor/`, Codex wants `.codex/`. Every time I updated a skill/rule, I had to update it in 3+ places. Usually I'd forget one, and my tools would give inconsistent suggestions. LNAI is a CLI that lets you define your AI configs once in a `.ai/` directory:

.ai/ ├── AGENTS.md ├── rules/ ├── skills/ └── settings.json # MCP servers, permissions

Run `lnai sync` and it exports to native formats for 7 tools: Claude Code, Cursor, GitHub Copilot, Gemini CLI, OpenCode, Windsurf, and Codex. The interesting part is it's not just copying files. Each tool has quirks:

- Cursor wants `.mdc` files with `globs` arrays in frontmatter - Gemini reads rules at the directory level, so rules get grouped - Permissions like `Bash(git:*)` become `Shell(git)` for Cursor - Some tools don't support certain features (e.g., Cursor has no "ask" permission level). LNAI warns but doesn't fail

Where possible, it uses symlinks. So `.claude/CLAUDE.md` → `../.ai/AGENTS.md`. Edit the source, all tools see the change immediately without re-syncing.

Usage:

npm install -g lnai lnai init # Creates .ai/ directory lnai validate # Checks for config errors lnai sync # Exports to all enabled tools

It's MIT licensed. The code is TypeScript with a plugin architecture, each tool is a plugin that implements import/export/validate. GitHub: https://github.com/KrystianJonca/lnai Docs: https://lnai.sh

Would appreciate feedback, especially from anyone else dealing with this config hell problem.

OsamaJaber•1h ago
Nice. The config fragmentation across tools is a real annoyance Does it handle conflicts if tools expect different formats for the same setting?
iamkrystian17•1h ago
Yes, the tool takes that into account and transforms mcps/permissions/rules to different tool formats. Sadly some tools might not support fine-grained permissions (e.g. Codex) in which case a warning will be displayed but everything else will get transformed/symlinked. Additionally you can put per-tool overrides in ‘.ai/{codex/claude/cursor/etc.}/‘ if needed and lnai will automatically symlink those overrides to respective tools.
anupamchugh•54m ago
This solves distribution well. Curious about the change propagation story though - what happens when you update your .ai/ source and tools have cached/transformed versions?

I ran into this building a spec/skill sync system [1] - the "sync once" model breaks down when you need to track whether downstream consumers are aware of upstream changes.

  [1] https://github.com/anupamchugh/shadowbook
iamkrystian17•35m ago
For files that don't need transformation (AGENTS.md, skills, most rules), LNAI creates symlinks. .claude/CLAUDE.md → ../.ai/AGENTS.md. Edit the source, all tools see it immediately.

For transformed files (Cursor's .mdc frontmatter, GEMINI.md sub-directory rules), you re-run lnai sync. LNAI maintains a manifest tracking of every generated file with content hashes, so it knows what changed and cleans up orphans automatically.

So it's not really "sync once", it's "symlink for instant propagation, regenerate-on-demand for transforms." The manifest ensures LNAI always knows its downstream state.

This system can also break down if you create new skills/rules in the specific tool directories (.claude, .codex, etc.) but that is against LNAI's philosophy. If you need per-tool overrides you put them in `.ai/.{claude/codex/etc.}` sub-directories and LNAI manages them for you.

embedding-shape•31m ago
Hmm, maybe it's just me, but it's a good thing the different agents use different files, different models needs different prompts. Using the same system/user prompts across all three will just give you slightly worse results in one of them, instead of getting the best results you can from each one of them. At least for the general steering system prompts.

Then for the application specific documentation, I'd understand you'd want to share it, as it stays the same for all agents touching the same codebase. But easily solved by putting it in DESIGN.md or whatever and appending "Remember to check against DESIGN.md before changing the architecture" or similar.

iamkrystian17•23m ago
Totally valid take. Models might have different prompting guidelines for best results. If a developer uses one tool and wants to optimize their config as much as possible for that specific tool, LNAI is probably not for them.

However given how many tools there are and how fast each tool moves, I find myself jumping between them quite often, just to see which ones I like most or if some tool have improved since I lasted checked it. In this case LNAI is very helpful.

embedding-shape•20m ago
> I find myself jumping between them quite often, just to see which ones I like most or if some tool have improved since I lasted checked it. In this case LNAI is very helpful.

Most prompts I do I execute in all four at the same time, and literally compare the git diff from their work, so I understand totally :) But even for comparison, I think using the same identical config for all, you're not actually seeing and understanding the difference because again, they need different system prompts. By using the same when you compare, you're not accurately seeing the best of each model.

iamkrystian17•6m ago
Fair point. LNAI does support per-tool config overrides in .ai/.{codex/claude/cursor/etc.} directories, so you kind of get the best of both worlds :) You can sync identical configs, while having the flexibility to define per-tool configs where needed, while keeping a single source of truth in the .ai/ directory.
zaptheimpaler•16m ago
I’ve been using chezmoi to manage dot files, that should be enough to handle AI config too. It’s easier to just have one tool do all of that.
iamkrystian17•12m ago
For simple config files like AGENTS.md/skills that is true. But some configs like MCPs/Permissions/Rules require transformations per tool. On lnai's per-tool docs pages (e.g. https://lnai.sh/tools/codex/) I have documented what transforms are needed per-tool. There are quite a few of them.

What's up with all those equals signs anyway?

https://lars.ingebrigtsen.no/2026/02/02/whats-up-with-all-those-equals-signs-anyway/
97•todsacerdoti•1h ago•23 comments

Floppinux – An Embedded Linux on a Single Floppy, 2025 Edition

https://krzysztofjankowski.com/floppinux/floppinux-2025.html
144•GalaxySnail•6h ago•98 comments

Astrological CPU Scheduler

https://github.com/zampierilucas/scx_horoscope
66•fratellobigio•5d ago•18 comments

LNAI – Define AI coding tool configs once, sync to Claude, Cursor, Codex, etc.

https://github.com/KrystianJonca/lnai
21•iamkrystian17•2h ago•11 comments

The Codex App

https://openai.com/index/introducing-the-codex-app/
689•meetpateltech•17h ago•504 comments

Anki ownership transferred to AnkiHub

https://forums.ankiweb.net/t/ankis-growing-up/68610
420•trms•14h ago•147 comments

How does misalignment scale with model intelligence and task complexity?

https://alignment.anthropic.com/2026/hot-mess-of-ai/
190•salkahfi•10h ago•54 comments

Todd C. Miller – Sudo maintainer for over 30 years

https://www.millert.dev/
468•wodniok•17h ago•231 comments

GitHub experience various partial-outages/degradations

https://www.githubstatus.com?todayis=2026-02-02
218•bhouston•13h ago•72 comments

See how many words you have written in Hacker News comments

https://serjaimelannister.github.io/hn-words/
82•Imustaskforhelp•3d ago•120 comments

Archive.today is directing a DDoS attack against my blog?

https://gyrovague.com/2026/02/01/archive-today-is-directing-a-ddos-attack-against-my-blog/
179•gyrovague-com•2d ago•56 comments

From Tobacco to Ultraprocessed Food: How Industry Fuels Preventable Disease

https://onlinelibrary.wiley.com/doi/10.1111/1468-0009.70066
68•jbotz•2h ago•90 comments

50 Years of the Jetsons: Why the Show Still Matters

https://www.smithsonianmag.com/history/50-years-of-the-jetsons-why-the-show-still-matters-43459669/
13•fortran77•4d ago•3 comments

Spain to ban social media access for under-16s, PM Sanchez says

https://www.reuters.com/world/spain-hold-social-media-executives-accountable-illegal-hateful-cont...
7•xavaki•10m ago•0 comments

Show HN: Safe-now.live – Ultra-light emergency info site (<10KB)

https://safe-now.live
13•tinuviel•2h ago•5 comments

Ask HN: Who is hiring? (February 2026)

280•whoishiring•19h ago•345 comments

xAI joins SpaceX

https://www.spacex.com/updates#xai-joins-spacex
719•g-mork•13h ago•1600 comments

The Connection Machine CM-1 "Feynman" T-shirt

https://tamikothiel.com/cm/cm-tshirt.html
82•tosh•4d ago•16 comments

Carnegie Mellon Unversity Computer Club FTP Server

http://128.237.157.9/pub/
92•1vuio0pswjnm7•5d ago•15 comments

Hacking Moltbook

https://www.wiz.io/blog/exposed-moltbook-database-reveals-millions-of-api-keys
334•galnagli•19h ago•190 comments

The TSA's New $45 Fee to Fly Without ID Is Illegal

https://www.frommers.com/tips/airfare/the-tsa-new-45-fee-to-fly-without-id-is-illegal-says-regula...
423•donohoe•12h ago•488 comments

Same SQL, Different Results: A Subtle Oracle vs. PostgreSQL Migration Bug

https://databaserookies.wordpress.com/2026/01/30/same-sql-different-results-a-subtle-oracle-vs-po...
8•tanelpoder•1d ago•1 comments

4x faster network file sync with rclone (vs rsync) (2025)

https://www.jeffgeerling.com/blog/2025/4x-faster-network-file-sync-rclone-vs-rsync/
313•indigodaddy•4d ago•143 comments

Linux From Scratch ends SysVinit support

https://lists.linuxfromscratch.org/sympa/arc/lfs-announce/2026-02/msg00000.html
172•cf100clunk•17h ago•224 comments

Zig Libc

https://ziglang.org/devlog/2026/#2026-01-31
272•ingve•17h ago•117 comments

Julia

https://borretti.me/fiction/julia
122•ashergill•12h ago•20 comments

Coding assistants are solving the wrong problem

https://www.bicameral-ai.com/blog/introducing-bicameral
140•jinhkuan•6h ago•93 comments

Court orders restart of all US offshore wind power construction

https://arstechnica.com/science/2026/02/court-orders-restart-of-all-us-offshore-wind-construction/
385•ck2•12h ago•248 comments

Phenakistoscopes (1833)

https://publicdomainreview.org/collection/phenakistoscopes-1833/
15•tobr•2d ago•0 comments

Nano-vLLM: How a vLLM-style inference engine works

https://neutree.ai/blog/nano-vllm-part-1
254•yz-yu•22h ago•24 comments