Creating your project
Before we begin, remember that every value you enter into the CLI will be saved to your project and can be altered at any time. With that in mind, first think of a name for your project, I'll go with Minesweeper
. Go ahead and open a terminal, navigate to your projects directory (or anywhere else, it doesn't matter), and then run the new
command to create the project:
This will start the project wizard. You'll get a bunch of questions, split up into two main sections. Here's what everything means:
These first questions establish the project you're about to create. This includes basic metadata like the name, description, who made it, and where it installs.
Create ArcOS Project
What do you want to name your app? Enter a name for your application. This name will be displayed to the user when they interact with your app.
Type a short description? The description will be displayed to the user when they install your app. Keep it brief: It can't be any longer than 32 characters at this time.
Who's the author? Enter your name here. This can be your full name or your GitHub username, but do make it something people can look up online.
What version is your app? This is just a version number. It's in format
major.minor.patch
, and can be changed at any time.Where will this app install? This tells ArcOS where to install your app. I didn't leave you with much customizability, the path is an ArcOS path and has to begin with
U:/Applications/
. I recommend going with something that only you would use, perhaps prepending your initials like so:IzK_Minesweeper
What ID do you want your app to have? If you're smart about this, I'd grab the same thing as your installation directory. So, if your installation directory is
U:/Applications/IzK_Minesweeper
, I'd grabIzK_Minesweeper
. You even need to have an underscore in your app ID to make sure it doesn't interfere with built-in applications, so it's a perfect fit.
Scaffold ArcOS app
Now we're getting into the "app part" of your project. These questions are all about the runtime of your app, like its icon, size, position, that kind of stuff. Again, everything you enter can be changed later. I certainly have to usually.
What do you want to call your entrypoint file? Really, this can be anything you want. It's just the first file ArcOS executes when your application is launched. There's really no benifit to naming it anything beside
main.js
.Filename for the icon? Here you can enter the filename that will be used to give your app an icon. You'll have to add this image into the
src
folder yourself later, but it's nice to give the CLI the heads up of what the file is going to be called when it's there. This too can be changed later.Default window width/height? These values decide what size the window will have when it first opens. Depending on the options you set, the user might be able to resize it later, but this is the initial value.
Minimal window width/height? The window simply can't get any smaller than these values. You can make this size larger or smaller than the default size, as long as it's reasonable. Let's be kind to our users.
Maximal window width/height? Last but not least, the maximal window size. The window can't grow any bigger than these values. Set them to -1 to disable the maximal size. I was going to say
NaN
here, but it turns out JSON files don't support it. You live, you learn. Right?Select any default window states you want. These are what they say on the tin. They're just states the window will obey when the app spawns. Choose any that apply.
Maximized - Is the window maximized?
Minimized - Is the window minimized?
Fullscreen - Is the window fullscreen (like a fullscreen youtube video in your browser)?
Resizable - Decides if the user can resize the window
Headless - Just removes the title bar
Which window controls do you want to enable? Really, there's nothing to explain here. Just pick what you want, it's self explanatory.
Anything else? These are miscellaneous options you might want to enable. Here's what they imply:
Enable glass effects - Is the entire window semitransparent, or just the titlebar? This also changes the default styling of several elements like buttons and inputs.
This is a hidden app - This simply hides your app from the start menu app list, and from several other places depending on what the user has enabled on their account.
This is a core app - FOR ADVANCED USERS - This option disables the window controls, styling, basically any control ArcOS styling has over the window. It's a fullscreen app with zero supportive CSS, like the boot, login and initial setup screens.
At this point, your ArcOS project should be created. If you encountered an error at any point, be sure to get in touch so I can fix it. I don't bite, I'm here to help!
Last updated