diff --git a/.gitignore b/.gitignore index 4f9ff17..30dbd92 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ go.work # --- Local config --- .env +.claude/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2be0344 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Andy Eschbacher + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index a738956..6ee5c53 100644 --- a/README.md +++ b/README.md @@ -39,14 +39,12 @@ regenerate with `just gifs`. Distribution is **GitHub Releases only** — three paths, no Homebrew/external channels: ```bash -# 1) Prebuilt binary (no Go toolchain). The repo is private, so use gh (it -# handles auth); pick your platform: darwin/linux × amd64/arm64. -gh release download -R andy-esch/taskflow -p "*linux_arm64*" -tar xzf tskflwctl_*_linux_arm64.tar.gz && ./tskflwctl version +# 1) go install (needs Go toolchain) +go install github.com/andy-esch/taskflow/cmd/tskflwctl@latest # or @vX.Y.Z -# 2) go install from source (needs Go + git auth to the private repo) -GOPRIVATE=github.com/andy-esch/* \ - go install github.com/andy-esch/taskflow/cmd/tskflwctl@latest # or @vX.Y.Z +# 2) Prebuilt binary (no Go toolchain) — download the archive for your platform +# (darwin/linux × amd64/arm64) from the GitHub Releases page, then: +tar xzf tskflwctl_*_linux_arm64.tar.gz && ./tskflwctl version # 3) From a checkout just install # → go install onto $PATH (version-stamped) diff --git a/planning/research/2026-06-09-tui-ux-design-and-navigation-spec.md b/planning/research/2026-06-09-tui-ux-design-and-navigation-spec.md index 34a9c7a..13bae5d 100644 --- a/planning/research/2026-06-09-tui-ux-design-and-navigation-spec.md +++ b/planning/research/2026-06-09-tui-ux-design-and-navigation-spec.md @@ -51,7 +51,7 @@ The TUI maintains a stable double-pane Miller Column grid layout: │ ││ │ └────────────────────────────────────────┘└──────────────────────────────────────────────────┘ ┌─ Command Output / Status ──────────────────────────────────────────────────────────────────┐ -│ 🤖 Ready. Loaded 19 tasks and 3 epics from /Users/andyeschbacher/git/andy-esch/taskflow. │ +│ 🤖 Ready. Loaded 19 tasks and 3 epics from /path/to/taskflow. │ ├────────────────────────────────────────────────────────────────────────────────────────────┤ │ [Tab] Cycle Tab [j/k] Move [h/l] Focus Preview [Space] Select [/] Search [q] Quit │ └────────────────────────────────────────────────────────────────────────────────────────────┘ diff --git a/planning/research/2026-06-12-pending-decisions.md b/planning/research/2026-06-12-pending-decisions.md index d3fcd88..960c383 100644 --- a/planning/research/2026-06-12-pending-decisions.md +++ b/planning/research/2026-06-12-pending-decisions.md @@ -98,7 +98,7 @@ Task: [repo-hygiene-batch](../tasks/6fbj870038d6-repo-hygiene-batch.md). The mod (`github.com/andy-esch/taskflow`); there's no license file. - **C:** intentionally unlicensed for now (private project). -Decision: +Decision: Option C chosen on 2026-06-12. (Superseded on 2026-07-17: licensed under MIT in preparation for public release). ## D12 — Close the two stale in-progress tasks? Task: [repo-hygiene-batch](../tasks/6fbj870038d6-repo-hygiene-batch.md). `port-pm-to-go-cli…` and @@ -110,7 +110,7 @@ Task: [repo-hygiene-batch](../tasks/6fbj870038d6-repo-hygiene-batch.md). `port-p ## Outcome (same day) All twelve decisions were executed on 2026-06-12 — D1–D10/D12 as recommended, -D11 as chosen (no license for now). Implementation details live in the +D11 as chosen (no license for now; later licensed under MIT on 2026-07-17 for public release). Implementation details live in the closure notes of the respective task files (now under `tasks/completed/`); the only decision-adjacent work still open is the remainder of [agent-facing-cli-ergonomics-batch](../tasks/6fbj87000anh-agent-facing-cli-ergonomics-batch.md) (body-file/body-edit/create-envelope) diff --git a/planning/tasks/6fbj870038d6-repo-hygiene-batch.md b/planning/tasks/6fbj870038d6-repo-hygiene-batch.md index ff929e7..36c4825 100644 --- a/planning/tasks/6fbj870038d6-repo-hygiene-batch.md +++ b/planning/tasks/6fbj870038d6-repo-hygiene-batch.md @@ -59,7 +59,5 @@ id: 6fbj870038d6 Per decisions D10/D11/D12: `bin/pm` + `tests/test_pm.py` deleted (git history `39f1b83` keeps them; README/CLAUDE.md updated to say so); stray empty top-level `tasks/ epics/ audits/ projects/` skeleton removed; `.gitignore` -rewritten to Go reality (dead Python/Docker sections gone). LICENSE -intentionally **not** added (D11: private for now) — revisit before any public -release. Stale tasks `port-pm-…` and `tui-sprint-3-…` verified and completed +rewritten to Go reality (dead Python/Docker sections gone). LICENSE intentionally **not** added (D11: private for now) — revisit before any public release (Superseded: MIT License added on 2026-07-17 in preparation for public release). Stale tasks `port-pm-…` and `tui-sprint-3-…` verified and completed (closure note in the port task explains the descoped adr/schema items). diff --git a/planning/tasks/6fq0w7yt9c50-prepare-repository-for-public-open-source-release.md b/planning/tasks/6fq0w7yt9c50-prepare-repository-for-public-open-source-release.md new file mode 100644 index 0000000..8b25e03 --- /dev/null +++ b/planning/tasks/6fq0w7yt9c50-prepare-repository-for-public-open-source-release.md @@ -0,0 +1,39 @@ +--- +schema: 1 +id: 6fq0w7yt9c50 +status: completed +epic: 19-web-companion-apps-over-a-shared-core +description: 'Prepare repository for public open-source release: add MIT license, update README instructions, sanitize mock paths, and update gitignore' +effort: Unknown +tier: 3 +priority: medium +autonomy_level: 3 +tags: [hygiene, release] +created: "2026-07-17" +updated_at: "2026-07-17" +started_at: "2026-07-17" +completed_at: "2026-07-17" +--- + +# Prepare repository for public open-source release + +## Objective + +Transition the repository from a private project to a public open-source project by resolving the licensing setup, cleaning up any internal/personal environment details, and updating documentation instructions to reflect the public access model. + +## Acceptance criteria + +- [ ] Add an open-source license file (`LICENSE`), selecting a permissive license like MIT as requested. +- [ ] Clean up local path references `/Users/andyeschbacher/...` inside `planning/research/2026-06-09-tui-ux-design-and-navigation-spec.md` and replace with a generic path. +- [ ] Update `README.md` to remove instructions about private repository setups (e.g. references to `GOPRIVATE` and authenticated release downloads via `gh`). +- [ ] Add `.claude/` to `.gitignore` to prevent any local assistant/permissions settings from being committed. +- [ ] Update any references in planning files referring to the repository being unlicensed or private (e.g. `planning/research/2026-06-12-pending-decisions.md` and `planning/tasks/6fbj870038d6-repo-hygiene-batch.md`). + +## Out of scope + +- [ ] Flattening or resetting git history using a shallow clone (determined unnecessary as the repository history contains no secrets or credentials, and the history is valuable context). +- [ ] Changing the module path `github.com/andy-esch/taskflow` (already set correctly for the target public namespace). + +## Related + +- Epic [19-web-companion-apps-over-a-shared-core](../epics/19-web-companion-apps-over-a-shared-core.md)