Run a real website with an AI-operated company and explicit human authority. Hermes-native roles with the live Twitee case study.
1
stars
2
commits
Shell
primary language
Aug 27, 2026
updated
Run a real AI-operated website with explicit human authority.

A human Chairman sets material outcomes. An AI CEO turns approved KPIs into strategy. Product, Growth, and Engineering managers coordinate the work, and specialists execute bounded tasks through Hermes Kanban.
See the Twitee case study · Try Twitee live
Human Chairman
|
AI CEO
/ | \
Product Growth Engineering managers
| | | \
Specialist Specialist Developer DevOps
shared Hermes Kanban
The Chairman is a person, not another profile. Managers work directly with one another and post daily updates before the CEO's morning synthesis. Routine, reversible work stays with the team. Material strategy changes, major spending, public or legal commitments, credentials, destructive actions, and high-risk production changes go back to the Chairman.
Agent Company is built on Hermes Agent. It does not replace or fork Hermes. Hermes remains responsible for models, provider login, sessions, memory, tools, Telegram, schedules, Kanban, and workspaces.
The repository contains eight runnable, company-scoped Hermes profiles. Each has its own SOUL, workspace, model, provider, and reasoning setting. The nohuman installer creates the shared board, daily manager and CEO schedules, and an optional Telegram route from the Chairman to the CEO.
Twitee is the first live website this company composition is built to operate. Its board has recorded KPI intake, CEO clarification, Chairman decision requests, stale-output correction, blocked unapproved work, cross-manager dependencies, and executive synthesis.
That evidence covers planning, authority, coordination, and bounded task execution. It is not proof of end-to-end autonomous operation, autonomous production deployment, revenue generation, or measured product improvement. The detailed evidence boundary is in the Twitee case study.
In August 2026, the Chairman gave the CEO a material KPI direction. The CEO found that the request lacked enough information for a defensible target, asked for clarification, and escalated a decision that belonged to the Chairman. New KPI input arrived while related work was underway, so the CEO marked the earlier output stale and corrected the plan. When the KPI was later withdrawn, dependent strategy work stayed blocked instead of continuing on an invalid premise.
The useful behavior was restraint: the CEO did not invent precision, managers exchanged evidence across departments, and routine coordination did not become a stream of approval requests to the Chairman.
Requirements: macOS, Linux, or WSL2 with Git and curl. Hermes Agent 0.20.0 or newer is recommended; the wizard can install Hermes through its official installer when it is missing.
git clone https://github.com/nohuman-labs/agent-company.git
cd agent-company
./nohuman install my-company
That command creates company/my-company from the reusable profiles, then installs its namespaced Hermes profiles. To run the committed Twitee example instead:
./nohuman install twitee
When a new company has no model preset, Nohuman opens Hermes' native model picker. It then reads the providers required by the company profiles, checks each login through Hermes, and opens hermes auth add <provider> only when authentication is missing. Nohuman stores only non-secret model settings in company source and never reads, copies, or stores provider credentials.
The portable source flow is:
profiles/ -> company/<name>/profiles/ -> ~/.hermes/profiles/<company>-<role>
reusable portable source Hermes runtime
company/<name> is the source of truth to commit and move between machines. profiles/ contains reusable role baselines. examples/ is demo seed material and is not read again after a company is created. Machine-local Hermes state is runtime, not company source.
The committed Twitee profiles currently route work this way:
| Role | Model | Reasoning |
|---|---|---|
| CEO | gpt-5.6-sol | high |
| Product & Market Manager | gpt-5.6-sol | high |
| Product & Market Specialist | gpt-5.6-terra | high |
| Growth Manager | gpt-5.6-terra | high |
| Growth Specialist | gpt-5.6-terra | medium |
| Engineering Manager | gpt-5.6-sol | high |
| Developer | gpt-5.6-terra | medium |
| DevOps | gpt-5.6-terra | high |
All eight use the openai-codex provider in the Twitee composition. Another company may assign a different Hermes-supported model or provider in each role's config.yaml.
company/<name>/
company.conf
context/
AGENTS.md
COMPANY.md
OPERATING_MODEL.md
roles/<profile>.md
profiles/<profile>/
SOUL.md
config.yaml
distribution.yaml
The manifest stays small: company identity, board, roles, CEO entry profile, timezone, and daily update times. Company facts and policy live in context/. Each final company SOUL is rendered from a reusable role and that company context.
To reuse a company on another machine, clone its repository, authenticate a provider through Hermes, and run ./nohuman install <name>. OAuth sessions, chat identifiers, Hermes memory, task databases, and private business data do not belong in profiles/, examples/, or company/.
After installing the committed Twitee composition, ./nohuman status twitee reports the following sanitized state. Counts, routing redaction, and gateway health are produced by the installer; no private runtime path or Telegram identifier is shown.
Nohuman: 0.2.0
Company: twitee
Hermes Agent v0.20.0
Install state: available
Profiles: 8/8 available
Profile models: 8/8 configured
Workspaces: 8/8 available
Kanban board: twitee
Daily schedules: 4/4 available
Chairman route: configured (chat ID redacted)
Gateway: healthy
./nohuman status twitee
./nohuman doctor twitee
./nohuman upgrade twitee
./nohuman uninstall twitee
./nohuman uninstall --full twitee
sh tests/run.sh
install is rerunnable. It converges profile configuration, workspace context, Kanban setup, and scheduled-job model/provider settings from company source.status is read-only and redacts the Chairman route identifier.doctor combines native Hermes checks with company profile, model, workspace, board, schedule, gateway, and routing checks.upgrade asks first, updates Hermes and profile distributions, then reapplies the company composition from the current checkout.uninstall removes Nohuman-owned schedules and routing while preserving profiles and workspaces.uninstall --full offers exports, requires the literal company ID, and deletes only the selected company's profiles.nohuman upgrade does not update this Git repository. Pull framework and template changes explicitly, review them, then reapply your company:
git pull --ff-only
./nohuman upgrade <name>
Existing unnamespaced profiles are handled through a conservative legacy migration: namespaced resources are created before routing and schedules switch, while old profiles, sessions, memory, and credentials remain untouched.
The reviewed upstream role mapping is pinned in profiles/baseline.lock. Nohuman Labs maintains Agent Company; Hermes Agent remains the upstream runtime.
2 commits
Shell
100.0%
Run a real website with an AI-operated company and explicit human authority. Hermes-native roles with the live Twitee case study.
1
stars
2
commits
Shell
primary language
Aug 27, 2026
updated
Run a real AI-operated website with explicit human authority.

A human Chairman sets material outcomes. An AI CEO turns approved KPIs into strategy. Product, Growth, and Engineering managers coordinate the work, and specialists execute bounded tasks through Hermes Kanban.
See the Twitee case study · Try Twitee live
Human Chairman
|
AI CEO
/ | \
Product Growth Engineering managers
| | | \
Specialist Specialist Developer DevOps
shared Hermes Kanban
The Chairman is a person, not another profile. Managers work directly with one another and post daily updates before the CEO's morning synthesis. Routine, reversible work stays with the team. Material strategy changes, major spending, public or legal commitments, credentials, destructive actions, and high-risk production changes go back to the Chairman.
Agent Company is built on Hermes Agent. It does not replace or fork Hermes. Hermes remains responsible for models, provider login, sessions, memory, tools, Telegram, schedules, Kanban, and workspaces.
The repository contains eight runnable, company-scoped Hermes profiles. Each has its own SOUL, workspace, model, provider, and reasoning setting. The nohuman installer creates the shared board, daily manager and CEO schedules, and an optional Telegram route from the Chairman to the CEO.
Twitee is the first live website this company composition is built to operate. Its board has recorded KPI intake, CEO clarification, Chairman decision requests, stale-output correction, blocked unapproved work, cross-manager dependencies, and executive synthesis.
That evidence covers planning, authority, coordination, and bounded task execution. It is not proof of end-to-end autonomous operation, autonomous production deployment, revenue generation, or measured product improvement. The detailed evidence boundary is in the Twitee case study.
In August 2026, the Chairman gave the CEO a material KPI direction. The CEO found that the request lacked enough information for a defensible target, asked for clarification, and escalated a decision that belonged to the Chairman. New KPI input arrived while related work was underway, so the CEO marked the earlier output stale and corrected the plan. When the KPI was later withdrawn, dependent strategy work stayed blocked instead of continuing on an invalid premise.
The useful behavior was restraint: the CEO did not invent precision, managers exchanged evidence across departments, and routine coordination did not become a stream of approval requests to the Chairman.
Requirements: macOS, Linux, or WSL2 with Git and curl. Hermes Agent 0.20.0 or newer is recommended; the wizard can install Hermes through its official installer when it is missing.
git clone https://github.com/nohuman-labs/agent-company.git
cd agent-company
./nohuman install my-company
That command creates company/my-company from the reusable profiles, then installs its namespaced Hermes profiles. To run the committed Twitee example instead:
./nohuman install twitee
When a new company has no model preset, Nohuman opens Hermes' native model picker. It then reads the providers required by the company profiles, checks each login through Hermes, and opens hermes auth add <provider> only when authentication is missing. Nohuman stores only non-secret model settings in company source and never reads, copies, or stores provider credentials.
The portable source flow is:
profiles/ -> company/<name>/profiles/ -> ~/.hermes/profiles/<company>-<role>
reusable portable source Hermes runtime
company/<name> is the source of truth to commit and move between machines. profiles/ contains reusable role baselines. examples/ is demo seed material and is not read again after a company is created. Machine-local Hermes state is runtime, not company source.
The committed Twitee profiles currently route work this way:
| Role | Model | Reasoning |
|---|---|---|
| CEO | gpt-5.6-sol | high |
| Product & Market Manager | gpt-5.6-sol | high |
| Product & Market Specialist | gpt-5.6-terra | high |
| Growth Manager | gpt-5.6-terra | high |
| Growth Specialist | gpt-5.6-terra | medium |
| Engineering Manager | gpt-5.6-sol | high |
| Developer | gpt-5.6-terra | medium |
| DevOps | gpt-5.6-terra | high |
All eight use the openai-codex provider in the Twitee composition. Another company may assign a different Hermes-supported model or provider in each role's config.yaml.
company/<name>/
company.conf
context/
AGENTS.md
COMPANY.md
OPERATING_MODEL.md
roles/<profile>.md
profiles/<profile>/
SOUL.md
config.yaml
distribution.yaml
The manifest stays small: company identity, board, roles, CEO entry profile, timezone, and daily update times. Company facts and policy live in context/. Each final company SOUL is rendered from a reusable role and that company context.
To reuse a company on another machine, clone its repository, authenticate a provider through Hermes, and run ./nohuman install <name>. OAuth sessions, chat identifiers, Hermes memory, task databases, and private business data do not belong in profiles/, examples/, or company/.
After installing the committed Twitee composition, ./nohuman status twitee reports the following sanitized state. Counts, routing redaction, and gateway health are produced by the installer; no private runtime path or Telegram identifier is shown.
Nohuman: 0.2.0
Company: twitee
Hermes Agent v0.20.0
Install state: available
Profiles: 8/8 available
Profile models: 8/8 configured
Workspaces: 8/8 available
Kanban board: twitee
Daily schedules: 4/4 available
Chairman route: configured (chat ID redacted)
Gateway: healthy
./nohuman status twitee
./nohuman doctor twitee
./nohuman upgrade twitee
./nohuman uninstall twitee
./nohuman uninstall --full twitee
sh tests/run.sh
install is rerunnable. It converges profile configuration, workspace context, Kanban setup, and scheduled-job model/provider settings from company source.status is read-only and redacts the Chairman route identifier.doctor combines native Hermes checks with company profile, model, workspace, board, schedule, gateway, and routing checks.upgrade asks first, updates Hermes and profile distributions, then reapplies the company composition from the current checkout.uninstall removes Nohuman-owned schedules and routing while preserving profiles and workspaces.uninstall --full offers exports, requires the literal company ID, and deletes only the selected company's profiles.nohuman upgrade does not update this Git repository. Pull framework and template changes explicitly, review them, then reapply your company:
git pull --ff-only
./nohuman upgrade <name>
Existing unnamespaced profiles are handled through a conservative legacy migration: namespaced resources are created before routing and schedules switch, while old profiles, sessions, memory, and credentials remain untouched.
The reviewed upstream role mapping is pinned in profiles/baseline.lock. Nohuman Labs maintains Agent Company; Hermes Agent remains the upstream runtime.
2 commits
Shell
100.0%