coreutils

module
v0.0.0-...-8a1658d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2026 License: MIT

README

coreutils

A pure-Go agent userland: one set of Unix-style tools with identical behavior on every major platform (Linux, macOS, Windows), no system binaries required.

This repo exists for agents, not humans. Agentic tools (shells, tool executors, automation harnesses) need a predictable command vocabulary — ls, cat, sort, git, … — that behaves the same whether the host is a Linux CI runner, a developer's Mac, or a Windows box with nothing installed. Re-implementing the tools in pure Go (no cgo, no shell-out) is what makes that possible: the same code path everywhere, embedded directly into the consuming process.

It pairs with qiangli/sh (a fork of mvdan.cc/sh/v3 with an in-process bash interpreter): sh provides the shell, coreutils provides the userland. Wired together through the interpreter's ExecHandler, an agent gets a complete Unix-like environment in a single Go process.

The agent contract

Every tool in this repo follows the same rules:

  • Deterministic output. LC_ALL=C semantics always; no locale, color, or terminal-width variance by default.
  • GNU-compatible where implemented. Behavior follows the GNU coreutils manual and POSIX — implemented from the documentation (or adapted from permissively-licensed reimplementations, see THIRD_PARTY_LICENSES.md), never from GPL sources. A supported flag means exactly what the upstream documentation says — same spelling, same defaults, same output; meanings are never changed or approximated.
  • Clear errors for the rest. Not every flag is supported. An unsupported flag or mode fails loudly, naming the flag, with exit code 2 — never silently ignored, never silently approximated.
  • Pure Go. No tool ever shells out to a system binary. If the pure-Go implementation can't do something, you get an error that says so.

Packages

  • git/ — self-contained git client built on go-git/v5: the typed API (Clone, Pull, Merge, …) for CLIs that own their flag parsing, and Exec(ctx, dir, args) for argv-style callers, with ErrUnsupported as the fall-back-or-fail signal. Pull and merge integrate fast-forwards only (preserving non-conflicting local changes, like real git); conflict resolution is out of scope by design. Even local-path remotes use go-git's in-process server transport — git-upload-pack is never spawned.

  • cmds/ — the userland: 74 commands (Phase A of docs/commands.md) covering file operations (cp, mv, rm, mkdir, ln, chmod, …), listing (ls, stat, du, df, …), text (cat, head, tail, wc, sort, uniq, cut, tr, grep, diff, …), system info (date, uname, id, …), checksums (md5/sha*sum, base64/32), and archives (tar, gzip). Each command is its own importable package registered into tool/'s registry; cmds/all pulls in everything.

  • tool/ — the framework: registry + per-invocation RunContext (stdio, working directory, environment — tools never touch process globals) + strict GNU-style flags with automatic --help/--version.

  • cmd/coreutils — busybox-style multicall binary (coreutils ls …, or symlink a tool name to the binary for argv[0] dispatch).

Planned next (see docs/commands.md): Phase B — the rest of the GNU manual (printf, test, expr, od, dd, …) — then sed/xargs/ps and the mvdan.cc/sh/v3 ExecHandler adapter.

Consumers

  • outpostoutpost git … is a cobra CLI over git/'s typed API.
  • ycodeyc git … dispatches through git.Exec natively, falling back to a host git binary (and then a container) for anything ErrUnsupported.

License

MIT

Directories

Path Synopsis
cmd
coreutils command
coreutils is the busybox-style multicall binary: invoke a tool as `coreutils <name> [args...]`, or symlink/rename the binary to a tool name and invoke it directly (argv[0] dispatch).
coreutils is the busybox-style multicall binary: invoke a tool as `coreutils <name> [args...]`, or symlink/rename the binary to a tool name and invoke it directly (argv[0] dispatch).
cmds
all
Package all registers every implemented command via blank imports.
Package all registers every implemented command via blank imports.
base32
Package base32cmd implements base32(1) per the GNU coreutils manual: encode with 76-column wrapping by default (-w COLS, 0 = no wrap), decode with -d (embedded newlines tolerated), -i to ignore non-alphabet bytes on decode.
Package base32cmd implements base32(1) per the GNU coreutils manual: encode with 76-column wrapping by default (-w COLS, 0 = no wrap), decode with -d (embedded newlines tolerated), -i to ignore non-alphabet bytes on decode.
base64
Package base64cmd implements base64(1) per the GNU coreutils manual: encode with 76-column wrapping by default (-w COLS, 0 = no wrap), decode with -d (embedded newlines tolerated), -i to ignore non-alphabet bytes on decode.
Package base64cmd implements base64(1) per the GNU coreutils manual: encode with 76-column wrapping by default (-w COLS, 0 = no wrap), decode with -d (embedded newlines tolerated), -i to ignore non-alphabet bytes on decode.
basename
Package basenamecmd implements basename(1) per the GNU coreutils manual: strip directory and (optionally) suffix from each NAME.
Package basenamecmd implements basename(1) per the GNU coreutils manual: strip directory and (optionally) suffix from each NAME.
cat
Package catcmd implements cat(1) per the GNU coreutils manual: concatenate FILE(s) to standard output.
Package catcmd implements cat(1) per the GNU coreutils manual: concatenate FILE(s) to standard output.
chgrp
Package chgrpcmd implements chgrp(1) per the GNU coreutils manual: change the group of each FILE to GROUP (name or numeric id), with -R.
Package chgrpcmd implements chgrp(1) per the GNU coreutils manual: change the group of each FILE to GROUP (name or numeric id), with -R.
chmod
Package chmodcmd implements chmod(1) per the GNU coreutils manual: change file mode bits, with octal and symbolic modes and -R.
Package chmodcmd implements chmod(1) per the GNU coreutils manual: change file mode bits, with octal and symbolic modes and -R.
chown
Package chowncmd implements chown(1) per the GNU coreutils manual: change file owner and group ([OWNER][:[GROUP]] by name or numeric ID), with -R.
Package chowncmd implements chown(1) per the GNU coreutils manual: change file owner and group ([OWNER][:[GROUP]] by name or numeric ID), with -R.
cmp
Package cmpcmd implements cmp(1) per the GNU diffutils manual: compare two files byte by byte.
Package cmpcmd implements cmp(1) per the GNU diffutils manual: compare two files byte by byte.
comm
Package commcmd implements comm(1) per the GNU coreutils manual: compare two sorted files line by line, producing three-column output — lines unique to FILE1, lines unique to FILE2, and lines common to both — with each output column indented by one TAB per column printed before it.
Package commcmd implements comm(1) per the GNU coreutils manual: compare two sorted files line by line, producing three-column output — lines unique to FILE1, lines unique to FILE2, and lines common to both — with each output column indented by one TAB per column printed before it.
cp
Package cpcmd implements cp(1) per the GNU coreutils manual: copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
Package cpcmd implements cp(1) per the GNU coreutils manual: copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
cut
Package cutcmd implements cut(1) per the GNU coreutils manual: print selected parts of lines from each FILE to standard output.
Package cutcmd implements cut(1) per the GNU coreutils manual: print selected parts of lines from each FILE to standard output.
date
Package datecmd implements date(1) per the GNU coreutils manual (C locale): print the current (or specified) time in the default format or per a +FORMAT operand built from strftime directives.
Package datecmd implements date(1) per the GNU coreutils manual (C locale): print the current (or specified) time in the default format or per a +FORMAT operand built from strftime directives.
df
Package dfcmd implements df(1) per the GNU coreutils manual for the flag subset -h -k.
Package dfcmd implements df(1) per the GNU coreutils manual for the flag subset -h -k.
diff
Package diffcmd implements diff(1) per GNU diffutils (https://www.gnu.org/software/diffutils/manual/): compare files line by line, in the default "normal" format or unified format (-u / -U NUM / --unified[=NUM]), with -r recursive directory comparison, -q brief mode, -N absent-as-empty, and the -i / -w / -b comparison-relaxing flags.
Package diffcmd implements diff(1) per GNU diffutils (https://www.gnu.org/software/diffutils/manual/): compare files line by line, in the default "normal" format or unified format (-u / -U NUM / --unified[=NUM]), with -r recursive directory comparison, -q brief mode, -N absent-as-empty, and the -i / -w / -b comparison-relaxing flags.
dirname
Package dirnamecmd implements dirname(1) per the GNU coreutils manual: output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no '/', output '.'.
Package dirnamecmd implements dirname(1) per the GNU coreutils manual: output each NAME with its last non-slash component and trailing slashes removed; if NAME contains no '/', output '.'.
du
Package ducmd implements du(1) per the GNU coreutils manual for the flag subset -a -b -c -d/--max-depth -h -s.
Package ducmd implements du(1) per the GNU coreutils manual for the flag subset -a -b -c -d/--max-depth -h -s.
echo
Package echocmd implements echo(1) per the GNU coreutils manual: write arguments to standard output, separated by spaces, terminated by a newline.
Package echocmd implements echo(1) per the GNU coreutils manual: write arguments to standard output, separated by spaces, terminated by a newline.
env
Package envcmd implements env(1) per the GNU coreutils manual: print the environment, optionally modified by -i, -u NAME, and NAME=VALUE assignments.
Package envcmd implements env(1) per the GNU coreutils manual: print the environment, optionally modified by -i, -u NAME, and NAME=VALUE assignments.
false
Package falsecmd implements false(1): do nothing, unsuccessfully.
Package falsecmd implements false(1): do nothing, unsuccessfully.
find
Package findcmd implements find(1) per the GNU findutils manual: walk each starting-point and evaluate an expression for every file.
Package findcmd implements find(1) per the GNU findutils manual: walk each starting-point and evaluate an expression for every file.
grep
BRE → RE2 translation for grep's default matcher.
BRE → RE2 translation for grep's default matcher.
gzip
Package gzipcmd implements gzip(1), plus the gunzip and zcat aliases, per the GNU gzip manual: -d decompress, -k keep, -c stdout, -f force, -1..-9 / --fast / --best levels.
Package gzipcmd implements gzip(1), plus the gunzip and zcat aliases, per the GNU gzip manual: -d decompress, -k keep, -c stdout, -f force, -1..-9 / --fast / --best levels.
head
Package headcmd implements head(1) per the GNU coreutils manual: output the first part of files.
Package headcmd implements head(1) per the GNU coreutils manual: output the first part of files.
hexdump
Package hexdumpcmd implements hexdump(1) (util-linux) in its canonical -C mode only: hex+ASCII display, 16 bytes per line, with the documented default squeezing of repeated identical lines into a single "*" and a final line giving the total input offset.
Package hexdumpcmd implements hexdump(1) (util-linux) in its canonical -C mode only: hex+ASCII display, 16 bytes per line, with the documented default squeezing of repeated identical lines into a single "*" and a final line giving the total input offset.
hostname
Package hostnamecmd implements hostname(1) (print mode only): show the system's host name.
Package hostnamecmd implements hostname(1) (print mode only): show the system's host name.
id
Package idcmd implements id(1) per the GNU coreutils manual: print user and group information for each specified USER, or for the current process when no USER is given.
Package idcmd implements id(1) per the GNU coreutils manual: print user and group information for each specified USER, or for the current process when no USER is given.
internal/hashenc
Package hashenc is the shared, non-registered engine behind the checksum tools (md5sum, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum) and the base-encoding tools (base64, base32).
Package hashenc is the shared, non-registered engine behind the checksum tools (md5sum, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum) and the base-encoding tools (base64, base32).
join
Package joincmd implements join(1) per the GNU coreutils manual: for each pair of input lines with identical join fields, write a line to standard output.
Package joincmd implements join(1) per the GNU coreutils manual: for each pair of input lines with identical join fields, write a line to standard output.
link
Package linkcmd implements link(1) per the GNU coreutils manual: call the link function to create a link named FILE2 to an existing FILE1.
Package linkcmd implements link(1) per the GNU coreutils manual: call the link function to create a link named FILE2 to an existing FILE1.
ln
Package lncmd implements ln(1) per the GNU coreutils manual: make hard or symbolic links between files.
Package lncmd implements ln(1) per the GNU coreutils manual: make hard or symbolic links between files.
ls
Package lscmd implements ls(1) per the GNU coreutils manual for the flag subset -l -a -A -d -R -r -t -S -1 -h -i.
Package lscmd implements ls(1) per the GNU coreutils manual for the flag subset -l -a -A -d -R -r -t -S -1 -h -i.
md5sum
Package md5sumcmd implements md5sum(1) per the GNU coreutils manual: print "<hex> <file>" lines ("-" = stdin), -b switches the separator to " *" (digest bytes are identical on every platform — no text-mode translation ever happens), --tag emits BSD-style output, -c verifies checksum lists with OK/FAILED per line and GNU WARNING summaries.
Package md5sumcmd implements md5sum(1) per the GNU coreutils manual: print "<hex> <file>" lines ("-" = stdin), -b switches the separator to " *" (digest bytes are identical on every platform — no text-mode translation ever happens), --tag emits BSD-style output, -c verifies checksum lists with OK/FAILED per line and GNU WARNING summaries.
mkdir
Package mkdircmd implements mkdir(1) per the GNU coreutils manual: create the DIRECTORY(ies), if they do not already exist.
Package mkdircmd implements mkdir(1) per the GNU coreutils manual: create the DIRECTORY(ies), if they do not already exist.
mktemp
Package mktempcmd implements mktemp(1) per the GNU coreutils manual: create a temporary file or directory safely and print its name.
Package mktempcmd implements mktemp(1) per the GNU coreutils manual: create a temporary file or directory safely and print its name.
mv
Package mvcmd implements mv(1) per the GNU coreutils manual: rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
Package mvcmd implements mv(1) per the GNU coreutils manual: rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.
paste
Package pastecmd implements paste(1) per the GNU coreutils manual: write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs, to standard output.
Package pastecmd implements paste(1) per the GNU coreutils manual: write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs, to standard output.
printenv
Package printenvcmd implements printenv(1) per the GNU coreutils manual: print all environment variables, or the values of the named VARIABLEs.
Package printenvcmd implements printenv(1) per the GNU coreutils manual: print all environment variables, or the values of the named VARIABLEs.
pwd
Package pwdcmd implements pwd(1) per the GNU coreutils manual: print the name of the current working directory.
Package pwdcmd implements pwd(1) per the GNU coreutils manual: print the name of the current working directory.
readlink
Canonicalization engine shared (by duplication — cmds packages do not import each other) with cmds/realpath.
Canonicalization engine shared (by duplication — cmds packages do not import each other) with cmds/realpath.
realpath
Canonicalization engine shared (by duplication — cmds packages do not import each other) with cmds/readlink.
Canonicalization engine shared (by duplication — cmds packages do not import each other) with cmds/readlink.
rm
Package rmcmd implements rm(1) per the GNU coreutils manual: remove files or directories.
Package rmcmd implements rm(1) per the GNU coreutils manual: remove files or directories.
rmdir
Package rmdircmd implements rmdir(1) per the GNU coreutils manual: remove the DIRECTORY(ies), if they are empty.
Package rmdircmd implements rmdir(1) per the GNU coreutils manual: remove the DIRECTORY(ies), if they are empty.
seq
Package seqcmd implements seq(1) per the GNU coreutils manual: print numbers from FIRST to LAST, in steps of INCREMENT.
Package seqcmd implements seq(1) per the GNU coreutils manual: print numbers from FIRST to LAST, in steps of INCREMENT.
sha1sum
Package sha1sumcmd implements sha1sum(1) per the GNU coreutils manual.
Package sha1sumcmd implements sha1sum(1) per the GNU coreutils manual.
sha224sum
Package sha224sumcmd implements sha224sum(1) per the GNU coreutils manual.
Package sha224sumcmd implements sha224sum(1) per the GNU coreutils manual.
sha256sum
Package sha256sumcmd implements sha256sum(1) per the GNU coreutils manual.
Package sha256sumcmd implements sha256sum(1) per the GNU coreutils manual.
sha384sum
Package sha384sumcmd implements sha384sum(1) per the GNU coreutils manual.
Package sha384sumcmd implements sha384sum(1) per the GNU coreutils manual.
sha512sum
Package sha512sumcmd implements sha512sum(1) per the GNU coreutils manual.
Package sha512sumcmd implements sha512sum(1) per the GNU coreutils manual.
shuf
Package shufcmd implements shuf(1) per the GNU coreutils manual: write a random permutation of the input lines to standard output.
Package shufcmd implements shuf(1) per the GNU coreutils manual: write a random permutation of the input lines to standard output.
sleep
Package sleepcmd implements sleep(1) per the GNU coreutils manual: pause for NUMBER seconds, where NUMBER may be fractional and may carry an s/m/h/d suffix; multiple arguments are summed.
Package sleepcmd implements sleep(1) per the GNU coreutils manual: pause for NUMBER seconds, where NUMBER may be fractional and may carry an s/m/h/d suffix; multiple arguments are summed.
sort
Package sortcmd implements sort(1) per the GNU coreutils manual: sort lines of text files.
Package sortcmd implements sort(1) per the GNU coreutils manual: sort lines of text files.
split
Package splitcmd implements split(1) per the GNU coreutils manual: split a file into pieces.
Package splitcmd implements split(1) per the GNU coreutils manual: split a file into pieces.
stat
Package statcmd implements stat(1) per the GNU coreutils manual: the default information block, plus --format/-c with the directive subset %n %s %F %a %U %G %u %g %x %y %z %i %h (and %%).
Package statcmd implements stat(1) per the GNU coreutils manual: the default information block, plus --format/-c with the directive subset %n %s %F %a %U %G %u %g %x %y %z %i %h (and %%).
strings
Package stringscmd implements strings(1) per the GNU binutils manual: print the sequences of printable characters in files.
Package stringscmd implements strings(1) per the GNU binutils manual: print the sequences of printable characters in files.
sync
Package synccmd implements sync(1) per the GNU coreutils manual: synchronize cached writes to persistent storage.
Package synccmd implements sync(1) per the GNU coreutils manual: synchronize cached writes to persistent storage.
tac
Package taccmd implements tac(1) per the GNU coreutils manual: concatenate and print files in reverse (record order).
Package taccmd implements tac(1) per the GNU coreutils manual: concatenate and print files in reverse (record order).
tail
Package tailcmd implements tail(1) per the GNU coreutils manual: output the last part of files.
Package tailcmd implements tail(1) per the GNU coreutils manual: output the last part of files.
tar
Package tarcmd implements tar(1) — the GNU tar common surface: -c create, -x extract, -t list, -f FILE ('-' = stdin/stdout), -z gzip, -v verbose, -C DIR, --strip-components=N (extract).
Package tarcmd implements tar(1) — the GNU tar common surface: -c create, -x extract, -t list, -f FILE ('-' = stdin/stdout), -z gzip, -v verbose, -C DIR, --strip-components=N (extract).
tee
Package teecmd implements tee(1) per the GNU coreutils manual: copy standard input to each FILE, and also to standard output.
Package teecmd implements tee(1) per the GNU coreutils manual: copy standard input to each FILE, and also to standard output.
touch
Package touchcmd implements touch(1) per the GNU coreutils manual: update the access and modification times of each FILE to the current time, creating missing files unless told otherwise.
Package touchcmd implements touch(1) per the GNU coreutils manual: update the access and modification times of each FILE to the current time, creating missing files unless told otherwise.
tr
Package trcmd implements tr(1) per the GNU coreutils manual: translate, squeeze, and/or delete characters from standard input, writing to standard output.
Package trcmd implements tr(1) per the GNU coreutils manual: translate, squeeze, and/or delete characters from standard input, writing to standard output.
true
Package truecmd implements true(1): do nothing, successfully.
Package truecmd implements true(1): do nothing, successfully.
truncate
Package truncatecmd implements truncate(1) per the GNU coreutils manual: shrink or extend the size of each FILE to the specified size.
Package truncatecmd implements truncate(1) per the GNU coreutils manual: shrink or extend the size of each FILE to the specified size.
tsort
Package tsortcmd implements tsort(1) per POSIX and the GNU coreutils manual: write a totally ordered list of items consistent with the partial ordering given as whitespace-separated pairs in FILE (or standard input; "-" means standard input).
Package tsortcmd implements tsort(1) per POSIX and the GNU coreutils manual: write a totally ordered list of items consistent with the partial ordering given as whitespace-separated pairs in FILE (or standard input; "-" means standard input).
tty
Package ttycmd implements tty(1) per the GNU coreutils manual: print the file name of the terminal connected to standard input, or "not a tty" (exit status 1) when standard input is not a terminal.
Package ttycmd implements tty(1) per the GNU coreutils manual: print the file name of the terminal connected to standard input, or "not a tty" (exit status 1) when standard input is not a terminal.
uname
Package unamecmd implements uname(1) per the GNU coreutils manual: print system information.
Package unamecmd implements uname(1) per the GNU coreutils manual: print system information.
uniq
Package uniqcmd implements uniq(1) per the GNU coreutils manual: filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output).
Package uniqcmd implements uniq(1) per the GNU coreutils manual: filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output).
unlink
Package unlinkcmd implements unlink(1) per the GNU coreutils manual: call the unlink function to remove the specified FILE.
Package unlinkcmd implements unlink(1) per the GNU coreutils manual: call the unlink function to remove the specified FILE.
uptime
Package uptimecmd implements uptime(1) (GNU/procps output shape): current time, how long the system has been running, and the load averages where the platform provides them.
Package uptimecmd implements uptime(1) (GNU/procps output shape): current time, how long the system has been running, and the load averages where the platform provides them.
wc
Package wccmd implements wc(1) per the GNU coreutils manual: print newline, word, character, byte, and maximum line length counts.
Package wccmd implements wc(1) per the GNU coreutils manual: print newline, word, character, byte, and maximum line length counts.
which
Package whichcmd implements which(1) (debianutils/GNU-which common surface): locate each COMMAND on the search PATH and print the full path of the executable that would run.
Package whichcmd implements which(1) (debianutils/GNU-which common surface): locate each COMMAND on the search PATH and print the full path of the executable that would run.
whoami
Package whoamicmd implements whoami(1) per the GNU coreutils manual: print the user name associated with the current effective user ID.
Package whoamicmd implements whoami(1) per the GNU coreutils manual: print the user name associated with the current effective user ID.
yc
Package yccmd registers `yc`, the AgentOS code-intelligence command: treesitter-backed symbol search and a token-budgeted repo map, reachable through every coreutils surface (shell builtin, multicall, MCP run_tool).
Package yccmd registers `yc`, the AgentOS code-intelligence command: treesitter-backed symbol search and a token-budgeted repo map, reachable through every coreutils surface (shell builtin, multicall, MCP run_tool).
yes
Package yescmd implements yes(1) per the GNU coreutils manual: repeatedly output a line with all specified STRING(s), or 'y'.
Package yescmd implements yes(1) per the GNU coreutils manual: repeatedly output a line with all specified STRING(s), or 'y'.
external
podman
Package podman is a thin shell-out front-door to an externally installed podman binary.
Package podman is a thin shell-out front-door to an externally installed podman binary.
Package git is a self-contained, pure-Go git client built on go-git/v5: the typical clone → edit → add → commit → push lifecycle, the read/inspect verbs (status, log, diff, branch, show, remote, fetch, merge-base, rev-list, ls-files, blame, grep), and the local write verbs (merge fast-forward, tag, reset, rm, config).
Package git is a self-contained, pure-Go git client built on go-git/v5: the typical clone → edit → add → commit → push lifecycle, the read/inspect verbs (status, log, diff, branch, show, remote, fetch, merge-base, rev-list, ls-files, blame, grep), and the local write verbs (merge fast-forward, tag, reset, rm, config).
Package mcp exposes the coreutils tool registry over the Model Context Protocol — the third consumption surface (alongside the in-process shell ExecHandler and the busybox multicall binary) so that non-Go agents (codex, claude, …) can drive the AgentOS userland.
Package mcp exposes the coreutils tool registry over the Model Context Protocol — the third consumption surface (alongside the in-process shell ExecHandler and the busybox multicall binary) so that non-Go agents (codex, claude, …) can drive the AgentOS userland.
Package multicall is the busybox-style dispatch shared by every binary that fronts the coreutils tool registry: the standalone `coreutils` binary, a symlink/rename to a tool name (argv[0] dispatch), and the AgentOS `bashy` bootstrapper which also offers `bashy <tool> …`.
Package multicall is the busybox-style dispatch shared by every binary that fronts the coreutils tool registry: the standalone `coreutils` binary, a symlink/rename to a tool name (argv[0] dispatch), and the AgentOS `bashy` bootstrapper which also offers `bashy <tool> …`.
pkg
codegraph
Package codegraph wraps gfy's knowledge graph pipeline for ycode.
Package codegraph wraps gfy's knowledge graph pipeline for ycode.
repomap
Package repomap generates structured overviews of code repositories.
Package repomap generates structured overviews of code repositories.
treesitter
Package treesitter provides in-process AST parsing and structural code search using tree-sitter grammars.
Package treesitter provides in-process AST parsing and structural code search using tree-sitter grammars.
weave
Package weave is the filesystem-based multi-agent workspace orchestrator re-homed from ycode into the AgentOS hub.
Package weave is the filesystem-based multi-agent workspace orchestrator re-homed from ycode into the AgentOS hub.
weavecli
Package weavecli holds the agent-friendly CLI conventions every `ycode weave` subverb shares: versioned-envelope marshaling, stable exit-code constants, tty/agent-mode detection, and the YCODE_AGENT switch that flips all the user-visible defaults to machine-friendly.
Package weavecli holds the agent-friendly CLI conventions every `ycode weave` subverb shares: versioned-envelope marshaling, stable exit-code constants, tty/agent-mode detection, and the YCODE_AGENT switch that flips all the user-visible defaults to machine-friendly.
Package shell adapts the coreutils tool registry to mvdan.cc/sh/v3 so any embedding shell exposes the whole pure-Go userland as in-process commands.
Package shell adapts the coreutils tool registry to mvdan.cc/sh/v3 so any embedding shell exposes the whole pure-Go userland as in-process commands.
Package tool is the framework every command in this repository is built on: a registry of named tools, a process-free invocation context (stdio + working directory + environment, no os globals), and a strict GNU-style flag layer (flags.go).
Package tool is the framework every command in this repository is built on: a registry of named tools, a process-free invocation context (stdio + working directory + environment, no os globals), and a strict GNU-style flag layer (flags.go).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL