NBA Feed
팀 뉴스와 경기 정보를 제공, 점수는 직접 확인할 때까지 숨겨져 있습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기An open, local-first file format for an athlete's training and recovery data, built for AI agents to read. Device measurements and self-reported notes stay separate.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Athletic Standard is an open, local-first record for training and recovery data. The live record is one SQLite database:
athlete.ath.sqlite
The ath command reads and writes that database. Local use needs no account,
network connection, subscription, or hosted service.
Athletic Standard keeps measured records separate from athlete reports. A measured record must name its source. An athlete report cannot name one. Sources also remain separate when two devices measure the same quantity.
Not an app, not a coach, not medical advice.
The database contains sensitive health and training data. Athletic Standard creates local files with owner-only permissions where the operating system supports them, but it does not encrypt the database itself. Use operating-system disk encryption. Anyone who can read the database file can read the athlete record.
Athletic Standard needs Node.js 22 or newer.
SQL schema migration (ath migrate) and confirmed ath repair use the sqlite3
command-line tool for verified backups. Install it and ensure it is on PATH before
running either command.
When typed-table columns disagree with the current revision in meaning (for example
after direct SQL edits), run ath repair -y --from-revision --confirm-revision-align <database-id> after reviewing the preview. Each attempt
writes a new .repair-backup.*.sqlite file beside the database; failed attempts
leave that file in place for restore.
npm install -g athleticstandard
This installs the ath command. npx athleticstandard can be used instead of a
global install.
Run ath --update to update the package. Run ath skill install to refresh the
local agent skill without updating the package.
TypeScript and JavaScript callers can import the public parts directly:
import { AthleticStandardPackage } from "athleticstandard/schema";
import { openDatabase, queryMeasurements } from "athleticstandard/database";
The JSON schemas are exported as athleticstandard/json-schema,
athleticstandard/json-schema/export-manifest, and
athleticstandard/json-schema/measurement-series. The Agent Skill is exported as
athleticstandard/skill. The retired prerelease JSON runtime is not part of the v1
package API.
mkdir training-record
cd training-record
ath init
ath init asks for optional profile fields and creates
athlete.ath.sqlite. It also adds a manual source and the standard benchmark
definitions. Pass --timezone America/Chicago to set the default IANA timezone for
calendar calculations.
The command installs the agent skill into .agents/skills/ and supported agent
folders already present. Pass --no-skill to skip that step.
Use an empty database only as the destination for a complete v1 restore:
ath init --empty -y
ath import ./saved-package
ath import ./saved-package --yes
Athletic Standard v1 does not import prerelease 0.x Athletic Standard documents.
The old npm package remains available for reading those files.
ath import reads Apple Health, WHOOP, Oura, and complete Athletic Standard v1
packages. The first run is always a preview:
ath import ~/Downloads/apple_health_export.zip
Provider previews report new, matching, changed, skipped, and conflicting records. Package previews report new, matching, changed, conflicting, unrepresentable, and unknown records. Unknown or unrepresentable content blocks the write. No option silently discards it. Apply a conflict-free preview with a second command:
ath import ~/Downloads/apple_health_export.zip --yes
Provider rows use route-specific import keys. Importing unchanged data reports a match. Changed data with the same key creates a new revision of the existing record. It does not create a second record.
When a v1 package conflicts with local history, the preview creates a temporary conflict set:
ath conflicts show
ath conflicts resolve <record-id> --choice local
ath conflicts resolve <record-id> --choice imported
ath conflicts resolve <record-id> --choice corrected --data '<complete-data-json>'
ath import ./saved-package --yes
The conflict commands do not change athlete data. The final import writes the non-conflicting records and every chosen resolution in one transaction. A changed package or database makes the choices stale.
Apple Health, WHOOP, and Oura routes remain separate sources. Records from two devices also remain separate. A manual source never enters a device baseline.
ath log is the general creation command. It is also the only command that enters a
benchmark result.
Plain text covers common entries:
ath log RMSSD 61 ms
ath log sore quads 4/5
ath log Fran in 4:41 rx
ath log Meal photo --attachment ./receipt.png
Say RMSSD or SDNN. They are different statistics and never share a baseline.
Structured input is one v1 object or an array of v1 objects. Every item has
record_type and data. Prediction-result links and grades are tool-managed and
cannot be supplied this way:
ath log '{
"record_type": "athlete_report",
"data": {
"report_type": "note",
"reported_at": "2026-10-13T04:00:00.000Z",
"input_reported_at": {
"timestamp_text": "2026-10-13T04:00:00.000Z",
"utc_offset_text": "Z",
"utc_offset_meaning": "documented_recording_offset",
"timestamp_basis": "source_instant"
},
"reported_via": "text",
"note": "Easy session; no soreness."
}
}'
record_id and created_at may be supplied beside record_type. When omitted,
ath creates a UUIDv7 record ID and uses the current time. A structured array is
validated and written in one transaction.
--attachment accepts PNG, JPEG, WebP, and PDF files up to 25 MiB. Pass it more
than once for several files. The log batch must contain exactly one athlete report
or nutrition entry to own them. The file hashes, attachment records, links, and
owner-only stored files are written together after confirmation.
The command shows a preview before writing. --json returns the preview and never
acts as confirmation. After review, run the command without --json and confirm in
the terminal, or pass --yes.
When a new benchmark result matches exactly one open prediction, the same transaction also creates a prediction-result link and a grade. It does not guess when no prediction or several predictions match.
Use the fixed overview first:
ath stats
ath check
Use stable record IDs for revisions and links:
ath records list
ath records list --type prediction
ath records show <record-id> --history --links
ath records list shows current records in stable order. ath records show can
show one retained revision, the full revision history, and incoming or outgoing
links.
Corrections keep the record ID and retain the prior complete state:
ath correct <record-id> --revision 2 --data '<complete-data-json>' --json
ath correct <record-id> --revision 2 --data '<complete-data-json>' --yes
--revision prevents an old preview from overwriting a newer change.
ath link <result-id> <session-id> --revision <current-revision> links a benchmark
result to a workout session. The link is stored as a new revision of the benchmark
result. A stale revision is refused.
Normal deletion and privacy erasure are different operations:
ath delete <record-id> --revision 2 --json
ath erase <record-id> --revision 2 --json
ath delete hides the current record and keeps its revisions. ath erase removes
the record's values, value-bearing revisions, dependent records, and attachment
files. The preview records the database revision and complete dependency set. The
write is refused if either changes before confirmation. Interactive use asks for
normal confirmation and then requires the exact record ID. Non-interactive use
needs both flags:
ath erase <record-id> --revision 2 --reason athlete_request --yes \
--confirm-erasure <record-id>
--json never performs erasure. Erasure cannot remove copies already present in
exports, backups, filesystem
snapshots, SQLite journals, or storage-device history.
Dense samples live in SQLite. There are no separate live sample files.
ath series heart_rate
ath series heart_rate --raw --from 2026-10-01 --to 2026-10-07
ath calculate runs named operations without writing athlete data:
ath calculate baseline hrv_rmssd --from 2026-07-01 --to 2026-09-30
ath calculate summary steps --group day --timezone America/Chicago
ath calculate compare-sources resting_heart_rate \
--source <source-id> --compare-source <other-source-id>
ath calculate baseline recovery --record-kind provider-score
ath calculate provider-period-summary readiness \
--record-kind provider-score --period-type oura_day_unspecified
The operations are summary, baseline, trend, coverage,
compare-sources, correlation, workout-drift, and
provider-period-summary. Record kinds are measurement, provider-score,
provider-summary, and session-summary. Measurements are the default. Naming the
kind prevents a provider score or reported total from being mixed with a sensor
measurement that has a similar name.
provider-period-summary requires --period-type. It groups by the exact Oura day,
WHOOP cycle, or Apple activity-summary day stored on each record. It never relabels
that period as a midnight-to-midnight calendar day.
Results name their method, sources, input revisions, exclusions, range, and timezone or provider period when one was used. A receipt lists at most 1,000 input revisions and says when that list was shortened. Arithmetic refuses more than 100,000 inputs until the request is narrowed. It never calculates from a silently shortened input set. Sources are not pooled. Manual sources are excluded.
ath export ./athlete-backup
SQLite remains the sole live local record. The export is a complete portable snapshot. It does not stay synchronized with the database.
An exported directory contains:
athlete-backup/
athlete.ath.json
series/
<source-id>-<quantity>-000001.ath-series.json
attachments/
<stored attachment files>
export-manifest.json
athlete.ath.json contains every current non-sample record, every retained
non-sample revision, normal deletions, erasure markers, provider import keys, and
references to generated sample files. Each generated sample file contains current
sample records and their history. A large source-and-quantity group is split
across numbered files. The main document lists them in measurement_series_files.
The manifest lists file hashes, byte counts, record counts, the source database
ID, and the database revision.
The export time is absent by default. Two exports from the same database revision
with the same options are byte-identical. Pass a fixed --exported-at value only
when the manifest needs one.
Importing an exported package is explicit and uses the same preview-then---yes
workflow as a provider import.
Inside an agent harness, ask the database for prediction evidence:
ath predict fran --json
This returns evidence, not a prediction. The agent writes a prediction record
through structured ath log.
In a terminal, bare ath predict fran can call a selected model and save its
prediction after confirmation. That optional model call needs a Vercel or OpenRouter
key in the operating-system password store. Local database use does not need that
key or a network connection.
Results are entered with ath log. Explicit grading only joins two records that
already exist:
ath records list --type prediction
ath records list --type benchmark_result
ath grade <prediction-id> --result <result-id> --json
ath grade <prediction-id> --result <result-id> --yes
ath grade never logs a result. It creates a UUIDv7 prediction-result link when one
does not exist. A corrected result revises the existing link, so older grades retain
their exact link revision. The command saves deterministic grade arithmetic against
the current link revision.
A prediction error analysis is a separate authored record written through
structured ath log.
ath backtest replays historical results and writes a report beside the database.
It does not change athlete data.
Every logical record has a stable UUIDv7 ID and numbered revisions. A correction keeps the ID. Evidence names both the record ID and revision.
The format defines 24 record types for profile data, sources, measurements,
sessions, athlete reports, nutrition, attachments, benchmarks, predictions, plans,
goals, and saved authored work. SPEC.md is the public field reference.
The generated v1 JSON Schemas are in schema/1.0.0/.
Provider data research is in
docs/connections.md. The installed agent instructions are
in skill/.
MIT License. See LICENSE. Copyright 2026 Athletic Standard contributors.