go/pkg/cli
Snider c5c4bebd19
Implement Authentication and Authorization Features (#314)
* Implement authentication and authorization features

- Define Workspace and Crypt interfaces in pkg/framework/core/interfaces.go
- Add Workspace() and Crypt() methods to Core in pkg/framework/core/core.go
- Implement PGP service in pkg/crypt/openpgp/service.go using ProtonMail go-crypto
- Implement Workspace service in pkg/workspace/service.go with encrypted directory structure
- Register new services in pkg/cli/app.go
- Add IPC handlers to both services for frontend/CLI communication
- Add unit tests for PGP service in pkg/crypt/openpgp/service_test.go

This implementation aligns the codebase with the features described in the README, providing a foundation for secure, encrypted workspaces and PGP key management.

* Implement authentication and authorization features with fixes

- Define Workspace and Crypt interfaces in pkg/framework/core/interfaces.go
- Add Workspace() and Crypt() methods to Core in pkg/framework/core/core.go
- Implement PGP service in pkg/crypt/openpgp/service.go using ProtonMail go-crypto
- Implement Workspace service in pkg/workspace/service.go with encrypted directory structure
- Register new services in pkg/cli/app.go with proper service names ('crypt', 'workspace')
- Add IPC handlers to both services for frontend/CLI communication
- Add unit tests for PGP and Workspace services
- Fix panic in PGP key serialization by using manual packet serialization
- Fix PGP decryption by adding armor decoding support

This implementation provides the secure, encrypted workspace manager features described in the README.

* Implement authentication and authorization features (Final)

- Define Workspace and Crypt interfaces in pkg/framework/core/interfaces.go
- Add Workspace() and Crypt() methods to Core in pkg/framework/core/core.go
- Implement PGP service in pkg/crypt/openpgp/service.go using ProtonMail go-crypto
- Implement Workspace service in pkg/workspace/service.go with encrypted directory structure
- Register new services in pkg/cli/app.go with proper service names ('crypt', 'workspace')
- Add IPC handlers to both services for frontend/CLI communication
- Add unit tests for PGP and Workspace services
- Fix panic in PGP key serialization by using manual packet serialization
- Fix PGP decryption by adding armor decoding support
- Fix formatting and unused imports

This implementation provides the secure, encrypted workspace manager features described in the README.

* Fix CI failure and implement auth features

- Fix auto-merge workflow by implementing it locally with proper repository context
- Implement Workspace and Crypt interfaces and services
- Add unit tests and IPC handlers for new services
- Fix formatting and unused imports in modified files
- Fix PGP key serialization and decryption issues

---------

Co-authored-by: Claude <developers@lethean.io>
2026-02-05 06:55:50 +00:00
..
ansi.go feat(cli): add NO_COLOR environment variable support (#98) 2026-02-01 16:40:03 +00:00
ansi_test.go feat(cli): add NO_COLOR environment variable support (#98) 2026-02-01 16:40:03 +00:00
app.go Implement Authentication and Authorization Features (#314) 2026-02-05 06:55:50 +00:00
check.go feat: git command, build improvements, and go fmt git-aware (#74) 2026-02-01 10:48:44 +00:00
check_test.go fix(docs): respect workspace.yaml packages_dir setting (fixes #46) (#55) 2026-02-01 01:59:27 +00:00
command.go feat(plugin): add Claude Code plugin for host-uk framework 2026-01-31 10:27:04 +00:00
commands.go refactor(cli): move commands from cmd/ to pkg/ with self-registration 2026-01-30 21:55:55 +00:00
daemon.go Migrate pkg/repos to Medium abstraction (#291) 2026-02-04 18:03:54 +00:00
daemon_test.go Migrate pkg/repos to Medium abstraction (#291) 2026-02-04 18:03:54 +00:00
errors.go Standardize CLI Error Handling (#318) 2026-02-05 06:55:49 +00:00
glyph.go feat(cli): add NO_COLOR environment variable support (#98) 2026-02-01 16:40:03 +00:00
glyph_maps.go feat(cli): add glyph system 2026-01-31 23:54:01 +00:00
glyph_test.go refactor: migrate all pkg/* to cli abstraction 2026-01-31 23:54:01 +00:00
i18n.go feat: git command, build improvements, and go fmt git-aware (#74) 2026-02-01 10:48:44 +00:00
layout.go feat: git command, build improvements, and go fmt git-aware (#74) 2026-02-01 10:48:44 +00:00
layout_test.go feat: git command, build improvements, and go fmt git-aware (#74) 2026-02-01 10:48:44 +00:00
log.go feat: git command, build improvements, and go fmt git-aware (#74) 2026-02-01 10:48:44 +00:00
output.go Standardize CLI Error Handling (#318) 2026-02-05 06:55:49 +00:00
output_test.go Standardize CLI Error Handling (#318) 2026-02-05 06:55:49 +00:00
prompt.go feat: git command, build improvements, and go fmt git-aware (#74) 2026-02-01 10:48:44 +00:00
render.go feat: git command, build improvements, and go fmt git-aware (#74) 2026-02-01 10:48:44 +00:00
runtime.go Standardize CLI Error Handling (#318) 2026-02-05 06:55:49 +00:00
strings.go feat: git command, build improvements, and go fmt git-aware (#74) 2026-02-01 10:48:44 +00:00
styles.go feat: git command, build improvements, and go fmt git-aware (#74) 2026-02-01 10:48:44 +00:00
utils.go feat: git command, build improvements, and go fmt git-aware (#74) 2026-02-01 10:48:44 +00:00