Skip to content

Commit

Permalink
updated readme
Browse files Browse the repository at this point in the history
  • Loading branch information
DeaSTL committed Dec 1, 2023
1 parent e4a9c7a commit b6eb557
Showing 1 changed file with 25 additions and 85 deletions.
110 changes: 25 additions & 85 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<p align="center">This command line application came to fruition out of the desperate hopes and dreams of a few people looking to softly lighten their suffering while using c++. </p>
</p>

# THIS PROJECT IS STILL IN ALPHA DEVELOPMENT, STUFF MAY BREAK BETWEEN NIGHTLYS
# THIS PROJECT IS STILL IN ALPHA DEVELOPMENT, STUFF MAY BREAK


# STAR THE REPO
Expand All @@ -16,7 +16,7 @@
- tears
- sadness
- neovim
- vscode *yuck*
- vscode

## Build the binary from source
### Prerequisites
Expand All @@ -27,86 +27,25 @@ and
cmake >= 3
```

### Usage
### Basic Usage
```bash
new | n <project_name/dir> [ -d,--defaults ] : Create a new project
run [ -m,--build-mode -t,--target ] : Run the project
help | h : Display help
ftp : Deletes the entire project F*ck This Project
add <target>
├── packages | p | package <package,...> [ -l,--latest -m,--mode -t,--target ]
│ Add a package to the project
├── flag | f <"flag">
│ Add a flag to the project
├── lib | l <library-name>
│ Add a library to link to your project (Not implemented)
├── mode | m <mode-name>
│ Adds a build mode to your project
├── server | s
│ Add a remote server to your local config that you can later build to
├── toolchain | t
│ Add a crosscompile toolchain to your project
└── author | a <author-name>
Add an author to your project

set <target>
├── license | lc
│ Set the project's license
├── name | n
│ Set the project's name (Not implemented)
├── version | ver | v
│ Set the project's version (Not implemented)
└── keywords | kw
Set the project's keywords (Not implemented)

search <target>
├── mode | m <mode-name>
│ Adds a build mode to your project
├── server | s
│ Add a remote server to your local config that you can later build to
├── toolchain | t
│ Add a crosscompile toolchain to your project
└── author | a <author-name>
Add an author to your project

set <target>
├── license | lc
│ Set the project's license (Not implemented)
├── name | n
│ Set the project's name (Not implemented)
├── version | ver | v
│ Set the project's version (Not implemented)
└── keywords | kw
Set the project's keywords (Not implemented)

search <target>
└── package | p <query>
Search for packages

list | ls <target>
├── modes | m
│ List modes
├── servers | remote-servers
│ List remote servers
├── installed-packages | packages | p [ -m --mode ]
│ List installed packages
├── flags | f
│ List flags (Not implemented)
├── authors | a
│ List authors (Not implemented)
├── available-targets | at
│ List available targets
└── licenses | l
List possible licenses

remove | rm : remove sub command
update <target>
└── index
Update package index

clean [ -c --cache ] : clean sub command
build : build sub command
watch : watches the project for changes
frate new #optional -d for defaults
# ... Prompts you for information about your project

frate build #optional -j <number> for multi threaded builds

frate run # runs the project

frate add p <package-name> #optional -l for latest package

frate search p <query> #Searchs local cache for packages

frate update index #updates the package index

frate clean #optional -c to also clean the cache

frate watch #watches the project for changes and automatically builds and runs

```


Expand All @@ -118,14 +57,12 @@ cmake -DCMAKE_BUILD_TYPE=Release ./
sudo make install
```

#### Alternatively, you can simply copy the binary from our [release page](https://github.com/frate-dev/frate/releases) to your path
`/usr/local/bin/`

### Why use Frate
- Easy project creation and maintenance
- Simple default configurations that are easy to extend
- Get the functionality of utilities like cargo, npm , or yarn and use a language you're already familiar with
- Dencentralized package management
- NEVER touch a CMakeLists.txt again


### Your friend in the world of C/C++
Expand All @@ -136,5 +73,8 @@ frate is a command line utility used to expedite building modern c/c++ applicati
- [x] Easy license management
- [x] Multi mode builds
- [x] Modal dependency management
- [ ] Multi platform builds
- [x] Cross compilation
- [x] Project Blueprinting
- [x] Remote builds
- [ ] Legacy project conversion
- [ ] Extensible json configuration

0 comments on commit b6eb557

Please sign in to comment.