Skip to main content

A minimal visual harness for agentic coding.

Project description

aichs

aichs is a minimal visual harness for agentic coding. Adapt it to your workflows, not the other way around.

Open a repository, chat with a model, and let the agent work with your code through approved tools, git context, file references, skills, and extensions.

Python 3.11+ Tests

Status

aichs is early software. It is intended for developers who are comfortable running a local app that can read a workspace and, with approval, edit files or run shell commands.

Install From PyPI

Install the published command with pipx:

pipx install aichs

Start it from a repository:

cd /path/to/your/repo
aichs

Or pass the workspace explicitly:

aichs /path/to/your/repo

Run

By default, aichs honors the directory it was started from. Use aichs --last-workspace only when you want to reopen the previously saved workspace.

Conversation history is stored in user data, not in your repository. Each workspace gets a stable entry in ~/.aichs/workspaces.json and its chats are saved under ~/.aichs/<workspace_id>/conversations/.

API keys can be configured in Settings -> Models or through environment variables. Requires Python 3.11+.

What It Does

Open a workspace folder, pick a model, and work in one window:

  • Agentic coding: ask the agent to inspect files, explain code, search the repo, make edits, and run approved shell commands
  • Approval-gated tools: read, edit, search, git context, shell commands, and extension tools with workspace-scoped paths
  • Coding workspace: file tree, syntax-highlighted tabs, git status, diffs, file references, and conversation history
  • Context management: usage view, auto-compaction, compacted summaries, and decision memory for long sessions
  • Customization: slash-command skills, command palette, project/user extensions, custom tools, hooks, badges, and panels
  • Conversation flow: streaming Markdown, vision-capable models, file mentions, edit/resend, queued messages, pinned chats, search, and export

Shell commands and extensions run as the current user; only enable extensions you trust.

Contributing

Contributor setup, source installs, tests, packaging, and release notes live in CONTRIBUTING.md.

Documentation

Topic
Configuration docs/configuration.md
Custom model providers docs/custom-models.md
Extensions and custom tools docs/extensions.md
Slash-command skills docs/skills.md
Compaction and decision memory docs/compact.md

FAQ

What does aichs stand for?

AI Choding Harness Studio. It is also a play on Hebrew "ichs" (איכס), from Arabic إخسا, roughly "yuck" or "ew." The name is a little cursed on purpose.

Why use aichs when Cursor, Claude Code, Codex, and other agent tools exist?

You may not need it. Those tools are wonderful. aichs is for when you want a small, local, hackable agentic coding workspace that is shaped around your own habits.

Is aichs trying to replace my IDE?

No. It is a companion workbench: one window for the agent conversation, repo context, files, diffs, approvals, custom prompts, and extension tools.

Can I contribute something?

Very much. Small fixes, weird ideas, extensions, docs, and sharp opinions are all welcome. See CONTRIBUTING.md.

Does the S feel forced?

Yes. It is.

License

MIT License. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aichs-0.3.2.tar.gz (323.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aichs-0.3.2-py3-none-any.whl (292.7 kB view details)

Uploaded Python 3

File details

Details for the file aichs-0.3.2.tar.gz.

File metadata

  • Download URL: aichs-0.3.2.tar.gz
  • Upload date:
  • Size: 323.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aichs-0.3.2.tar.gz
Algorithm Hash digest
SHA256 6cd2c07daf44f6941ab49836cb40e6bd098c84130b250dd59e0687fe35e0b275
MD5 06c0866f11e4e42c0b5134f8d4b5f492
BLAKE2b-256 0a0be4c78ba326632570b1a2707a3deddb499a5b7359b8f5e84357efabf8e1e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for aichs-0.3.2.tar.gz:

Publisher: publish.yml on nadav-yo/aichs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aichs-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: aichs-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 292.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aichs-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 da49809ab39f77de7be0f98410691ff8cf492f9ea7b360e11258f3d387c84efa
MD5 5df5ae1d19bb4a296542a873e66fe5a3
BLAKE2b-256 867bf61d74a702c7afb181023bfc62f6e8d07f99cc3520522564c7570e30478e

See more details on using hashes here.

Provenance

The following attestation bundles were made for aichs-0.3.2-py3-none-any.whl:

Publisher: publish.yml on nadav-yo/aichs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page