AI-Powered Team Orchestration Platform - Streamline product development and team collaboration with AI
Project description
InnoDay Platform
InnoDay is the AI-powered central hub for your projects. Development state normally scatters across a board, GitHub, a release tool, and someone's meeting notes — InnoDay pulls it into one project-shaped record that every skill, agent, and CLI tool writes back to, so tickets, releases, syncs, scope changes, and decisions all stay queryable in one place (and an AI teammate stays productive across sessions instead of being re-briefed each time).
📖 New here? → Quickstart to get connected (~5 min) · Platform Guide for how it works.
✨ Key Features
- AI team orchestration — smart update collection, SCRUM facilitation, workload distribution, and Claude-powered conversation analysis.
- Central hub / record of truth — tickets, releases, board syncs, scope changes, repo additions, and agent output all write back to InnoDay. Rule of thumb: if you need to remember it across sessions or share it, save it here — local
.innoday/memory.jsonis only a cache. - Project-based organization — goals, versioned scope docs, repository layer classification, and one board per project (enforced at the DB level).
- Unified multi-platform integration — Jira, Trello, Notion, Linear, and GitHub behind one universal ticket model, with token pass-through (credentials never stored in the DB).
- Enterprise-ready — org-based multi-tenancy, RBAC (MEMBER/ADMIN/OWNER/DEVELOPER/PLATFORM), and usage-based license tiers.
The full narrative — the six problems it solves, with diagrams and the enforced-hierarchy rationale — is in the Platform Guide.
🚀 Quick Start
Most people just need the CLI, pointed at the shared dev environment — not a repo clone or a self-hosted platform.
uv tool install innoday # install the CLI from PyPI
innoday login --with-token # paste your idt_… token when prompted
innoday init hs/pf # onboard a project workspace (clones + configures repos)
innoday status # verify: identity, resolved project, token, API health
Full walkthrough — including token handling, working across projects, and the "already used InnoDay before?" upgrade step — is in the Quickstart.
🤖 Claude Code MCP Integration
Add InnoDay directly to Claude Code — create tickets, sync boards, and query work items without leaving your editor. Reuses the CLI config from the Quick Start above.
claude mcp add innoday -- uvx --from innoday mcp-server-innoday
Or find it in the MCP registry: io.github.havilandsoftware/mcp-server-innoday.
Prefer the full plugin? Installing InnoDay as a Claude Code plugin bundles the MCP server plus the InnoDay agents and skills in one step — no separate claude mcp add:
/plugin marketplace add havilandsoftware/innoday
/plugin install innoday@innoday
The MCP Integration Guide is the canonical reference — the full tool catalog, environment variables (INNODAY_API_URL, INNODAY_TEAM_SECRET), how org/project context resolves from .innoday/project.yml, and troubleshooting. (This README deliberately doesn't maintain a second hand-written tool list, to avoid the two drifting apart.)
Hitting a stale MCP server, a 401, or another snag? See Troubleshooting.
📇 CLI Reference
The everyday commands — run innoday <command> --help for the full flag list on any of them:
# Onboarding (see docs/QUICKSTART.md)
innoday login --with-token # authenticate (or plain `innoday login` for browser device flow)
innoday init <org>/<proj> # onboard a project workspace by alias, e.g. hs/pf
innoday refresh # re-pull repos + rebuild context for the current workspace
innoday whoami # show the logged-in identity
innoday status # connectivity, identity, orgs, assigned tickets
# Everyday work (context auto-resolves from cwd's .innoday/project.yml)
innoday tickets list # list tickets
innoday tickets create "New feature"
innoday tickets update --ticket-id <id> --status IN_PROGRESS
innoday sync # cascade: board tickets + repo discovery + release state
innoday orgs list # organizations you can access
The CLI Documentation has the exhaustive command catalog (projects, boards, scope, repo discovery, service management, output formats).
🗂️ Config & Project Setup
Two files at two scopes — keep them straight:
| File | Scope | What it holds |
|---|---|---|
~/.innoday/config.json |
Your machine, all projects | Identity: profile, API URL, your user id, team secret, a cached org map. Never stores integration secrets — only pointers (system keyring / Supabase Vault). The current org/project is never persisted here. |
<workspace>/.innoday/project.yml |
One project workspace | Which org + project this directory is, plus the repos that make it up. Written by innoday init / innoday refresh. |
Context is resolved from your current directory: every tool (CLI, MCP server, blastoff) walks up from where you are until it finds a .innoday/project.yml, and uses the org/project in it — so running from inside a workspace "just works" with zero flags. There is no persistent "switch" command; a --organization/--project flag overrides for one call only.
The object model (Organization → Project → Board/Ticket/Repository/Release) and the exact resolution precedence are explained in full in the Platform Guide and Project Architecture.
🔧 Running Your Own Platform
Only needed if you're self-hosting InnoDay or developing on this repo itself — most users want the Quick Start above instead.
git clone git@github.com:havilandsoftware/innoday.git
cd innoday
./install.sh
innoday platform init # Interactive setup wizard (new terminal)
The full walkthrough — prerequisites, database setup, environment variables, verification, platform staff roles, known limitations — is the canonical Platform Setup Guide; this README doesn't duplicate it.
Other ways to run it:
No installation — run from the cloned repo directly
git clone https://github.com/havilandsoftware/innoday.git
cd innoday
./bin/innoday --version # Wrapper: cd's to repo root, runs via uv, no install step
cat > .env.local <<'EOF'
ENVIRONMENT=local
DATABASE_URL=postgresql://innoday:innoday_pass@localhost:54322/innoday
CLAUDE_API_KEY=your-claude-api-key
GITHUB_TOKEN=your-github-token
GITHUB_ORG=havilandsoftware
EOF
./bin/innoday platform start --env local
Docker Compose
git clone https://github.com/havilandsoftware/innoday.git
cd innoday
docker compose up -d
Service URLs (local): REST API http://localhost:8002 (docs) · Agent API http://localhost:9000 · Web UI http://localhost:7860
📖 Documentation
- Quickstart — Get connected in ~5 minutes: install the CLI, log in, onboard a workspace. Also as a browser version.
- Platform Guide — Concepts: how InnoDay works (the project-centric model, planning→dev bridge, agents, infrastructure).
- Platform Setup Guide — Full self-hosting walkthrough: prerequisites, database, environment variables, verification.
- Setup Guide: Organizations & Projects — Create an org, connect boards/repos, and configure projects.
- MCP Integration Guide — Connect InnoDay to Claude Code via MCP; the canonical tool reference.
- CLI Documentation — Command-line interface guide.
- Troubleshooting — Common issues and fixes (stale MCP server,
401s, login, self-hosted services). - API v1 Workflows · REST API Reference — API recipes and the full endpoint reference.
- Architecture — High-level map: code layout, the API/client shape, and the org/project model. Deeper: Project Architecture · Domain Model.
- Contributing Guide — Development setup, tests, code style, and contribution workflow.
- Version Management — Release and versioning process.
- Changelog — Version history.
🧪 Development
Contributor setup, the full test suite, and code-quality tooling (black / isort / flake8 / mypy) live in the Contributing Guide. The short version:
uv sync && uv run alembic upgrade head # deps + migrations
ENVIRONMENT=local uv run python -m pytest tests/ -v # tests
uv run black . && uv run isort . # format
CI/CD: every merge to main auto-bumps the patch version, publishes the package to PyPI and the MCP registry, and creates a GitHub release. See Version Management for the release mechanism and CLAUDE.md for deployment (Railway) details.
🤝 Contributing
Fork → feature branch → PR. Full development standards and the contribution workflow are in the Contributing Guide.
📞 Support
- Issues: GitHub Issues
- Email: hello@havilandsoftware.com
- Enterprise: Contact for custom deployments and integrations
📄 License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) — see the LICENSE file for details.
Built with ❤️ by Haviland Software
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file innoday-0.1.85b0.tar.gz.
File metadata
- Download URL: innoday-0.1.85b0.tar.gz
- Upload date:
- Size: 570.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4c7d9a91857e4a33fdb077daa3e285cf0d721b4ce31c61464b1cc285fe03196
|
|
| MD5 |
79aed006cac78b510da0079ea3a0cf8a
|
|
| BLAKE2b-256 |
ce4f879612950a9ab693ffe64e53a3a5fb3532e22565c51d2097c18b0d9a30dd
|
File details
Details for the file innoday-0.1.85b0-py3-none-any.whl.
File metadata
- Download URL: innoday-0.1.85b0-py3-none-any.whl
- Upload date:
- Size: 537.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3407862d7236dd9d2016d12534859d66825aa7a3d4fcaffee3e3f6acfbf30abe
|
|
| MD5 |
f06112236cef6cc0586a87719f888897
|
|
| BLAKE2b-256 |
11cc1ba0889ca11772f74b9bb449804aeaba216eead5db214705a99684587d9a
|