frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Graft – Your local environment, everywhere

https://graft.run
5•erdaniels•15h ago
After a few years of development, I'm finally ready to show off an alpha version of graft! My goal was to get my local environment, terminal, ide, and preferences on any machine I connect to. I've set everything up the way I like locally, so why should it get muddied by an ssh/docker session? Graft solves this by transparently synchronizing files, comamnds, and open ports. There's a lot of work to do but maybe someone else can benefit from it now!

Comments

LatticeAnimal•15h ago
Cool project! How do language servers work with this system? Suppose I am developing PyTorch+cuda code on a remote machine, do I need to have that same PyTorch version installed locally?

If you run the language server remotely, how do you sync the file before it has been saved so that the user gets autocomplete?

erdaniels•15h ago
Good question. To quickly answer, no you don't need it installed locally but you will benefit from having the source available.

Just so we have a common reference, look at https://github.com/edaniels/graft/blob/main/pkg/local_client.... The main idea is that we are always matching the local current working directory to the corresponding synchronization directory. Using that idea, we serve an LSP locally that rewrites all json-rpc messages that utilize URIs (https://github.com/edaniels/graft/blob/main/pkg/local_client...) from local to remote, and back. The local LSP and the remote LSP we launch are none the wiser. Because of this proxy, when you go to definition, you are going to load the local source definition; when you go an lsp format tool, it runs remotely and the file sync gets you results locally.

The lsp functionality is pretty barebones but has been working for me in sublime when I open a project of mine in a graft connected directory. I've tested it on golang and typescript. I believe python should work but I suppose dependencies could be funky depending on how you synchronize dependencies (uv, pip, etc.).

For go, I used this on my lsp settings and it worked great. What doesn't work great is if you get disconnected :(. Making the LSP very reliable is another story for another task for another day.

    {
        "log_debug": true,
        "clients":
        {
            "super-gopls":
            {
                "env": {
                    "GRAFT_LOG_LEVEL": "debug",
                },
                "command":
                [
                    "graft",
                    "lsp",
                    "gopls"
                ],
                "enabled": false,
                "initializationOptions":
                {
                    "analyses":
                    {
                        "composites": false,
                    },
                },
                "selector": "source.go",
            },
        },
        "lsp_code_actions_on_save":
        {
            "source.fixAll": true,
            "source.organizeImports": true,
        },
        "lsp_format_on_save": true,
    }

Show HN: Hackerbrief – Top posts on Hacker News summarized daily

https://hackerbrief.vercel.app/
3•p0u4a•11m ago•1 comments

Show HN: Claude Code plugin that gives .svelte files full LSP intelligence

https://github.com/RA1NCS/svelte-lsp
3•gshreyan•1h ago•0 comments

Show HN: GDSL – 800 line kernel: Lisp subset in 500, C subset in 1300

https://firthemouse.github.io/
67•FirTheMouse•21h ago•18 comments

Show HN: Signet – Autonomous wildfire tracking from satellite and weather data

https://signet.watch
113•mapldx•1d ago•31 comments

Show HN: What if your synthesizer was powered by APL (or a dumb K clone)?

https://octetta.github.io/k-synth/
85•octetta•1d ago•31 comments

Show HN: Paperverse, an Hyperbolic Presentation

https://paperverse.net
4•Nesco•3h ago•0 comments

Show HN: Signbee – An API that lets AI agents send documents for signature

https://signb.ee
5•mjcbeckett•4h ago•3 comments

Show HN: Goal.md, a goal-specification file for autonomous coding agents

https://github.com/jmilinovich/goal-md
23•jmilinovich•18h ago•6 comments

Show HN: CastLoom Pro – Turn podcasts into a personal knowledge base

https://castloompro.toolooz.com/?lang=en
5•MikeLuLu•10h ago•0 comments

Show HN: Open-source playground to red-team AI agents with exploits published

https://github.com/fabraix/playground
25•zachdotai•14h ago•9 comments

Show HN: HN Skins – Available Skins: Cafe, Courier, London, Midnight, Terminal

https://github.com/susam/hnskins
8•susam•17h ago•0 comments

Show HN: Ichinichi – One note per day, E2E encrypted, local-first

127•katspaugh•1d ago•57 comments

Show HN: Han – A Korean programming language written in Rust

https://github.com/xodn348/han
206•xodn348•1d ago•114 comments

Show HN: GitAgent – An open standard that turns any Git repo into an AI agent

https://www.gitagent.sh/
139•sivasurend•1d ago•35 comments

Show HN: Free OpenAI API Access with ChatGPT Account

https://github.com/EvanZhouDev/openai-oauth
42•EvanZhouDev•15h ago•17 comments

Show HN: Lockstep – A data-oriented programming language

https://github.com/seanwevans/lockstep
6•goosethe•12h ago•4 comments

Show HN: I was laid off, so I built a NerdWallet for startup equity liquidity

https://www.strikerates.com
6•rafaelvalle03•6h ago•1 comments

Show HN: Search for Apple Messages

https://github.com/dmd/imessage-search
2•dmd•10h ago•0 comments

Show HN: Try Gerbil Scheme in the Browser

https://trygerbil.dev/
3•agambrahma•11h ago•0 comments

Show HN: OpenClaiming, a tiny protocol for verifiable claims that works anywhere

https://github.com/OpenClaiming/Documentation
2•EGreg•11h ago•0 comments

Show HN: Argazer – detect outdated Helm charts in ArgoCD applications

https://github.com/k-krew/argazer
2•kreicer•11h ago•0 comments

Show HN: Context Gateway – Compress agent context before it hits the LLM

https://github.com/Compresr-ai/Context-Gateway
92•ivzak•2d ago•62 comments

Show HN: GrobPaint: Somewhere Between MS Paint and Paint.net

https://github.com/groverburger/grobpaint
54•__grob•1d ago•19 comments

Show HN: File converters and 75 tools that run in the browser

6•kalinuxer•13h ago•0 comments

Show HN: Ritual – An Open Source Local Monochrome Themed Habit Tracker PWA

https://ritual.tangentlabs.dev/
5•sheerluck•13h ago•0 comments

Show HN: Axe – A 12MB binary that replaces your AI framework

https://github.com/jrswab/axe
224•jrswab•3d ago•123 comments

Show HN: Webassembly4J Run WebAssembly from Java

2•tegmentum•14h ago•0 comments

Show HN: AgentMailr – dedicated email inboxes for AI agents

https://www.agentmailr.com/
7•kumardeepanshu•1d ago•5 comments

Show HN: Tmux-nvim-navigator – Seamless navigation with zero Neovim config

https://github.com/sindrip/tmux-nvim-navigator
4•Sindrip•15h ago•0 comments

Show HN: Data-anim – Animate HTML with just data attributes

https://github.com/ryo-manba/data-anim
16•ryo-manba•1d ago•7 comments