https://github.com/paradise-runner/aicasa
https://github.com/paradise-runner/aicasa
Last synced: about 22 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/paradise-runner/aicasa
- Owner: paradise-runner
- Created: 2026-06-06T15:19:19.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-07T22:05:44.000Z (about 1 month ago)
- Last Synced: 2026-06-08T00:09:59.973Z (30 days ago)
- Language: Rust
- Size: 1.12 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# aicasa
`casa` creates named project workspaces under `~/.aicasa` and fills them with
Git repositories. Its output uses a pastel blue, pink, and yellow terminal
palette when stdout is interactive.

## Install
```sh
cargo install --path .
```
An executable cannot change its parent terminal's working directory by
itself. Run `casa new`, then `cd` into the printed workspace path.
## Commands
Create a workspace and clone repositories using `owner/repo` GitHub
shorthand or full Git clone URLs:
```sh
casa new new-project paradise-runner/toast,paradise-runner/kaleidoscope
```
Each repository cloned by `casa new` gets a local branch named after the
workspace, created and checked out immediately after cloning.
That command ends with a `cd` hint for `~/.aicasa/new-project`.
Add repositories by naming a workspace, or omit its name while inside an
existing workspace managed by `casa`:
```sh
casa add new-project paradise-runner/another-repo
casa add paradise-runner/another-repo
```
Each newly managed workspace stores repository metadata in `.aicasa.json`.
Inspect a workspace as JSON for scripts and integrations:
```sh
casa inspect new-project
```
```json
{
"schema_version": 1,
"name": "new-project",
"path": "/Users/you/.aicasa/new-project",
"metadata_path": "/Users/you/.aicasa/new-project/.aicasa.json",
"metadata_present": true,
"repositories": [
{
"directory": "toast",
"source": "https://github.com/paradise-runner/toast.git",
"path": "/Users/you/.aicasa/new-project/toast",
"exists": true
}
]
}
```
Running `casa inspect` from within a workspace inspects the current workspace.
For workspaces created before metadata support, inspection reports immediate
child directories with `source: null` and `metadata_present: false`; adding a
repository then persists metadata including those discovered directories.
List workspaces or move them to the macOS Trash:
```sh
casa ls
casa rm new-project
```
On non-macOS systems, `rm` uses `~/.local/share/Trash/files`. For automation
and testing, `AICASA_ROOT` overrides `~/.aicasa` and `AICASA_TRASH_DIR`
overrides the trash location.
## Development
```sh
cargo fmt
cargo clippy --all-targets --all-features -- -D warnings
cargo test
```