All Projects → Tatamo → Atcoder Cli

Tatamo / Atcoder Cli

Licence: bsd-3-clause
AtCoder command line tools

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Atcoder Cli

Nord Xresources
An arctic, north-bluish clean and elegant Xresources color theme.
Stars: ✭ 210 (-1.41%)
Mutual labels:  cli
Go Carpet
go-carpet - show test coverage in terminal for Go source files
Stars: ✭ 210 (-1.41%)
Mutual labels:  cli
Dry Cli
General purpose Command Line Interface (CLI) framework for Ruby
Stars: ✭ 210 (-1.41%)
Mutual labels:  cli
Bcrypt
A Java standalone implementation of the bcrypt password hash function. Based on the Blowfish cipher it is the default password hash algorithm for OpenBSD and other systems including some Linux distributions. Includes a CLI Tool.
Stars: ✭ 207 (-2.82%)
Mutual labels:  cli
Vsh
vsh - HashiCorp Vault interactive shell and cli tool
Stars: ✭ 209 (-1.88%)
Mutual labels:  cli
Hdfs
API and command line interface for HDFS
Stars: ✭ 209 (-1.88%)
Mutual labels:  cli
Stow
GNU Stow - mirror of savannah git repository occasionally with more bleeding-edge branches
Stars: ✭ 207 (-2.82%)
Mutual labels:  cli
Pollinate
Template your base files and generate new projects from Git(Hub).
Stars: ✭ 213 (+0%)
Mutual labels:  cli
Xcolor
Lightweight color picker for X11
Stars: ✭ 209 (-1.88%)
Mutual labels:  cli
Ascii py
Make some ascii arts
Stars: ✭ 211 (-0.94%)
Mutual labels:  cli
Gojson
Automatically generate Go (golang) struct definitions from example JSON
Stars: ✭ 2,439 (+1045.07%)
Mutual labels:  cli
Gscholar
Query Google Scholar with Python
Stars: ✭ 209 (-1.88%)
Mutual labels:  cli
Problem Solving Training
Problem solving training for computer science students.
Stars: ✭ 210 (-1.41%)
Mutual labels:  competitive-programming
Particle Cli
Command Line Interface for Particle Cloud and devices
Stars: ✭ 208 (-2.35%)
Mutual labels:  cli
Givegif
GIFs on the command line
Stars: ✭ 212 (-0.47%)
Mutual labels:  cli
Stonky
A command line dashboard for monitoring stocks
Stars: ✭ 208 (-2.35%)
Mutual labels:  cli
Json 2 Csv
Convert JSON to CSV *or* CSV to JSON!
Stars: ✭ 210 (-1.41%)
Mutual labels:  cli
Octosql
OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases and file formats using SQL.
Stars: ✭ 2,579 (+1110.8%)
Mutual labels:  cli
Datauri
Generate Data-URI scheme via terminal or node.js
Stars: ✭ 212 (-0.47%)
Mutual labels:  cli
Tldr
Golang command line client for tldr https://github.com/tldr-pages/tldr
Stars: ✭ 210 (-1.41%)
Mutual labels:  cli

atcoder-cli

AtCoder command line tools

  • get contest information
  • create a project directory for contests
    • auto provisioning with custom templates
  • linkage with online-judge-tools
    • submit your code without specified URL
    • auto downloading of sample inputs/outputs

解説記事(日本語)

Requirements

node.js
online-judge-tools (optional, but recommended)

Install

$ npm install -g atcoder-cli

Usage

$ acc login # login your atcoder account
$ acc session # check login status
$ # your login session will be saved to a local file, but your password won't be saved
$ # to delete the session file, use `acc logout`
$ acc new abc001 # "abc001/" directory will be created
$ cd abc001/
$ acc contest # show the contest information
$ acc tasks # show task list
$ acc add
$ cd a/
$ vim main.cpp # write your solution
$ acc submit main.cpp # to use submit function, you have to install online-judge-tools

To get detailed information, use

$ acc [COMMAND] -h

Config

$ acc config -h
$ acc config # show all global options
$ acc config <key> <value> # set option
$ cd `acc config-dir`
$ cat config.json # global config file

Provisioning Templates

With using custom templates, you can automatically prepare your template program code or build environment.

When you create new task directories, atcoder-cli can do:

  • place the scaffold program file
  • copy static files
  • exec shell command

show available templates:

$ acc templates

use the template:

$ acc new|add --template <your-template-name>

Or you can set default template:

$ acc config default-template <your-template-name>

Create a new template

$ cd `acc config-dir`
$ mkdir <your-template-name>
$ cd <your-template-name>
$ vim template.json # write your template settings

Options in template.json

{
  "task": {
    "program": ["main.cpp", ["foo.cpp", "{TaskID}.cpp"]],
    "submit": "main.cpp",
    "static": ["foo", ["bar","bar_{TaskLabel}"]],
    "testdir": "tests_{TaskID}",
    "cmd": "echo Hi!"
  },
  "contest": {
    "static": [["gitignore", ".gitignore"]],
    "cmd": "echo Ho!"
  }
}

"task" (required)

executed for each tasks.

"program" (required)
"program": (string | [string, string])[]

Your main program(s). Place main.cpp in the same directory of template.json, and write

  "program": ["main.cpp"]

then the program file will be copied to the task directory.

You can rename the file with format strings:

  "program": [["main.cpp", "{TaskId}.cpp"]] 

The file name of the program file will be "A.cpp" if the task is problem A.

To get detailed information about format strings, use acc format -h.

"submit" (required)
  "submit": string

The file name to submit. It enables to omit the filename argument to submit file, so you can run acc submit instead of acc submit <filename>.

Format strings are supported.

"static" (optional)
"static": (string | [string, string])[]

Static assets. The difference between "program" and "static" is:

  • "program" files won't be overwrited when using acc add --force.
  • "static" files will be overwrited when using acc add --force.
"testdir" (optional)
  "testdir": string

The name of the directory that sample cases will be downloaded. Without this, the directory name will be the value of acc config default-test-dirname-format.

Format strings are supported.

"cmd" (optional)
  "cmd": string

After copying files and downloading sample cases, the specified command will be executed.

The working directory is the task directory.

Parameters are given as enviromental variables:
$TEMPLATE_DIR, $TASK_DIR, $TASK_ID, $TASK_INDEX, $CONTEST_DIR and $CONTEST_ID

contest (optional)

executed only once when acc new command runs.

"static" (optional)

Same as tasks.static.

"cmd" (optional)

Same as tasks.cmd, but $TASK_* variables do not exist.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].