CINXE.COM
Command Line - Haxe - The Cross-platform Toolkit
<!DOCTYPE html> <html id="page"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> <meta name="viewport" content="width=device-width"/> <title>Command Line - Haxe - The Cross-platform Toolkit</title> <link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css"/> <link rel="stylesheet" type="text/css" href="/css/font-awesome.css"/> <link rel="stylesheet" type="text/css" href="/css/style.css?v=2018-03-05"/> <link rel="stylesheet" type="text/css" href="/css/haxe-nav.css"/> <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico"/> <link href="/css/open_sans.css" rel="stylesheet" type="text/css"/> <link rel="alternate" type="application/atom+xml" title="RSS Feed haxe.org" href="https://haxe.org/blog/rss/"/> <link rel="search" type="application/opensearchdescription+xml" title="Search haxe.org" href="https://haxe.org/opensearch.xml"/> <!-- Google --> <meta name="description" content="Haxe is an open source toolkit based on a modern, high level, strictly typed programming language."/> <!-- Twitter card --> <meta name="twitter:card" content="summary"/> <meta name="twitter:creator" content="@haxe_org"/> <meta name="twitter:site" content="@haxe_org"/> <meta name="twitter:title" content="Command Line - Haxe - The Cross-platform Toolkit"/> <meta name="twitter:description" value="Haxe is an open source toolkit based on a modern, high level, strictly typed programming language."/> <meta name="twitter:image" content="https://haxe.org/img/share.jpg"/> <!-- OpenGraph --> <meta property="og:title" content="Command Line - Haxe - The Cross-platform Toolkit"/> <meta property="og:type" content="article"/> <meta property="og:image" content="https://haxe.org/img/share.jpg"/> <meta property="og:description" content="Haxe is an open source toolkit based on a modern, high level, strictly typed programming language."/> <meta property="og:site_name" content="Haxe - The Cross-platform Toolkit"/> </head> <body> <nav class="section nav dark"> <div class="navbar navbar-fixed-top navbar-inverse"> <div class="navbar-inner"> <button class="btn btn-navbar" data-target=".nav-collapse" data-toggle="collapse" type="button"><span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span></button> <a class="brand haxe-logo" href="/"><img alt="Haxe" height="21" onerror="this.src='/img/haxe-logo-horizontal-on-dark.png'" src="/img/haxe-logo-horizontal-on-dark.svg" width="107"/></a> <div class="nav-collapse collapse"> <ul class="nav pull-right search-link-menu"> <li> <a href="/search/"><i class="fa fa-search"></i></a> </li> </ul> <div class="container"><ul class="nav"> <li class=""><a href="/">Home</a></li><li class=""><a href="/download/">Download</a></li><li class=""><a href="/blog/">Blog</a></li><li class=" active dropdown"><a href="/use-cases/" data-toggle="dropdown" class="dropdown-toggle active">Use Cases <b class="caret"></b></a><ul class="dropdown-menu"><li class=""><a href="/use-cases/">Overview</a></li><li class=""><a href="/use-cases/games/">Games</a></li><li class=""><a href="/use-cases/web/">Web</a></li><li class=""><a href="/use-cases/mobile/">Mobile</a></li><li class=""><a href="/use-cases/desktop/">Desktop</a></li><li class=" active"><a href="/use-cases/cli/" class="active">Command Line</a></li><li class=""><a href="/use-cases/cross-platform-apis/">Cross Platform APIs</a></li><li class=" divider"></li><li class=""><a href="/use-cases/who-uses-haxe.html">Who Uses Haxe</a></li></ul></li><li class=" dropdown"><a href="/foundation/" data-toggle="dropdown" class="dropdown-toggle">Haxe Foundation <b class="caret"></b></a><ul class="dropdown-menu"><li class=""><a href="/foundation/">About The Foundation</a></li><li class=""><a href="/foundation/people.html">Who is who</a></li><li class=""><a href="/foundation/jobs.html">Jobs</a></li><li class=" divider"></li><li class=""><a href="/foundation/supported-projects.html">Supported Projects</a></li><li class=""><a href="/foundation/support-plans.html">Support Plans</a></li><li class=""><a href="/foundation/donate.html">Donate</a></li><li class=" divider"></li><li class=""><a href="/foundation/branding.html">Branding</a></li><li class=""><a href="/foundation/shop.html">Shop</a></li><li class=""><a href="/foundation/open-source.html">Open Source</a></li><li class=""><a href="/foundation/contact.html">Contact</a></li></ul></li><li class=""><a href="/foundation/support-plans.html">Support Plans</a></li><li class=" divider"></li><li class=" dropdown"><a href="/documentation/introduction" data-toggle="dropdown" class="dropdown-toggle">Learn Haxe <b class="caret"></b></a><ul class="dropdown-menu"><li class=""><a href="/documentation/introduction/">Introduction</a></li><li class=""><a href="/manual/">Manual</a></li><li class=""><a href="https://code.haxe.org/">Code Cookbook</a></li><li class=""><a href="https://api.haxe.org/">API Documentation</a></li><li class=" divider"></li><li class=""><a href="/videos/">Videos</a></li><li class=" divider"></li><li class=""><a href="https://try.haxe.org/">Try Haxe online</a></li><li class=""><a href="https://lib.haxe.org/">Haxelib</a></li></ul></li> <li class=" dropdown"> <a href="/HaxeFoundation" data-toggle="dropdown" class="dropdown-toggle">Connect <b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="https://github.com/HaxeFoundation" rel="external"><i class="fa fa-github"></i> GitHub</a></li> <li><a href="https://github.com/HaxeFoundation/haxe/issues" rel="external"><i class="fa fa-github"></i> Bug reports</a></li> <li><a href="https://stackoverflow.com/questions/tagged/haxe" rel="external"><i class="fa fa-stack-overflow"></i> Stack Overflow</a></li> <li><a href="http://community.haxe.org/" rel="external"><i class="fa fa-envelope-o"></i> Forums</a></li> <li><a href="https://discordapp.com/invite/0uEuWH3spjck73Lo" rel="external nofollow"><i class="fa fa-comments-o"></i> Discord</a></li> <li><a href="https://gitter.im/HaxeFoundation/haxe" rel="external nofollow"><i class="fa fa-comments-o"></i> Gitter</a></li> <li><a href="https://haxe.org/blog"><i class="fa fa-rss"></i> Blog</a></li> <li class="divider"></li> <li><a href="https://www.facebook.com/haxe.org/" rel="external"><i class="fa fa-facebook"></i> Facebook</a></li> <li><a href="https://twitter.com/search?q=%23haxe" rel="external"><i class="fa fa-twitter"></i> #haxe</a></li> <li><a href="https://twitter.com/haxelang" rel="external"><i class="fa fa-twitter"></i> @haxelang</a></li> <li><a href="https://twitter.com/haxe_org" rel="external"><i class="fa fa-twitter"></i> @haxe_org</a></li> <li class="divider"></li> <li><a href="https://haxe.org/foundation/contact.html" rel="external">Contact</a></li> </ul> </li> </ul></div> </div> </div> </div> </nav> <div class="page-wrap"> <div class="section site-content"> <div class="container"> <div class="prev-next-links clearfix top"> <a href="/use-cases/desktop/" class="prev-link">Desktop</a><a href="/use-cases/cross-platform-apis/" class="next-link">Cross Platform APIs</a></div> <div class="row"> <div class="span4 tree-nav"> <ul><li class=""><i class="fa"></i><a href="/use-cases/">Overview</a></li><li class=""><i class="fa"></i><a href="/use-cases/games/">Games</a></li><li class=""><i class="fa"></i><a href="/use-cases/web/">Web</a></li><li class=""><i class="fa"></i><a href="/use-cases/mobile/">Mobile</a></li><li class=""><i class="fa"></i><a href="/use-cases/desktop/">Desktop</a></li><li class=" active"><i class="fa"></i><a href="/use-cases/cli/" class="active">Command Line</a></li><li class=""><i class="fa"></i><a href="/use-cases/cross-platform-apis/">Cross Platform APIs</a></li><li class=""><i class="fa"></i><a href="/use-cases/who-uses-haxe.html">Who Uses Haxe</a></li></ul> </div> <div class="span8"> <h1>Haxe for Command Line Interface (CLI) Apps</h1> <div class="row-fluid"> <div class="span6"> <p class="lead">Haxe gives you a type-safe, fast and portable way to write CLI apps.</p> <p>Use the language and libraries you are familiar with to write tasks for your servers or development environment. </p> <p>The neko target provides a simple and powerful environment for running your Haxe CLI tools on any platform, and it integrates seamlessly with Haxelib. CLI apps can also be compiled to Java, PHP, C++ and more.</p> </div> <div class="span6"> <blockquote> <p>Haxe lets us build CLI tools to power our web-app: unit testing, asset management, deployment and data migration. And it all works consistently across different environments, interacting seamlessly with the models and APIs from our Web-App.</p> <small><cite title="Source Title">Jason O'Neil, Lead Developer, Sheridan Research Institute</cite></small> </blockquote> </div> </div> <hr/> <h4>Showcase</h4> <ul> <li> <h6><a href="https://github.com/massiveinteractive/MassiveUnit/">MassiveUnit</a></h6> <p>A unit testing framework and tool written with MassiveLib. Provides reports and integrates with Continuous Integration systems.</p> </li> <li> <h6><a href="http://openfl.org/">OpenFL</a></h6> <p>OpenFL's command line tool provides shortcuts to install SDKs, build for multiple platforms, and package your app or game for deployment.</p> </li> <li> <h6><a href="https://github.com/ianxm/ihx/">IHX</a></h6> <p>IHX (Interactive Haxe) provides a REPL-like environment for you to test your Haxe code one line at a time. It is super useful and written for neko.</p> </li> </ul> <div class="row-fluid"> <div class="span6"> <h4>Popular Libraries</h4> <ul> <li> <h6><a href="https://github.com/haxetink/tink_cli">Tinkerbell CLI</a></h6> <p>Tinkerbell CLI leverages Haxe macros to handle different routing options from the command line. It also includes support for async and sub-commands.</p> </li> <li> <h6><a href="https://github.com/waneck/mcli">MCLI</a></h6> <p>MCLI uses Haxe macros to automatically take care of different routing options for your command line app. It even provides automatic help information based off comments in your code.</p> </li> <li> <h6><a href="https://github.com/HaxeCheckstyle/haxe-checkstyle">Haxe Checkstyle</a></h6> <p>Haxe Checkstyle is a static analysis tool to help developers write Haxe code that adheres to a coding standard.</p> </li> <li> <h6><a href="https://github.com/massiveinteractive/MassiveLib">MassiveLib</a></h6> <p>MassiveLib provides tools for creating complex CLI apps and interacting with the local system easily.</p> </li> </ul> </div> <div class="span6"> <h4>Articles</h4> <ul> <li> <h6>Have an article?</h6> <p><a href="https://github.com/HaxeFoundation/haxe.org/issues/new?title=Use-case%20suggestion">Let us know</a> and we might add it to this page.</p> </li> </ul> </div> </div> <div class="prev-next-links clearfix bottom"> <a href="/use-cases/desktop/" class="prev-link">Desktop</a><a href="https://github.com/HaxeFoundation/haxe.org/tree/staging/pages/use-cases/cli/index.html" target="_blank">Contribute to this page</a><a href="/use-cases/cross-platform-apis/" class="next-link">Cross Platform APIs</a></div> </div> </div> </div> </div> </div> <footer class="section dark site-footer"> <div class="container"> <div class="sitemap clearfix"> <ul> <li class="column"> <h5><a href="/">Home</a></h5> <h5><a href="/download/">Download</a></h5> <h5><a href="/blog/">Blog</a></h5> <h5><a href="/foundation/support-plans.html">Support Plans</a></h5> </li> <li class="column"> <h5><a href="/use-cases/">Use Cases</a></h5> <ul> <li><a href="/use-cases/">Overview</a></li> <li><a href="/use-cases/games/">Games</a></li> <li><a href="/use-cases/web/">Web</a></li> <li><a href="/use-cases/mobile/">Mobile</a></li> <li><a href="/use-cases/desktop/">Desktop</a></li> <li><a href="/use-cases/cli/">Command Line</a></li> <li><a href="/use-cases/cross-platform-apis/">Cross Platform APIs</a></li> <li><a href="/use-cases/who-uses-haxe.html">Who Uses Haxe</a></li> </ul> </li> <li class="column"> <h5><a href="/foundation/">Haxe Foundation</a></h5> <ul> <li><a href="/foundation/">About The Foundation</a></li> <li><a href="/foundation/people.html">Who is who</a></li> <li><a href="/foundation/jobs.html">Jobs</a></li> <li><a href="/foundation/supported-projects.html">Supported Projects</a></li> <li><a href="/foundation/support-plans.html">Support Plans</a></li> <li><a href="/foundation/donate.html">Donate</a></li> <li><a href="/foundation/branding.html">Branding</a></li> <li><a href="/foundation/shop.html">Shop</a></li> <li><a href="/foundation/open-source.html">Open Source</a></li> <li><a href="/foundation/contact.html">Contact</a></li> </ul> </li> <li class="column"> <h5><a href="/documentation/introduction">Learn Haxe</a></h5> <ul> <li><a href="/documentation/introduction/">Introduction</a></li> <li><a href="/manual/">Manual</a></li> <li><a href="https://code.haxe.org/">Code Cookbook</a></li> <li><a href="https://api.haxe.org/">API Documentation</a></li> <li><a href="/videos/">Videos</a></li> <li><a href="https://try.haxe.org/">Try Haxe online</a></li> <li><a href="https://lib.haxe.org/">Haxelib</a></li> </ul> </li> </ul> </div> <div class="copyright"> <p>© 2024 <a href="/foundation/" title="Haxe Foundation Website" class="hf-link">Haxe Foundation</a> | <a href="https://github.com/HaxeFoundation/haxe.org/tree/staging/pages/use-cases/cli/index.html" target="_blank" rel="external" class="edit-link" title="Use Github to suggest an edit to this page">Contribute to this page</a> </p> </div> </div> </footer> <script src="/js/jquery.min.js"></script> <script src="/js/bootstrap.min.js"></script> <script src="/js/client.min.js"></script> <!-- Google Tag Manager --> <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-NXV3XR" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NXV3XR');</script> <!-- End Google Tag Manager --> </body> </html>