{"id":23020205,"url":"https://github.com/brainrake/keen","last_synced_at":"2025-08-14T09:32:10.443Z","repository":{"id":57288889,"uuid":"5910316","full_name":"brainrake/keen","owner":"brainrake","description":"Livecoding for the Web, from your desktop editor","archived":false,"fork":false,"pushed_at":"2012-09-23T06:04:48.000Z","size":128,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-07-27T02:53:45.481Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://brainrape.github.com/keen/","language":"CoffeeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brainrake.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-09-22T04:42:49.000Z","updated_at":"2023-07-27T02:53:45.482Z","dependencies_parsed_at":"2022-09-20T04:14:57.431Z","dependency_job_id":null,"html_url":"https://github.com/brainrake/keen","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainrake%2Fkeen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainrake%2Fkeen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainrake%2Fkeen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainrake%2Fkeen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brainrake","download_url":"https://codeload.github.com/brainrake/keen/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229816001,"owners_count":18128512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-15T12:13:30.055Z","updated_at":"2024-12-15T12:13:30.615Z","avatar_url":"https://github.com/brainrake.png","language":"CoffeeScript","readme":"======\n Keen\n======\n\n\nLivecoding for the Web, from your desktop editor!\n\n\n## Why\n\nI want instant feedback while coding on the Web. I want to livecode (like on [livecodelab](http://www.sketchpatch.net/livecodelab/index.html) and [livecoder.net](http://livecoder.net/)) when I'm working on a project, not just to play around. As such, I want to use my desktop editor (emacs, vim, sublime, textmate, etc.), not a web-based editor like [codemirror](http://codemirror.net/) or [ace](http://ace.ajax.org/).\n\n\n## How\n\nKeen will serve a local directory via HTTP, watch for file (script, style) changes and update those files in the browser.\n\nIt works by serving up a wrapper at `/` that loads `index.html` from the local directory in an iframe. Whenever files referenced by `\u003cscript\u003e` or `\u003clink rel=\"stylesheet\"\u003e` tags change on disk, they are sent to the browser via `socket.io`. Scripts are then `eval`'d, and styles are updated.\n\n\n## What\n\nKeen is a [node.js](http://nodejs.org/) module, written in coffescript, using socket.io.\n\nInstall it with `npm install -g keen`.\n\nRun `keen` in a directory with an `index.html`, open your browser at `http://localhost:9000`.\nEdit a script file included in the page, hit save, and watch it instantly reload.\n\nUse with CoffeeScript, Sass, Compass, etc. in 'watch' mode for great justice. Use a [Procfile](http://ddollar.github.com/foreman/) to start them all.\n\n\n## More\n\n\n### Usage\n\n    keen\n\n\n### Caveats\n\nFor now, `keen` only works with static content, because of the [same origin policy](http://en.wikipedia.org/wiki/Same_origin_policy). You can't run it with your node-based or rails or django app. I plan to fix this, but you will likely need to change your app slightly.\n\n\n### Status\n\nWarning: this is *alpha* software. Don't use it for anything other than development.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrainrake%2Fkeen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrainrake%2Fkeen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrainrake%2Fkeen/lists"}