Initialize project skeleton with CLI and documentation
Add initial project structure including: - Go module with Cobra CLI dependency - Root command and main entrypoint - Basic documentation (README, AGENTS.md, architecture, decisions, development, roadmap) - Configuration example and gitignore - Tool version management with mise - Comprehensive project rules and conventions
This commit is contained in:
8
docs/README.md
Normal file
8
docs/README.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Docs
|
||||
|
||||
| File | Content |
|
||||
|------|---------|
|
||||
| `architecture.md` | Module layout, package boundaries |
|
||||
| `decisions.md` | Technical decisions (ADR) |
|
||||
| `roadmap.md` | Feature progress and status |
|
||||
| `development.md` | Build, test, debug workflow |
|
||||
22
docs/architecture.md
Normal file
22
docs/architecture.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Architecture
|
||||
|
||||
## Code Layout
|
||||
|
||||
```
|
||||
main.go — entrypoint, calls cmd.Execute()
|
||||
cmd/ — cobra commands (root + subcommands)
|
||||
internal/ — private application packages
|
||||
docs/ — project documentation
|
||||
```
|
||||
|
||||
## Packages
|
||||
|
||||
| Package | Purpose | Status |
|
||||
|---------|---------|--------|
|
||||
| `cmd` | CLI command definitions | ✅ skeleton |
|
||||
| `internal/config` | Configuration loading and parsing | ⬜ planned |
|
||||
| `internal/controllers` | HTTP request handlers | ⬜ planned |
|
||||
| `internal/auth` | Authentication (JWT) | ⬜ planned |
|
||||
| `internal/storage` | File storage abstraction | ⬜ planned |
|
||||
|
||||
Add new rows as packages are created.
|
||||
19
docs/decisions.md
Normal file
19
docs/decisions.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Technical Decisions
|
||||
|
||||
Record significant technical decisions as they are made. Use the format below.
|
||||
|
||||
## Template
|
||||
|
||||
```
|
||||
## YYYY-MM-DD: Title
|
||||
|
||||
**Context**: Why this decision was needed.
|
||||
|
||||
**Decision**: What was decided.
|
||||
|
||||
**Consequences**: What this means for the project.
|
||||
```
|
||||
|
||||
## Decisions
|
||||
|
||||
*(None yet. Add entries as decisions are made.)*
|
||||
37
docs/development.md
Normal file
37
docs/development.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Development
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Go 1.26.2 (pinned in `mise.toml`)
|
||||
- `mise` (https://mise.jdx.dev) — run `mise install` to install toolchain
|
||||
|
||||
## Build
|
||||
|
||||
```bash
|
||||
go build ./...
|
||||
go build -o mygo .
|
||||
```
|
||||
|
||||
## Test
|
||||
|
||||
```bash
|
||||
go test ./...
|
||||
go test -v -run TestName ./internal/...
|
||||
```
|
||||
|
||||
## Lint & Format
|
||||
|
||||
```bash
|
||||
go vet ./...
|
||||
go fmt ./...
|
||||
```
|
||||
|
||||
## Config
|
||||
|
||||
Server config is in `config.yaml` (symlink to `config.example.yaml` in development environment).
|
||||
|
||||
```
|
||||
server:
|
||||
host: 0.0.0.0
|
||||
port: 10086
|
||||
```
|
||||
24
docs/roadmap.md
Normal file
24
docs/roadmap.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Roadmap
|
||||
|
||||
See `README.md` for high-level feature list. This file tracks detailed progress.
|
||||
|
||||
## v0
|
||||
|
||||
| Feature | Status | Notes |
|
||||
|---------|--------|-------|
|
||||
| CLI config management | ⬜ planned | |
|
||||
| JWT authentication | ⬜ planned | |
|
||||
| File upload/download/manage APIs | ⬜ planned | |
|
||||
| Admin endpoints | ⬜ planned | |
|
||||
| WebDAV | ⬜ planned | |
|
||||
|
||||
## Future
|
||||
|
||||
| Feature | Status | Notes |
|
||||
|---------|--------|-------|
|
||||
| Image server | ⬜ planned | |
|
||||
| Pastebin & code snippets | ⬜ planned | |
|
||||
| S3 storage backend | ⬜ planned | |
|
||||
| Nextcloud-compatible API | ⬜ planned | |
|
||||
|
||||
Update status after completing related work.
|
||||
Reference in New Issue
Block a user