When comparing CodeKit vs Lineman, the Slant community recommends CodeKit for most people. In the question“What are the best workflow wrappers for front-end development?” CodeKit is ranked 2nd while Lineman is ranked 3rd. The most important reason people chose CodeKit is:
Everything you need to get a project started is included with CodeKit. Thanks to the professional support, different components of the workflow pipeline are guaranteed to play nicely with each other without you needing to do the research on how to configure them. More advanced features that may require extra configuration to set up with other workflow wrappers are set up out of the box in CodeKit, like automatic browser updating, linting, and source maps.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Everything is set up for you
Everything you need to get a project started is included with CodeKit. Thanks to the professional support, different components of the workflow pipeline are guaranteed to play nicely with each other without you needing to do the research on how to configure them.
More advanced features that may require extra configuration to set up with other workflow wrappers are set up out of the box in CodeKit, like automatic browser updating, linting, and source maps.
Pro Provides a clean and modern GUI
CodeKit has a clean and intuitive graphical user interface out of the box. Most other tools in this category run as command line utilities or require unsupported third-party plugins to run with a GUI.
The CodeKit GUI makes it easier to navigate and manage the various components of your project with helpful UIs like dropdowns, and views that provide extra details without having to run a separate command.
Pro Live browser updating built in
CodeKit has live updating built in and will update monitored files across multiple browsers and devices, and refresh CSS without a new page load. Other workflow wrappers have live updating, but they require extra configuration. With CodeKit, everything is set up for you so you can get it up and running in no time at all.
Pro Interactively define how files compile with a GUI
You can navigate your project directory, and use a menu form to set up how it gets compiled without needing to read configuration documentation, or deal with configuration errors. On top of that, file watching and recompilation is built in with no extra configuration needed.
Pro Great value for money
At a one time cost of $29, it's a great deal considering how powerful and easy to use it is.
Pro Visual package management with Bower
CodeKit provides a clean GUI for Bower that makes it easier to navigate and get information about modules without having to deal with a command line interface.
Pro Connects with MAMP
You can use it to, for example, live-update server-side PHP by establishing a connection with your local MAMP server.
Pro Don't have to worry about vendor prefixes due to Autoprefixer support
Autoprefixer automagically adds vendor prefixes based on latest information.
Pro Reduces size of compressed images
CodeKit provides a powerful tool to automatically reduce the size of compressed images and production web code.
Pro Live pre-processor and script compilation
CodeKit supports live compilation of Less, Sass, Stylus, Jade, Haml, Slim, CoffeeScript, JavaScript and Compass including automatic debugging and minification.
Pro Has over 6k componenets
Install 6,000+ Bower components with a single click: Bootstrap, jQuery, Modernizr, Zurb Foundation, even WordPress.
Pro Comes with a full-featured test runner
Lineman integrates a powerful test runner - Test'em. By default it will test against PhantomJS and output in TAP13 format.
Pro Opinionated workflow
While Lineman is hands off when it comes to what you do on the client side, the workflow and tools used around it are opinionated, which means there's less to set up, the tools picked are fine tuned to work together, and you can get up and running faster without having to decide between dozens of tools. While it means less flexibility with the tools you use, it also means that advanced features are built in and available from the start, and you can focus on building the client side, without worrying about the tools around it.
Pro Intelligent defaults
Although Lineman is fully configurable, it comes with well tuned defaults and a built in scaffold so you can get up and running with advanced features quickly with things like continuous integration and live reloading with less or no configuration.
Pro Client-side framework agnostic
Lineman prides itself on avoiding assumptions on how things should be done and allows for greater freedom in tool choice. It generates a skeletal app, with no example code. Yet if you choose, you can get templates for Backbone, Ember, Angular and other frameworks.
Pro Provides project structure without code generation
Lineman is designed against code generation, which is a good thing as generated code requires more maintenance to keep library code in sync with the generated code, and is dangerous to use if you don't fully understand what the generated code is doing.
Pro Flexible build system with Grunt
While the tools Lineman uses are opinionated, the build process is not as it uses Grunt, so you can get the benefits of a well tuned workflow while still being able to use whatever compiled languages and build process you want. Also, since Lineman handles the tasks outside of compilation and file transformation for you, you can keep your gruntfile simpler and easier to maintain as it would be dedicated to just the build system, and not other task management.
Pro Update your tools without breaking the configuration
Pro Free and open source
Licensed under MIT.
Cons
Con Mac only
This is a major problem for larger teams that have varied development environments.
Con Confined
You get only the tools that are provided by the application.
Con Proprietary
Con By trying it do everything by itself it has become a monolithic software
Lineman tries to minimize the work that the developer has to do but in doing so, it has become a complicated monolith of a software built on top of Grunt tasks. It would be easier and more minimalistic and maintainable for a developer to just create the Gruntfile themselves.