-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add initial Statement of Work #4
Draft
zachmandeville
wants to merge
1
commit into
main
Choose a base branch
from
pair-sow
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
#+title: Pair Statement Of Work | ||
#+published: [2022-08-19 Fri] | ||
|
||
* Introduction | ||
This describes the work to be done on our internal tool Pair. | ||
This work is to make Pair (as it is described in "[[file:what-is-pair.org][What is Pair?]]") | ||
more reliable, easier maintain, and easier to use. | ||
* The Goal of Work | ||
We want to rebuild Pair with stronger software design, so that we can continue | ||
to benefit from its features, but improve the developer experience for | ||
maintaining and building atop it. Improving the underlying design of the | ||
software will lead to improvements in the user experience, as the system will be | ||
quicker, more coherently structured and documented, and with less untracable | ||
errors. | ||
|
||
One of the big parts of this work is the design and implementation of a Pair | ||
API. This would be an interface for working with the backend cluster management, | ||
but in a more ordered and logical way. This would also allow for multiple | ||
clients: eg. a web and terminal client. | ||
|
||
Another big goal of the work is to decouple Pair from github so that none of our core | ||
business requires a dependency on github (e.g. for logging in or user role management). | ||
* In Scope | ||
- Designing the public API for Pair | ||
- Building a new backend to serve this API | ||
- Building a new frontend for this api | ||
- Re-implementing all existing features in a more solid way | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That would allow us to focus on porting over our most meaningful features. |
||
- Centralized logging | ||
- New authentication (without requiring github) | ||
- Address and fix open bug tickets. | ||
- Documentation and Onboarding Guides | ||
* Out of scope | ||
This work is explicitly separate from other projects currently in-development | ||
under the name Pair. This includes the mentorship project with LXF. Any of | ||
the big features for those projects would be out-of-scope of this one since they | ||
are distinct projects. This includes: | ||
|
||
- VSCode/VSCodium integration | ||
- integrating Pair with coder.com | ||
|
||
* Technical Requirements | ||
- Written in languages ii uses: Golang and Clojure, with priority given to Golang. | ||
- Unit tests | ||
- Full documentation: | ||
- how to use | ||
- how to contribute | ||
- how to self-host | ||
- should run on equinix metal | ||
* Milestones | ||
** Design and share public API | ||
** Draft and share a Design Doc | ||
** Build authentication | ||
** Build backend to server API | ||
** Build webclient for API | ||
** Publish documentation for existing set | ||
** Build cli client for API |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think if we take a deeper look at coder, it may provide quite a decent front, back, web, and cli. for us to augment.