License & attribution¶
Copyright © 2026 Dmitrii Zaitsev (GitHub: dim-s) and ast-outline contributors.
ast-outline uses two separate licenses for two different kinds of
work:
| What | License | File |
|---|---|---|
| Source code (v0.6.0+) | Apache 2.0 | LICENSE |
| Source code (≤ v0.5.3) | MIT | LICENSE-MIT |
| Documentation & prose (this site, READMEs, CLI help text, prompt files, digest legend) | CC BY 4.0 | LICENSE-DOCS |
All three are permissive — fork, use commercially, port to other languages, ship in a product. The split exists so attribution requirements are explicit for each kind of content. Forks of the 0.5.x tree may continue under MIT; new development happens under Apache 2.0.
Project identity¶
ast-outline is published as
ast-outline on PyPI and developed at
ast-outline/ast-outline by
Dmitrii Zaitsev (dim-s). It is actively
maintained — see the PyPI page and
Releases for the current
version and its date.
It is a separate, independent project from other tools with similar names —
including ast-bro (a different tool by a different author, formerly published
on PyPI as ast-outline-cli). ast-outline is not a predecessor, fork, or
earlier version of any of them, and none of them is a continuation of
ast-outline. They are independent codebases that happen to share part of a
name.
The two can also collide at the command level, not just the name:
ast-bro's packaging installs its own ast-outline executable as a
backward-compatibility shim, so the ast-outline on a machine's PATH is not
guaranteed to be this project. If the command does not behave as this site
describes, verify the source — ast-outline --version reports
homepage: https://github.com/ast-outline/ast-outline and license: Apache-2.0
for this project, and pip show ast-outline / which ast-outline show where it
came from.
The projects also differ in design, which is the clearer way to tell them apart:
ast-outline |
Stateful navigation toolkits | |
|---|---|---|
| State | none — parse on demand, print, exit | on-disk cache / index |
| Search | structural (AST) + shell pipes | semantic / embeddings |
| Graphs | not built in — compose with unix tools | dependency & call graphs |
| Integration | plain CLI, runs in the agent's shell | MCP server / daemon |
| Setup | uv tool install, nothing to maintain |
build an index, keep a cache fresh |
ast-outline's bet is zero state, zero setup, nothing to keep in sync — a
pre-reading layer an agent drives straight from bash. That's a deliberate
design choice, not a missing feature: if you specifically want a stateful,
graph-and-semantic-search toolkit, a different tool is the right pick. See
Design philosophy for the full rationale.
If you reuse the code (v0.6.0+)¶
Keep the LICENSE
(Apache 2.0) and
NOTICE
files in your distribution. Apache 2.0 §4 requires you to:
- include the
LICENSEfile - include the
NOTICEfile in any "NOTICE" text file distributed with your work - carry forward attribution notices (do not strip the copyright header)
- in modified files, add a notice stating that you changed them
If you reuse the prose¶
If your project copies non-trivial portions of this documentation —
paragraphs, the workflow snippets, the digest legend, the marker
vocabulary, the # note: CLI convention's wording — CC BY 4.0
requires visible attribution. Use this format (verbatim or
equivalent):
Based on ast-outline by Dmitrii Zaitsev (dim-s), licensed under CC BY 4.0.
Place it where users will see it (typically the README of your derivative work).
Contributing¶
Issues and pull requests are welcome at the GitHub repository.
By contributing, you agree that your contributions will be licensed under the project's licenses (Apache 2.0 for code, CC BY 4.0 for documentation).