k0-board 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/k0-ultracode/SKILL.md +3 -3
- package/CHANGELOG.md +95 -1
- package/LICENSE +83 -18
- package/README.md +259 -45
- package/bin/k0-board.js +48 -1
- package/package.json +2 -2
- package/platform/darwin/terminal.js +6 -7
- package/platform/shared/tmux.js +2 -2
- package/platform/win32/terminal.js +2 -2
- package/server/cloud.js +355 -0
- package/server/db.js +375 -58
- package/server/index.js +92 -2
- package/server/launcher.js +8 -10
- package/server/mirror.js +21 -0
- package/server/sync.js +383 -0
- package/server/update.js +3 -2
- package/web/account.js +265 -0
- package/web/base.css +93 -0
- package/web/board.js +1 -1
- package/web/files.js +1 -1
- package/web/index.html +1 -0
|
@@ -240,12 +240,12 @@ the Log records as merged is ever done twice.
|
|
|
240
240
|
|
|
241
241
|
## 10. Close
|
|
242
242
|
|
|
243
|
-
To the user, in his language
|
|
243
|
+
To the user, in his language — the two headings too — and nothing after it:
|
|
244
244
|
|
|
245
|
-
**
|
|
245
|
+
**What I did** — what is different now, story by story: whether the tests were green, what the
|
|
246
246
|
fresh pair of eyes said, how the counter-check came out.
|
|
247
247
|
|
|
248
|
-
**
|
|
248
|
+
**What is left for you** — the assumptions taken alone, so he can overturn any of them with
|
|
249
249
|
`/k0-discuss`; the assignments left out and what they needed; whatever the repairs did not fix; and
|
|
250
250
|
that the stories are sitting in `Review` waiting for him to press `Done`, which is his and nobody
|
|
251
251
|
else's.
|
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,98 @@ All notable changes to this project are documented here. The format follows
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
|
|
10
|
+
## [0.7.0]
|
|
11
|
+
|
|
12
|
+
k0 gets a public home at k0-board.com, where you can read what it does and ask for an early-access
|
|
13
|
+
account, and asking now sends you an email that says you are on the list. On your own machine, the
|
|
14
|
+
terminals k0 opens keep a margin at the edge of the screen in every mode again, Driving included.
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- **k0-board.com has a home page.** What k0 does, how to start, the plans it is heading for —
|
|
19
|
+
nothing is charged during early access — and a form to ask for an account, which says you are on
|
|
20
|
+
the list the moment you send it. Privacy and terms pages say plainly what is stored and where. It
|
|
21
|
+
follows the light or dark setting of your system, and reads on a phone.
|
|
22
|
+
- **Asking for early access sends an email.** The person who asked gets a line saying they are on the
|
|
23
|
+
list, and whoever runs k0 is told — about that, and about anybody who signs in and is waiting to be
|
|
24
|
+
let in. Mail to the address on the site reaches a person. Tried for real: the notice and a
|
|
25
|
+
forwarded message both arrived.
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
|
|
29
|
+
- **Terminals keep a margin in every mode, Driving included.** A terminal k0 opens or rearranges
|
|
30
|
+
takes 90% of the free screen, centred, so there is always a strip at the edge to click on. Driving
|
|
31
|
+
still makes the text large, but no longer stretches the window across the whole screen.
|
|
32
|
+
- **The last Italian leftovers are gone.** The board no longer answers to `#nuovo` (`#new` still
|
|
33
|
+
opens a new story), and a document's title is read from `title` or `name` only, no longer from
|
|
34
|
+
`titolo` or `nome`.
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
## [0.6.0]
|
|
38
|
+
|
|
39
|
+
k0 gets an account and a cloud. The board still runs on your machine and keeps working with no
|
|
40
|
+
network, but it now keeps a copy of itself in k0 Cloud, signs in with GitHub or Google, and numbers
|
|
41
|
+
every story once for your whole account instead of once per repository; a board that existed before
|
|
42
|
+
moves over once, after you have seen every old number beside its new one. k0 is in early access,
|
|
43
|
+
and from this version on it is source-available under the Sustainable Use License rather than MIT.
|
|
44
|
+
|
|
45
|
+
### Added
|
|
46
|
+
|
|
47
|
+
- **k0 Cloud: your board keeps a copy of itself, and you sign in with GitHub or Google.** The board
|
|
48
|
+
still lives on your machine and works with no network at all; every few seconds it sends what
|
|
49
|
+
changed and fetches what your other machines changed, so it survives a lost laptop and reaches a
|
|
50
|
+
second one. Which terminal a session is in, the folder it works in and the commit it started at
|
|
51
|
+
never leave the machine, and nothing from your repositories goes up — not files, not commits.
|
|
52
|
+
k0 is in early access: once you are signed in the board says *You are on the list* and sends
|
|
53
|
+
nothing until your account has been approved, and it notices the approval by itself. The
|
|
54
|
+
sign-in screen only stands in front of the board when there is a way past it. A read-only board
|
|
55
|
+
on the web, and the page where accounts are approved, are coming with the site.
|
|
56
|
+
- **A key is one number for your whole account.** `K150` is the same story in every repository and
|
|
57
|
+
on every machine, and the number comes from the cloud the moment the story is made. Without a
|
|
58
|
+
connection the story is made anyway with a provisional key, `K~3`, which becomes a real one —
|
|
59
|
+
file in `.k0/` renamed with it — as soon as the cloud answers again. Without an account the same
|
|
60
|
+
single counter is kept on your machine.
|
|
61
|
+
- **Moving a board you already had to the account, once, when you say so.** The first time you
|
|
62
|
+
sign in on a machine whose board has stories, nothing is sent until the board has been moved:
|
|
63
|
+
the board shows every old key beside its new one, repository by repository, and how many plans,
|
|
64
|
+
prompts and decisions mention a key. On yes it keeps a copy of the whole board first, renumbers
|
|
65
|
+
everything in the order it was made, updates the keys written inside the text, renames the
|
|
66
|
+
files in `.k0/`, and leaves a list of every old key and its new one beside the copy. *Not now*
|
|
67
|
+
leaves the board exactly as it was.
|
|
68
|
+
- **Who is signed in, and whether the cloud has everything, at the end of the top bar.** Your
|
|
69
|
+
picture and a dot: green when everything is in the cloud, amber while changes are waiting, grey
|
|
70
|
+
when the cloud cannot be reached and the board is carrying on by itself. Its menu has *Sync now*
|
|
71
|
+
and *Sign out*.
|
|
72
|
+
- **`k0-board login` and `k0-board logout`**, and a *k0 Cloud* section in `k0-board doctor` saying
|
|
73
|
+
who is signed in, whether they have been let in, whether the board still has to be moved, and
|
|
74
|
+
how many changes are waiting.
|
|
75
|
+
|
|
76
|
+
How far this has been tried: the whole road was run against the real cloud with a throwaway
|
|
77
|
+
account — signing in, waiting to be let in, the move, a new story numbered by the cloud, and its
|
|
78
|
+
rows arriving there — and the move was rehearsed on a copy of a real board of 938 stories across
|
|
79
|
+
25 repositories. Signing in with GitHub or Google for real has not been tried yet, because neither
|
|
80
|
+
is switched on in the cloud.
|
|
81
|
+
|
|
82
|
+
### Changed
|
|
83
|
+
|
|
84
|
+
- **A story moved to another repository keeps its key.** It used to be given a new one from the
|
|
85
|
+
repository it moved to; now that a key is one number for the whole account, there is nothing
|
|
86
|
+
there for it to collide with.
|
|
87
|
+
|
|
88
|
+
- **k0 is now under the Sustainable Use License instead of MIT.** The code stays public, all of it,
|
|
89
|
+
and you can still use it, change it, and run it for yourself or inside your company; what the
|
|
90
|
+
license no longer allows is taking k0 and selling it to other people as a hosted service. It is
|
|
91
|
+
source-available, not open source, and k0 no longer calls itself that. Versions up to and
|
|
92
|
+
including 0.5.0 were released under MIT and remain under it. The manual and the security notes
|
|
93
|
+
also stop saying that k0 makes a single network request: it now has an account and a cloud of
|
|
94
|
+
its own, and they say so — two places, the cloud and the daily version check, and still nothing
|
|
95
|
+
else.
|
|
96
|
+
|
|
97
|
+
### Fixed
|
|
98
|
+
|
|
99
|
+
- **The new tests pass on Windows too.** Nothing about k0 itself changed.
|
|
100
|
+
|
|
9
101
|
## [0.5.0]
|
|
10
102
|
|
|
11
103
|
**The board tells you what to do next, and starts it.** Every story carries one button saying the
|
|
@@ -697,7 +789,9 @@ here is everything that had to change for it to be somebody else's tool as well.
|
|
|
697
789
|
- The personal fixtures k0 grew up on. `test/clean.test.mjs` now fails the build if any of them
|
|
698
790
|
come back.
|
|
699
791
|
|
|
700
|
-
[Unreleased]: https://github.com/alessio-ragni/k0-board/compare/v0.
|
|
792
|
+
[Unreleased]: https://github.com/alessio-ragni/k0-board/compare/v0.7.0...HEAD
|
|
793
|
+
[0.7.0]: https://github.com/alessio-ragni/k0-board/compare/v0.6.0...v0.7.0
|
|
794
|
+
[0.6.0]: https://github.com/alessio-ragni/k0-board/compare/v0.5.0...v0.6.0
|
|
701
795
|
[0.5.0]: https://github.com/alessio-ragni/k0-board/compare/v0.4.0...v0.5.0
|
|
702
796
|
[0.4.0]: https://github.com/alessio-ragni/k0-board/compare/v0.3.0...v0.4.0
|
|
703
797
|
[0.3.0]: https://github.com/alessio-ragni/k0-board/compare/v0.2.0...v0.3.0
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,86 @@
|
|
|
1
|
-
|
|
1
|
+
# License
|
|
2
|
+
|
|
3
|
+
Versions of k0 (the `k0-board` package) up to and including 0.5.0 were released under the MIT
|
|
4
|
+
License and remain available under it. Everything released after 0.5.0 is licensed as follows.
|
|
2
5
|
|
|
3
6
|
Copyright (c) 2026 Alessio Ragni
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
8
|
+
The licensor is Alessio Ragni. The software is k0, published on npm as `k0-board`, together with
|
|
9
|
+
its source code at https://github.com/alessio-ragni/k0-board. All third party components
|
|
10
|
+
incorporated into the software are licensed under the original license provided by the owner of
|
|
11
|
+
the applicable component. Everything else is available under the Sustainable Use License as
|
|
12
|
+
defined below.
|
|
13
|
+
|
|
14
|
+
## Sustainable Use License
|
|
15
|
+
|
|
16
|
+
Version 1.0
|
|
17
|
+
|
|
18
|
+
### Acceptance
|
|
19
|
+
|
|
20
|
+
By using the software, you agree to all of the terms and conditions below.
|
|
21
|
+
|
|
22
|
+
### Copyright License
|
|
23
|
+
|
|
24
|
+
The licensor grants you a non-exclusive, royalty-free, worldwide, non-sublicensable, non-transferable license
|
|
25
|
+
to use, copy, distribute, make available, and prepare derivative works of the software, in each case subject
|
|
26
|
+
to the limitations below.
|
|
27
|
+
|
|
28
|
+
### Limitations
|
|
29
|
+
|
|
30
|
+
You may use or modify the software only for your own internal business purposes or for non-commercial or
|
|
31
|
+
personal use. You may distribute the software or provide it to others only if you do so free of charge for
|
|
32
|
+
non-commercial purposes. You may not alter, remove, or obscure any licensing, copyright, or other notices of
|
|
33
|
+
the licensor in the software. Any use of the licensor’s trademarks is subject to applicable law.
|
|
34
|
+
|
|
35
|
+
### Patents
|
|
36
|
+
|
|
37
|
+
The licensor grants you a license, under any patent claims the licensor can license, or becomes able to
|
|
38
|
+
license, to make, have made, use, sell, offer for sale, import and have imported the software, in each case
|
|
39
|
+
subject to the limitations and conditions in this license. This license does not cover any patent claims that
|
|
40
|
+
you cause to be infringed by modifications or additions to the software. If you or your company make any
|
|
41
|
+
written claim that the software infringes or contributes to infringement of any patent, your patent license
|
|
42
|
+
for the software granted under these terms ends immediately. If your company makes such a claim, your patent
|
|
43
|
+
license ends immediately for work on behalf of your company.
|
|
44
|
+
|
|
45
|
+
### Notices
|
|
46
|
+
|
|
47
|
+
You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these
|
|
48
|
+
terms. If you modify the software, you must include in any modified copies of the software a prominent notice
|
|
49
|
+
stating that you have modified the software.
|
|
50
|
+
|
|
51
|
+
### No Other Rights
|
|
52
|
+
|
|
53
|
+
These terms do not imply any licenses other than those expressly granted in these terms.
|
|
54
|
+
|
|
55
|
+
### Termination
|
|
56
|
+
|
|
57
|
+
If you use the software in violation of these terms, such use is not licensed, and your license will
|
|
58
|
+
automatically terminate. If the licensor provides you with a notice of your violation, and you cease all
|
|
59
|
+
violation of this license no later than 30 days after you receive that notice, your license will be reinstated
|
|
60
|
+
retroactively. However, if you violate these terms after such reinstatement, any additional violation of these
|
|
61
|
+
terms will cause your license to terminate automatically and permanently.
|
|
62
|
+
|
|
63
|
+
### No Liability
|
|
64
|
+
|
|
65
|
+
As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will
|
|
66
|
+
not be liable to you for any damages arising out of these terms or the use or nature of the software, under
|
|
67
|
+
any kind of legal claim.
|
|
68
|
+
|
|
69
|
+
### Definitions
|
|
70
|
+
|
|
71
|
+
The “licensor” is the entity offering these terms.
|
|
72
|
+
|
|
73
|
+
The “software” is the software the licensor makes available under these terms, including any portion of it.
|
|
74
|
+
|
|
75
|
+
“You” refers to the individual or entity agreeing to these terms.
|
|
76
|
+
|
|
77
|
+
“Your company” is any legal entity, sole proprietorship, or other kind of organization that you work for, plus
|
|
78
|
+
all organizations that have control over, are under the control of, or are under common control with that
|
|
79
|
+
organization. Control means ownership of substantially all the assets of an entity, or the power to direct its
|
|
80
|
+
management and policies by vote, contract, or otherwise. Control can be direct or indirect.
|
|
81
|
+
|
|
82
|
+
“Your license” is the license granted to you for the software under these terms.
|
|
83
|
+
|
|
84
|
+
“Use” means anything you do with the software requiring your license.
|
|
85
|
+
|
|
86
|
+
“Trademark” means trademarks, service marks, and similar rights.
|