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. aichs treats the agent as something you can shape: prompts, models, UI behavior, workflow defaults, skills, extensions, tools, hooks, badges, and panels are all meant to be customized.

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.

Why aichs exists

Most coding agents give you a workflow. aichs gives you a workbench. It is for developers who want to tune the prompts, tools, context, approvals, memory, and UI around how they already work.

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_HOME/workspaces.json (default ~/.aichs/workspaces.json) and its chats are saved under AICHS_HOME/<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 project memory for long sessions
  • Customization: configurable prompts and workflow defaults, 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
Organization governance docs/organization-governance.md
Custom model providers docs/custom-models.md
Extensions and custom tools docs/extensions.md
Slash-command skills docs/skills.md
Compaction docs/compact.md
Project memory docs/project-memory.md
Performance north star docs/performance-north-star.md
YUK user kits docs/yuk.md

FAQ

What does aichs stand for?

It is 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.4.9.tar.gz (823.7 kB view details)

Uploaded Source

Built Distributions

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

aichs-0.4.9-py3-none-win_amd64.whl (799.7 kB view details)

Uploaded Python 3Windows x86-64

aichs-0.4.9-py3-none-manylinux_2_28_x86_64.whl (8.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

aichs-0.4.9-py3-none-macosx_11_0_arm64.whl (2.9 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for aichs-0.4.9.tar.gz
Algorithm Hash digest
SHA256 dfb0358ee773a0ccf4dbe9e5c6c545775647abecb61ecf85b262b1869cc34100
MD5 e6e15cc903b46fd1f7eea37176ae901e
BLAKE2b-256 7fcd15a38e332e0a0c61018d8239123493c546bb1a16ce828e9d4ebaad558b1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for aichs-0.4.9.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.4.9-py3-none-win_amd64.whl.

File metadata

  • Download URL: aichs-0.4.9-py3-none-win_amd64.whl
  • Upload date:
  • Size: 799.7 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for aichs-0.4.9-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0d05cda59c37ca6cddb32909b5b217c5fc09697af15db4d09478c344dd0aa412
MD5 ab5f9a39153fadadec04b1970a567e03
BLAKE2b-256 18d0ef93434b4ff1709a1d4638c6ed7cde8a8cb0cd39c980756142b355cf93f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for aichs-0.4.9-py3-none-win_amd64.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.

File details

Details for the file aichs-0.4.9-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aichs-0.4.9-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 01d54b966af9beacc9327cd30a0c9f3e93a05e13235d665c6d6e9b6d8f83ae5d
MD5 dbd36cf339326a0fec978f1a13c6edc9
BLAKE2b-256 b63b280f315278c9b77d43aca8840883fa58999637ecd20670f9c35b0f381a35

See more details on using hashes here.

Provenance

The following attestation bundles were made for aichs-0.4.9-py3-none-manylinux_2_28_x86_64.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.

File details

Details for the file aichs-0.4.9-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: aichs-0.4.9-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for aichs-0.4.9-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b26db6c5e90bb2d0064acb03fb472745bd5e22638c96509e7fc595a102ba509a
MD5 98c12a23d1c06db30cca5d48d4aff74d
BLAKE2b-256 c1aff72ac340e0a9f7deeb7b1e851c4ae567364352af62f4d6f60793d98fd36d

See more details on using hashes here.

Provenance

The following attestation bundles were made for aichs-0.4.9-py3-none-macosx_11_0_arm64.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